注:完全參考官方文檔實驗,僅學習記錄,後續不作說明。
http://docs.openstack.org/liberty/install-guide-rdo/index.html
使用VBOX實驗,創建2個虛擬機分別用於控制和計算節點,分配2個網卡,其中一個網卡可以使用“NAT網絡”,將自動生成的網卡設置爲10.0.0.1,作爲虛擬機網關同時以便實體機能直接訪問虛擬機。另一個網卡使用橋接模式。如果使用XSHELL連接,可以使用“NAT網絡”中端口映射以便訪問10.0.0.X。使用“NAT網絡”而不是“NAT”的好處一可以定義IP地址段,二可以上網。其他節點僅需分配一個網卡,使用“NAT網絡”。
一.環境準備
1.1配置網卡,設置靜態IP地址和DNS,VBOX中網卡需要開啓混雜模式,即”允許全部“
[root@controller1 ~]#vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 [root@controller1 ~]#vi /etc/resolv.conf [root@compute1 ~]#vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 [root@compute1 ~]#vi /etc/resolv.conf
1.2設置主機名稱和HOSTS文件並PING測試
[root@controller1 ~]# hostnamectl set-hostname controller1 [root@controller1 ~]# vi /etc/hosts 10.0.0.11 controller1 controller1 10.0.0.31 compute1 10.0.0.41 block1 10.0.0.51 object1 10.0.0.52 object2 [root@controller1 ~]# hostnamectl status [root@compute1 ~]#hostnamectl set-hostname compute1 [root@compute1 ~]#vi /etc/hosts 10.0.0.11 controller1 controller1 10.0.0.31 compute1 10.0.0.41 block1 10.0.0.51 object1 10.0.0.52 object2 [root@compute1 ~]# hostnamectl status
1.3關閉防火牆和SELINUX
[root@compute1 ~]# systemctl stop firewalld.service [root@compute1 ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. [root@compute1 ~]# vi /etc/selinux/config SELINUX=disabled
1.4更新系統
[root@compute1 ~]# yum update
2.1配置時間同步(controller1)
[root@comtroller1 ~]# yum remove chrony [root@compute1 ~]# yum install ntp [root@comtroller1 ~]# vi /etc/ntp.conf restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap server s2m.time.edu.cn server 210.72.145.44 restrict 210.72.145.44 nomodify notrap noquery server 127.127.0.1 fudge 127.127.0.1 stratum 10 [root@comtroller1 ~]# systemctl start ntpd.service [root@comtroller1 ~]# systemctl enable ntpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
2.2配置節點時間同步(compute1)
[root@compute1 ~]# yum remove chrony [root@compute1 ~]# yum install ntp [root@compute1 ~]# vi /etc/ntp.conf server controller1 restrict controller1 nomodify notrap noquery server 127.127.0.1 fudge 127.127.0.1 stratum 10 [root@compute1 ~]# systemctl start ntpd.service [root@compute1 ~]# systemctl enable ntpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service. [root@compute1 ~]# ntpstat synchronised to NTP server (10.0.0.11) at stratum 5 time correct to within 113 ms polling server every 64 s [root@compute1 ~]# ntpdate -u 10.0.0.11 14 Jul 14:51:51 ntpdate[15782]: adjust time server 10.0.0.11 offset -0.011970 sec [root@compute1 ~]# hwclock --systohc
3.1安裝OpenStack packages
[root@controller1 ~]# yum install centos-release-openstack-liberty
3.2更新系統
[root@controller1 ~]# yum upgrade
3.3安裝OpenStack客戶端
[root@controller1 ~]# yum install python-openstackclient
3.4如果開啓了SELINUX,則需要安裝如下包
[root@controller1 ~]# yum install openstack-selinux
4.1數據庫安裝
[root@comtroller1 ~]# yum install mariadb mariadb-server MySQL-python
4.2拷貝並編輯配置文件
[root@comtroller1 ~]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf.d/mariadb_openstack.cnf [root@comtroller1 ~]# vi /etc/my.cnf.d/mariadb_openstack.cnf [mysqld] bind-address = 10.0.0.11 default-storage-engine = innodb innodb_file_per_table collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' character-set-server = utf8
4.3啓動和設置開機自啓動
[root@comtroller1 ~]# systemctl enable mariadb.service [root@comtroller1 ~]# systemctl start mariadb.service
4.4設置數據庫密碼
[root@comtroller1 ~]# mysql_secure_installation
4.5驗證數據庫配置
[root@comtroller1 ~]# mysql -uroot -p
5.1安裝mongodb (nosql數據庫,僅安裝Telemetry 時需要)
[root@comtroller1 ~]# yum install mongodb-server mongodb
5.2編輯配置文件
[root@comtroller1 ~]# vi /etc/mongod.conf bind_ip = 10.0.0.11 smallfiles = true ##此處可選配置,手冊描述和實際有差,待確認
5.3啓動和設置開機自啓動
[root@controller1 mongodb]# systemctl enable mongod.service Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service. [root@controller1 mongodb]# systemctl start mongod.service
6.1安裝消息隊列rabbitmq
[root@controller1 ~]# yum install rabbitmq-server
6.2啓動和設置開機自啓動
[root@controller1 ~]# systemctl enable rabbitmq-server.service Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service. [root@controller1 ~]# systemctl start rabbitmq-server.service
6.3添加用戶並設置密碼
[root@controller1 ~]# rabbitmqctl add_user openstack openstack Creating user "openstack" ...
6.4設置用戶權限
[root@controller1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ...