PackStack一鍵安裝OpenStack

作者:獨筆孤行@TaoCloud
OpenStack自動安裝比手動搭建消耗的硬件資源較大,因此虛擬機或服務器最低配置爲4核CPU+8G內存+20G磁盤,並開啓CPU虛擬化。建議配置爲8核CPU+16G內存或更高配置,並保證服務器能訪問外網。

本次主要測試的成功案例有N、P、Q三個版本,其它版本同樣可以藉助packstack一鍵安裝OpenStack,安裝方式相同。只是Yum源的配置不同而已,主要區別也在於yum源的配置。

成功案例1:Q版OpenStack自動安裝

操作系統:CentOS7.5minimal(其它系統同樣支持)
硬件配置:4vCPU+8G Memory+20G磁盤

1.關閉並禁用防火牆:

# systemctl stop firewalld
# systemctl disable firewalld
# systemctl stop NetworkManager
# systemctl disable NetworkManager

2.關閉selinux:

# setenforce 0

3.編輯/etc/selinux/config文件內容,將SELINUX值enforcing改爲disabled:

SELINUX=disabled

4.配置yum源:

# yum install -y http://rdo.fedorapeople.org/rdo-release.rpm

5.安裝packstack工具

# yum install -y openstack-packstack

6.Packstack一鍵安裝:

# packstack --allinone

註解
無網絡異常時,安裝時間最多不過30分鐘,如果有任務長時間執行無返回結果,需要查看相關日誌查找問題。

成功案例2:N版OpenStack自動安裝

操作系統:CentOS7.4minimal(其它系統同樣支持)
硬件配置:4vCPU+8G Memory+20G磁盤

1.關閉並禁用防火牆:

# systemctl stop firewalld
# systemctl disable firewalld
# systemctl stop NetworkManager
# systemctl disable NetworkManager

2.關閉selinux:

# setenforce 0

3.編輯/etc/selinux/config文件內容,將SELINUX值enforcing改爲disabled:

SELINUX=disabled

4.製作OpenStack-Newton網絡源

cat /etc/yum.repos.d/CentOS-OpenStack-Newton.repo 
[OpenStack-Newton]
name=OpenStack-Newton
baseurl=http://vault.centos.org/7.4.1708/cloud/x86_64/openstack-newton/
gpgcheck=0
enabled=1

5.安裝kvm源

yum install http://mirrors.163.com/centos/7.5.1804/virt/x86_64/kvm-common/centos-release-qemu-ev-1.0-1.el7.noarch.rpm

6.安裝packstack工具

# yum install openstack-packstack

7.Packstack一鍵安裝:

# packstack --allinone

註解
無網絡異常時,安裝時間最多不過30分鐘,如果有任務長時間執行無返回結果,需要查看相關日誌查找問題。

成功案例3:P版OpenStack自動安裝。

操作系統:CentOS7.2(其它系統同樣支持)
硬件配置:4vCPU+8G Memory+20G磁盤

1.關閉並禁用防火牆:

# systemctl stop firewalld
# systemctl disable firewalld
# systemctl stop NetworkManager
# systemctl disable NetworkManager

2.關閉selinux:

# setenforce 0

編輯/etc/selinux/config文件內容,將SELINUX值enforcing改爲disabled:

SELINUX=disabled

3.配置p版yum源

# yum install centos-release-openstack-pike.x86_64

4.禁用掉無法使用的CentOS-QEMU-EV.repo源,可直接刪除該源文件。

# rm -rf /etc/yum.repos.d/CentOS-QEMU-EV.repo

5.手動配置可用的KVM源

[root@OpenStackPike ~]# cat /etc/yum.repos.d/CentOS-KVM.repo 
[CentOS-KVM]
name=CentOS-KVM
baseurl=http://mirror.centos.org/centos/7/virt/x86_64/kvm-common/
gpgcheck=0
enabled=1

6.配置kvm源或執行以下命令安裝:

# rpm -ivh http://mirror.centos.org/centos/7/virt/x86_64/kvm-common/centos-release-qemu-ev-1.0-1.el7.noarch.rpm

7.配置好yum源後安裝applydeltarpm包,防止自動安裝時報錯。

# yum install deltarpm -y

8.安裝packstack工具

# yum install openstack-packstack

9.Packstack一鍵安裝:

# packstack --allinone

常見故障處理排查及使用方法
如下提到的處理方法,適用於以上三個版本的PackStack方式安裝。
1.常見錯誤:

Testing if puppet apply is finished :192.168.20.200_controller.pp
安裝過程卡在此步驟沒有任何反應。
分析:網絡正常情況下此過程不超過30分鐘。時間過長時,需要確認關閉NetworkManger、selinux、firewalld。還可檢查硬件配置,建議4核CPU+8GB內存或更高配置。還無法解決後可添加至2個網卡、2個磁盤。

2.PackStack日誌信息:

PackStack安裝過程中的日誌在 /var/tmp/packstack/ 目錄中。無法解決問題時可查看該目錄下相關日誌信息。

3.常見認證文件:

執行packstack --allinone安裝命令後,會在執行目錄下生成
keystonerc_admin 、keystonerc_demo、packstack-answers-20181025-111102.txt三個文件。可查看keystonerc_admin文件內容獲取登錄Dashboard的用戶名和密碼。安裝過程的相關配置信息記錄在packstack-answers-20181025-111102.txt文件中。執行OpenStack操作命令前需要執行source keystonerc_admin命令h獲取管理員認證。

4.安裝成功過程記錄:

[root@newton ~]# packstack --allinone
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20181025-111101-o7nt5l/openstack-setup.log
Packstack changed given value  to required value /root/.ssh/id_rsa.pub

Installing:
Clean Up                                             [ DONE ]
Discovering ip protocol version                      [ DONE ]
Setting up ssh keys                                  [ DONE ]
Preparing servers                                    [ DONE ]
Pre installing Puppet and discovering hosts' details [ DONE ]
Preparing pre-install entries                        [ DONE ]
Setting up CACERT                                    [ DONE ]
Preparing AMQP entries                               [ DONE ]
Preparing MariaDB entries                            [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Preparing Keystone entries                           [ DONE ]
Preparing Glance entries                             [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Preparing Cinder entries                             [ DONE ]
Preparing Nova API entries                           [ DONE ]
Creating ssh keys for Nova migration                 [ DONE ]
Gathering ssh host keys for Nova migration           [ DONE ]
Preparing Nova Compute entries                       [ DONE ]
Preparing Nova Scheduler entries                     [ DONE ]
Preparing Nova VNC Proxy entries                     [ DONE ]
Preparing OpenStack Network-related Nova entries     [ DONE ]
Preparing Nova Common entries                        [ DONE ]
Preparing Neutron LBaaS Agent entries                [ DONE ]
Preparing Neutron API entries                        [ DONE ]
Preparing Neutron L3 entries                         [ DONE ]
Preparing Neutron L2 Agent entries                   [ DONE ]
Preparing Neutron DHCP Agent entries                 [ DONE ]
Preparing Neutron Metering Agent entries             [ DONE ]
Checking if NetworkManager is enabled and running    [ DONE ]
Preparing OpenStack Client entries                   [ DONE ]
Preparing Horizon entries                            [ DONE ]
Preparing Swift builder entries                      [ DONE ]
Preparing Swift proxy entries                        [ DONE ]
Preparing Swift storage entries                      [ DONE ]
Preparing Gnocchi entries                            [ DONE ]
Preparing MongoDB entries                            [ DONE ]
Preparing Redis entries                              [ DONE ]
Preparing Ceilometer entries                         [ DONE ]
Preparing Aodh entries                               [ DONE ]
Preparing Nagios server entries                      [ DONE ]
Preparing Nagios host entries                        [ DONE ]
Preparing Puppet manifests                           [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 192.168.20.200_controller.pp
192.168.20.200_controller.pp:                        [ DONE ]           
Applying 192.168.20.200_network.pp
192.168.20.200_network.pp:                           [ DONE ]        
Applying 192.168.20.200_compute.pp
192.168.20.200_compute.pp:                           [ DONE ]        
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]

 **** Installation completed successfully ******

Additional information:
 * A new answerfile was created in: /root/packstack-answers-20181025-111102.txt
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * Warning: NetworkManager is active on 192.168.20.200. OpenStack networking currently does not work on systems that have the Network Manager service enabled.
 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.20.200. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.20.200/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * To use Nagios, browse to http://192.168.20.200/nagios username: nagiosadmin, password: 97167e4c4377483d
 * The installation log file is available at: /var/tmp/packstack/20181025-111101-o7nt5l/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20181025-111101-o7nt5l/manifests

以上過程爲安裝成功時的全部信息,由於沒有關閉NetworkManager導致出現警告信息,需要手動執行如下命令關閉NetworkManager:

systemctl disable NetworkManger 
systemctl stop NetworkManager

由於國內yum網絡源經常更新,以上yum源如有無法訪問情況,可在評論去留言,以便我及時更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章