使用两台虚拟机,每个都有两张网卡,如下表
主机名 | 第一张网卡(NAT)ens33 | 第二张网卡(仅主机)ens34 |
controller | 192.168.1.10 | 192.168.10.10 |
compute | 192.168.1.100 | 192.168.10.100 |
一、基础配置
关闭防火墙(两台都要做)
[root@controller /]# systemctl stop firewalld
[root@controller /]# systemctl disable firewalld
[root@controller /]# setenforce 0
[root@controller /]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #将enforcing修改为disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
修改host文件(两台都要做)
controller主机
[root@controller ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.10 controller
192.168.10.100 compute
compute主机
[root@compute yum.repos.d]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.10 controller
192.168.10.100 compute
二、配置yum源(controller)
上传XianDian-IaaS-v2.2.iso到controller主机
[root@controller ~]# ls
anaconda-ks.cfg XianDian-IaaS-v2.2.iso
[root@controller ~]# cd /etc/yum.repos.d/
[root@controller yum.repos.d]# mkdir /repo
[root@controller yum.repos.d]# mv * /repo
[root@controller yum.repos.d]# vi a.repo
[c7]
baseurl=file:///cdrom
gpgcheck=0
enabled=1
[iaas]
baseurl=file:///iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller yum.repos.d]# mkdir /iaas
[root@controller yum.repos.d]# mount /dev/sr0 /cdrom
mount: /dev/sr0 写保护,将以只读方式挂载
[root@controller yum.repos.d]# mount /root/XianDian-IaaS-v2.2.iso /iaas
mount: /dev/loop0 写保护,将以只读方式挂载
[root@controller iaas]# yum repolist
已加载插件:fastestmirror
源 'c7' 在配置文件中未指定名字,使用标识代替
源 'iaas' 在配置文件中未指定名字,使用标识代替
Loading mirror speeds from cached hostfile
c7 | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
iaas/primary_db | 2.3 MB 00:00:00
源标识 源名称 状态
c7 c7 4,067
iaas iaas 1,688
repolist: 5,755
三、使用ftp配置compute的yum源
controller主机
[root@controller ~]# yum install vsftpd -y
[root@controller ~]# systemctl start vsftpd
[root@controller ~]# vi /etc/vsftpd/vsftpd.conf
anon_root=/iaas (在文件内任意处加入这段内容)
[root@controller ~]# systemctl restart vsftpd
[root@controller ~]# systemctl enable vsftpd
compute主机
[root@compute ~]# cd /etc/yum.repos.d/
[root@compute yum.repos.d]# mkdir /repo
[root@compute yum.repos.d]# mv * /repo
[root@compute yum.repos.d]# vi a.repo
[ftp]
baseurl=ftp://controller/iaas-repo
gpgcheck=0
enabled=1
[c7]
baseurl=file:///cdrom
gpgcheck=0
enabled=1
[root@compute yum.repos.d]# mkdir /cdrom
[root@compute yum.repos.d]# mount /dev/sr0 /cdrom
[root@compute yum.repos.d]# yum repolist
已加载插件:fastestmirror
源 'ftp' 在配置文件中未指定名字,使用标识代替
源 'c7' 在配置文件中未指定名字,使用标识代替
Determining fastest mirrors
c7 | 3.6 kB 00:00:00
ftp | 2.9 kB 00:00:00
(1/3): c7/group_gz | 165 kB 00:00:00
(2/3): ftp/primary_db | 2.3 MB 00:00:00
(3/3): c7/primary_db | 3.2 MB 00:00:00
源标识 源名称 状态
c7 c7 4,067
ftp ftp 1,688
repolist: 5,755
四、在两个节点上创建一个空分区 (每个节点都完成一次以下内容)
添加一个新硬盘
重启虚拟机
[root@compute ~]# init 6
分区
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 4.4G 0 rom
[root@compute ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xe24a35f7 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 4.4G 0 rom
[root@compute ~]#
五、安装iaas-xiandian(两个节点都要)
controller主机
[root@controller ~]# mount /root/XianDian-IaaS-v2.2.iso /iaas
[root@controller ~]# mount /dev/sr0 /cdrom
[root@controller ~]# yum install -y iaas-xiandian
compute主机
[root@compute ~]# mount /dev/sr0 /cdrom
[root@compute ~]# yum install -y iaas-xiandian
修改openrc.sh文件
[root@controller ~]# cd /etc/xiandian/
[root@controller xiandian]# rm -rf openrc.sh
[root@controller xiandian]# vi openrc.sh
#复制下面整段到openrc.sh内
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
#改为controller节点的ip
HOST_IP=192.168.10.10
#Controller Server hostname. example:controller
#改为controller节点的主机名
HOST_NAME=controller
#Compute Node Manager IP. example:x.x.x.x
#改为compute节点的ip
HOST_IP_NODE=192.168.10.100
#Compute Node hostname. example:compute
#改为compute节点的主机
HOST_NAME_NODE=compute
#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack
#Password for rabbit user .example:000000
RABBIT_PASS=000000
#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000
#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=xiandian
ADMIN_PASS=000000
DEMO_PASS=000000
#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000
#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000
#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000
#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000
#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000
#--------------------Neturon Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000
#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000
#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000
#External Network Interface. example:eth1
#外网卡的名字(nat网卡的名字)
INTERFACE_NAME=ens33
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=
#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000
#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000
#Cinder Block Disk. example:md126p3
#在controller节点创建的空分区
BLOCK_DISK=sdb1
#--------------------Trove Config--------------------##
#Password for Mysql Trove User. exmaple:000000
TROVE_DBPASS=000000
#Password for Keystore Trove User. exmaple:000000
TROVE_PASS=000000
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
#The NODE Object Disk for Swift. example:md126p4.
#compute节点上的空分区
OBJECT_DISK=sdb1
#The NODE IP for Swift Storage Network. example:x.x.x.x.
#compute节点的ip
STORAGE_LOCAL_NET_IP=192.168.10.100
#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
#--------------------Ceilometer Config----------------##
#Password for Mysql ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000
#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000
#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000
#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000
给予文件权限,将opencr.sh传给compute节点
[root@controller xiandian]# chmod 755 openrc.sh
[root@controller xiandian]# scp /etc/xiandian/openrc.sh root@192.168.10.100:/etc/xiandian
六、脚本安装
controller主机
iaas-pre-host.sh
重启虚拟机,重新挂载,使用脚本安装
[root@controller ~]# init 6
[root@controller ~]# mount /root/XianDian-IaaS-v2.2.iso /iaas
[root@controller ~]# mount /dev/sr0 /cdrom
[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# iaas-install-nova-controller.sh
[root@controller ~]# iaas-install-neutron-controller.sh
[root@controller ~]# iaas-install-neutron-controller-gre.sh
[root@controller ~]# iaas-install-dashboard.sh
compute主机
[root@compute ~]# iaas-pre-host.sh
重启虚拟机,重新挂载
[root@compute ~]# iaas-install-nova-compute.sh
[root@compute ~]# iaas-install-neutron-compute.sh
[root@compute ~]# iaas-install-neutron-compute-gre.sh