1. 程式人生 > 其它 >Openstack離線安裝系統-1利用answer檔案安裝

Openstack離線安裝系統-1利用answer檔案安裝

0. 環境資源規劃

  • 硬體資源配置單
硬體資源 配置
cpu 4核
記憶體 10G(至少6.5G)
硬碟 100G
  • 軟體資源配置單
軟體資源 版本
Vmware fusion/workstation 15.0
cent os7 x86_64-Minimal-2009.iso(建議從阿里雲映象站下載)
  • 網路規劃配置單
網絡卡 ip
ens33 192.168.64.105

1. 環境配置

  • 關閉防火牆
# 關閉防火牆
systemctl stop firewalld
# 開機禁止啟動
systemctl disable firewalld
  • 關閉selinux
vi /etc/sysconfig/selinux
在第7行設定SELINUX=disabled
  • 修改主機名
hostnamectl set-hostname controller
  • 關閉NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
  • 配置本地yum源
# 移除原系統自帶的repo。
mkdir ori_repo-config
# 移動之前的repo到備份檔案架
mv /etc/yum.repos.d/* ./ori_repo-config/
# 建立新的repo檔案
vi /etc/yum.repos.d/CentOS-PrivateLocal.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.2.166/yumrepository/base/
gpgcheck=0
enabled=1
 
[updates]
name=CentOS-$releasever - Updates
baseurl=http://192.168.2.166/yumrepository/updates/
gpgcheck=0
enabled=1
 
[extras]
name=CentOS-$releasever - Extras
baseurl=http://192.168.2.166/yumrepository/extras/
gpgcheck=0
enabled=1
 
[centos-openstack-train]
name=CentOS-7 - OpenStack train
baseurl=http://192.168.2.166/yumrepository/centos-openstack-train/
gpgcheck=0
enabled=1
 
[centos-qemu-ev]
name=CentOS-$releasever - QEMU EV
baseurl=http://192.168.2.166/yumrepository/centos-qemu-ev/
gpgcheck=0
enabled=1
 
[centos-ceph-nautilus]
name=CentOS-7 - Ceph Nautilus
baseurl=http://192.168.2.166/yumrepository/centos-ceph-nautilus/
gpgcheck=0
enabled=1
 
[centos-nfs-ganesha28]
name=CentOS-7 - NFS Ganesha 2.8
baseurl=http://192.168.2.166/yumrepository/centos-nfs-ganesha28/
gpgcheck=0
enabled=1

重新構建yum快取

yum clean all
yum makecache
  • 配置時間同步
ntpdate xxx.xx.xx(選擇區域網內時間同步伺服器)
  • 配置hosts
vi /etc/hosts
192.168.64.104 controller
  • 配置網絡卡為eth0
vi /etc/sysconfig/network-scripts/ifcfg-ens33
# 修改device=eth0
DEVICE=eth0
NAME=eth0
# 重新命名該網路配置檔案為ifcfg-eth0
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
# 編輯grub檔案 在第6行處新增
vi /etc/default/grub
net.ifnames=0 biosdevname=0
# 重新生成GRUB配置並更新核心引數
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

2. 安裝

  • 安裝packstack
yum install -y openstack-packstack
  • 生成應答檔案
packstack --gen-answer-file=/root/test-answer.ini
  • 修改配置檔案
CONFIG_DEFAULT_PASSWORD=123456    
CONFIG_MANILA_INSTALL=n
CONFIG_NOVA_INSTALL=y
CONFIG_NEUTRON_INSTALL=y
CONFIG_HORIZON_INSTALL=y
CONFIG_SWIFT_INSTALL=n
CONFIG_CEILOMETER_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_PANKO_INSTALL=n
CONFIG_SAHARA_INSTALL=n
CONFIG_HEAT_INSTALL=n
CONFIG_MAGNUM_INSTALL=n
CONFIG_TROVE_INSTALL=n
CONFIG_IRONIC_INSTALL=n
CONFIG_CLIENT_INSTALL=y
CONFIG_DEBUG_MODE=n
CONFIG_CONTROLLER_HOST=9.111.x.x       這個就是controller節點的地址,一般就是主節點的地址,主節點意思就是選擇一個資源比較好的節點充當主節點
CONFIG_COMPUTE_HOSTS=9.111.x.x, 9.111.x.x 這個是compute節點的地址,一般就是除了主節點剩下的地址,如果你只有兩臺,那麼就兩臺節點地址都寫上,用逗號隔開
CONFIG_NETWORK_HOSTS=9.111.x.x       這個是network節點的地址,一般就是主節點的地址
CONFIG_VMWARE_BACKEND=n
CONFIG_STORAGE_HOST=9.111.x.x     
CONFIG_SAHARA_HOST=9.111.x.x    這個和上面那個註釋寫的不支援了,所以就別管
CONFIG_MARIADB_HOST=9.111.x.x   這個就是openstack的資料庫的地址,一般就是主節點的地址
CONFIG_MARIADB_USER=root     openstack資料庫的使用者名稱
CONFIG_MARIADB_PW=xxx       openstack資料庫的密碼
CONFIG_KEYSTONE_DB_PW=xxx    這個密碼就整個統一的密碼
CONFIG_KEYSTONE_ADMIN_USERNAME=admin    這個是安裝之後dashboard的登入名,建議不改
CONFIG_KEYSTONE_ADMIN_PW=xxx          這個是安裝之後dashboard的登入密碼,改成統一的密碼
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat  這塊加
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan  
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch  
CONFIG_NEUTRON_L2_AGENT=openvswitch 
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  # 此處的physnet1命名會和稍後的網路配置有關。
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
CONFIG_PROVISION_DEMO=n  安裝演示demo. 不建議,需要連線到github.佔用磁碟空間
  • 安裝open-stack
packstack --answer-file=/root/test-answer.ini

報錯1

ERROR : Failed to run remote script, stdout:
stderr: Warning: Permanently added '10.0.1.221' (ECDSA) to the list of known hosts.
+ trap t ERR
+ facter -p
facter: error while loading shared libraries: leatherman_curl.so.1.3.0: cannot open shared object file: No such file or directory
++ t
++ exit 127

解決:leatherman版本高,需要降低到1.3.0

[root@controller ~]# yum list | grep leatherman
leatherman.x86_64                       1.10.0-1.el7             @epel
leatherman-devel.x86_64                 1.10.0-1.el7             epel
[root@controller ~]# yum downgrade leatherman
[root@controller ~]# yum list | grep leatherman
leatherman.x86_64                       1.3.0-9.el7              @openstack-train
leatherman.x86_64                       1.10.0-1.el7             epel
leatherman-devel.x86_64                 1.10.0-1.el7             epel

報錯2

ERROR : Error appeared during Puppet run: 10.0.1.221_controller.pp
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install openstack-keystone' returned 1: Error: Package: python2-qpid-proton-0.26.0-2.el7.x86_64 (openstack-train)
You will find full trace in log /var/tmp/packstack/20211217-144811-4zhqhW/manifests/10.0.1.221_controller.pp.log

解決:python2-qpid-proton-0.26.0-2.el7.x86_64 這個rpm包找不到合適的。在阿里開源社群下載

上傳到controller節點後,使用yum安裝

yum install -y python2-qpid-proton-0.26.0-2.el7.x86_64.rpm

安裝成功後會顯示如圖所示資訊

檢視網路資訊

# 安裝ifconfig依賴 
yum install net-tools.x86_64 -y
# 檢視網路資訊
ifconfig

圖中顯示的ip為寫文件時新建虛擬機器

參考文件

  1. 【執行報錯】Openstack 在部署 Keystone 時出現依賴包報錯 (解決所有安裝時依賴包報錯問題)

  2. Packstack安裝OpenStack問題:facter: error while loading shared libraries: leatherman_curl.so.1.3.0

  3. ifconfig找不到解決

安裝附件

test-answer.ini