前言
提示:這里是用VM創建兩台雙網卡 CentOS7.6的虛擬機進行搭建;(配置根據實際情況)
在部署openstack前環境的root目錄的大小就是創建雲主機時能用到的空間,所以給創建centos時多划分空間給root目錄

Controller:8G內存、4vCPU、300G磁盤;
Compute: 8G內存、4vCPU、100G磁盤、200G擴展磁盤;
Compute節點需要用擴展磁盤分兩個區sdb1和sdb2給swift和cinder當后端存儲;
需要用到CentOS-7-x86_64-DVD-1804.iso和IaaS-OpenStack-x86-64_v1.0.iso鏡像
一張網卡100網段(內網卡)手動配置IP;
一張網卡200網段(外網卡)啟用即可(DHCP);
關閉防火牆;

提示:完成了前言所要求的就可以進行以下操作
一、配置基礎環境
配置基礎安裝環境
1. 修改主機名並配置映射文件;
controller:
hostnamectl set-hostname controller
cat /etc/hosts
192.168.100.10 controller
192.168.100.20 compute
compute:
hostnamectl set-hostname compute
cat /etc/hosts
192.168.100.10 controller
192.168.100.20 compute
2. 在Controller安裝Yum源並安裝Vsftp
mv /etc/yum.repos.d/* /home
cat /etc/yum.repos.d/local.repo ##創建一個repo文件
[centos]
name = centos
baseurl = file:///opt/centos ##事先將鏡像上傳並掛載到文件
gpgcheck = 0
enabled = 1
[iaas]
name = iaas
baseurl = file:///opt/iaas/iaas-repo ##事先將鏡像上傳並掛載到文件
gpgcheck = 0
enabled = 1
yum -y install vsftpd
cat /etc/vsftpd.conf ##在最后添加一行
anon_root=/opt ##根據實際情況
3. Compute通過FTP安裝Yum源;
mv /etc/yum.repos.d/* /home
cat /etc/yum.repos.d/ftp.repo ##創建一個repo文件
[centos]
name = centos
baseurl = ftp://192.168.100.10/centos ##事先將鏡像上傳並掛載到文件
gpgcheck = 0
enabled = 1
[iaas]
name = iaas
baseurl = ftp://192.168.100.10/iaas/iaas-repo ##事先將鏡像上傳並掛載到文件
gpgcheck = 0
enabled = 1
yum repolist ##查看Yum列表
二、搭建OpenStack雲平台
1.配置OpenStack的環境變量
先安裝iaas-openstack服務:
yum -y install iaas-openstack
配置OpenStack配置文件
vi /etc/iaas-openstack/openrc.sh
在vim模式下進行操作
%s/# ##將文件內行首的第一個#刪掉
%s/PASS=/PASS=000000 ##將文件中的PASS=替換成PASS=000000
cat /etc/iaas-openstack/openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.100.10 ##Controller節點IP
#Controller HOST Password. example:000000
HOST_PASS=000000 ##Controller節點密碼
#Controller Server hostname. example:controller
HOST_NAME=controller ##Controller節點主機名
#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=192.168.100.20 ##Compute節點IP
#Compute HOST Password. example:000000
HOST_PASS_NODE=000000 ##Compute節點密碼
#Compute Node hostname. example:compute
HOST_NAME_NODE=compute ##Compute節點主機名
#--------------------Chrony Config-------------------##
#Controller network segment IP. example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=192.168.100.0/24 ##兩個節點內網卡所在的網段
#--------------------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=demo
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
#Tunnel Network Interface. example:x.x.x.x
INTERFACE_IP=192.168.100.20 ##(本機內網卡 IP)
#External Network Interface. example:eth1
INTERFACE_NAME=ens34 ##外網網卡名稱(第二張網卡名稱)
#External Network The Physical Adapter. example:provider
Physical_NAME=provider
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200
#--------------------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
BLOCK_DISK=sdb1 ##
#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000
#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2
#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=192.168.100.20 ##Compute節點IP
#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000
#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000
#--------------------Zun Config-----------------------##
#Password for Mysql Zun user. exmaple:000000
ZUN_DBPASS=000000
#Password for Keystore Zun user. exmaple:000000
ZUN_PASS=000000
#Password for Mysql Kuryr user. exmaple:000000
KURYR_DBPASS=000000
#Password for Keystore Kuryr user. exmaple:000000
KURYR_PASS=000000
#--------------------Ceilometer Config----------------##
#Password for Gnocchi 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
#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000
#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
2.一鍵安裝服務
配置好環境變量后開始運行腳本一鍵安裝服務(按順序)
iaas-pre-host.sh ##初始化環境,兩個節點先打
controller:
iaas-install-mysql.sh
iaas-install-keystone.sh
iaas-install-glance.sh
iaas-install-nova-controller.sh
iaas-install-neutron-controller.sh
iaas-install-dashboard.sh
iaas-install-cinder-controller.sh
iaas-install-swift-controller.sh
compute:
iaas-install-nova-compute.sh ##等controller節點的nova跑完再運行
iaas-install-neutron-compute.sh
iaas-install-cinder-compute.sh
iaas-install-swift-compute.sh
3.修改nova配置文件
如果安裝服務時無報錯則繼續
修改nova配置文件(以防創建出來的雲主機無系統)
在Compute節點修改
cat /etc/nova/nova.conf
[libvirt]
virt_type=qemu ##在[libvirt]下添加此行即可
身份認證命令(每次重啟或者CRT重連后第一件事就是打這條身份認證命令)
source /etc/keystione/admin-openrc.sh
4.訪問Web
打開瀏覽器輸入http://192.168.100.10/dashboard

訪問成功即可(demo,admin,000000)
注意:系統信息那里的所有項都必須是激活和啟動

可以通過下面這條命令查看域名用戶和密嗎

到這里搭建OpenStack平台雙節點就結束了,如果有幫助的話可以支持一下博主,右下角按鈕投喂博主。
