架構介紹python
本次案列爲基本的三節點部署mysql
一:網絡:linux
1.管理網絡:192.168.198.0/24sql
2.數據網絡:10.0.0.0/24mongodb
二:操做系統:數據庫
CentOS Linux release 7.3.1611 (Core)vim
三:內核:centos
3.10.0-514.el7.x86_64緩存
四:版本服務器
openstack版本otaka
五:存儲節點暫時不加入,後續完成再更新博客
依賴軟件安裝
1. 配置host解析,關閉防火牆、SELinux
在全部節點上均修改
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.198.128 controller01 192.168.198.129 compute01 192.168.198.130 network01
在全部節點上運行
systemctl stop firewalld systemctl disable firewalld setenforce 0 vim vim /etc/sysconfig/selinux SELINUX=disabled
2. 下載安裝官網獲取軟件包源
在全部centos系統節點上執行:
1 yum install -y centos-release-openstack-ocata.noarch
3. 製做yum緩存並更新系統
在全部節點上運行
1 yum makecache && yum install vim net-tools -y&& yum update -y
yum -y update
升級全部包,改變軟件設置和系統設置,系統版本內核都升級
yum -y upgrade
升級全部包,不改變軟件設置和系統設置,系統版本升級,內核不改變
4. 關閉yum自動更新(版本控制)
在全部節點執行,CentOS7最小化安裝後默認yum會自動下載更新,這對許多生產系統是不須要的,能夠手動關閉它
cd /etc/yum ls fssnap.d pluginconf.d protected.d vars version-groups.conf yum-cron.conf yum-cron-hourly.conf vim yum-cron.conf 將download_updates = yes改成no便可
5. 預裝包
在全部節點上運行
1 yum install python-openstackclient -y 2 yum install openstack-selinux -y
6. 統一時間服務部署
在全部節點執行
1 yum install chrony -y
在控制節點執行
vim /etc/chrony.conf # 國家授時中心服務器IP地址 server 210.72.145.44 iburst allow 192.168.198.0/24 systemctl enable chronyd.service systemctl restart chronyd.service
在其他節點執行
vim /etc/chrony.conf server 192.168.198.128 iburst systemctl enable chronyd.service systemctl start chronyd.service
時區不是Asia/Shanghai須要改時區:
# 將硬件時鐘調整爲與本地時鐘一致, 0 爲設置爲 UTC 時間 timedatectl set-local-rtc 1 # 設置系統時區爲上海 timedatectl set-timezone Asia/Shanghai 其實不考慮各個發行版的差別化, 從更底層出發的話, 修改時間時區比想象中要簡單: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
驗證
每臺機器執行:
chronyc sources
在S那一列包含*號,表明同步成功(可能須要花費幾分鐘去同步,時間務必同步)
7. 部署mariadb數據庫
在控制節點執行
yum install mariadb mariadb-server python2-PyMySQL -y vim /etc/my.cnf.d/openstack.cnf [mysqld] bind-address = 控制節點管理網絡ip default-storage-engine = innodb innodb_file_per_table max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 systemctl enable mariadb.service systemctl start mariadb.service mysql_secure_installation
8. 爲Telemetry服務部署MongoDB
在控制節點執行
yum install mongodb-server mongodb -y vim /etc/mongod.conf # 控制節點管理網絡ip bind_ip = 192.168.198.128 smallfiles = true systemctl enable mongod.service systemctl start mongod.service
9. 部署消息隊列rabbitmq
在控制節點執行
yum install rabbitmq-server -y systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service # 新建rabbitmq用戶密碼: rabbitmqctl add_user openstack 123456 # 爲新建的用戶openstack設定權限: rabbitmqctl set_permissions openstack ".*" ".*" ".*" # 驗證方式:http://192.168.198.128:15672/ 用戶:guest 密碼:guest
10. 部署memcached緩存
爲keystone服務緩存tokens
在控制節點執行
1 yum install memcached python-memcached -y 2 systemctl enable memcached.service 3 systemctl start memcached.service
參考博客 http://blog.51cto.com/egon09/1839667