openstack--JUNO10搭建手冊整理1:搭建前準備工作
一、提前宣告:
1.本系列整理只是完整的openstack--JUNO10搭建過程,沒有過多的原理,如果你想詳細瞭解openstack的執行原理及機制,請參考其他資料。
2.openstack--JUNO10對所使用的系統版本有要求,必須是CENTOS7-1406,如果沒有此映象,可以去官網下載,或留言聯絡我。
3.openstack專案不適合初學者,因為過程很繁鎖、複雜,至少是有實際工作半年或更多,有opnestack有興趣的,可以繼續往下看。
4.如果你之前沒接觸或瞭解過openstack,你想在半天或一天之內就搭建出來,我給你的意見是洗洗睡吧,在夢裡你的想法才會實現。
5.在閱讀此文或是你搭建過程中,請你務必保持清醒的頭腦,認真一點,仔細一點,不怕慢,就怕快。你很可能會因為少一個空格或配置檔案寫錯一個字母而報錯,而排錯的過程更辛苦。最終你可能還排不出來。查文件、資料都 沒有用,因為國內網上的大多資料都是相互抄襲,你會發現他們所說的和你遇到的情況不一樣,按照他們那個搞法,你的問題仍然解決不了!
6.請你做好攻堅克難、啃硬骨頭、打硬仗的準備。當遇到挫折的時候不要害怕,不要沮喪,收拾心情,再來,先檢查自己所敲的每一行命令有沒有錯,再檢查配置檔案當中的每個字母有沒有錯。如果都沒有錯,實驗效果仍然達不到的話,恢復快照,一點一點再來一次,或者再一次,要相信自己,you can do it!
7.我不是一個聰明的人,但還算執著,openstack--JUNO10從最初查資料,看視訊,到動手搭建,最終實現全部實驗效果,前後用了22天的時間。直到最後一個實驗效果出來,那一刻,所有的努力付出都是值的!希望看到此文的你也是!相信你會比我更出色!
okay ,are you ready ? let's go
二、基礎環境
本地ip:172.16.253.27(另單獨新增兩個ip地址在高階裡面:10.10.10.100 && 20.20.20.200 netmask=255.255.25.0 )
需要四個節點:controller/computer/network/block/
2.1.伺服器配置
節點 | 數量 |
ip |
網絡卡數量 |
CPU&&記憶體 (理想) |
實際 | 功能 |
controller | 1 | 172.16.253.214 | 1 | 2核 * 2G | 4核 * 2G | 控制節點,時間同步伺服器 |
computer |
1 | 172.16.253.215 | 2 | 4*4 | 4*2.5 | 提供計算能力,建立虛擬機器 |
network | 1 | 172.16.253.216 | 3 | 2*2 | 2*1 | 提供網路,資料通訊(管理網路,例項網路,外部網路) |
block | 1 | 172.16.253.217 | 1 | 1*1 | 2*1 | 提供塊儲存 |
ftp | 1 | 10.68.71.38 | 1 | 4*4 | ftp:epel && yum源伺服器 |
ftp伺服器我搭在別處,你搭在何處不重要,重要的是你在本地可以ping通,可以用ftp連線!
2.2、10.68.71.38上操作:
yum -y install vsftpd useradd pqj passwd pqj #pqj # win + e 資源管理器輸入ftp://pqj:[email protected]
將JUN10版本所用到的epel && yum源上傳到pqj家目錄下
#以後安裝有所有軟體包都在這裡,但同此時官網上已經沒有這個版本的源了。
如果你沒有話可以聯絡我,我會發給你,但檔案比較大約25G.請提前做好準備
2.3伺服器網絡卡配置
節點 | ip:管理網路 | 內部網路 | 外部網路 |
controller | 172.16.253.214 | 無 | 無 |
computer | 172.16.253.215 | 10.10.10.10 | 無 |
network | 172.16.253.216 | 10.10.10.30 | 20.20.20.30 |
block | 172.16.253.217 | 無 | 無 |
2.4.伺服器配置(每個節點都執行) 2.4.1修改網絡卡名稱為ifcfg-eth0 (第一次安裝系統) 在選擇安裝centos系統時 用方向鍵鎖定 install centos 7 然後按下Tab鍵 就會在同頁面的下方顯示一行程式碼,我們就是在這行程式碼最後新增引數,達到永久修改網絡卡名稱的效果: 先空格 空格 在輸入 net.ifnames=0 biosdevname=0 然後回車
2.4.2修改網絡卡配置檔案 cd /etc/sysconfig/network-scripts/
NAME=eth0
MAC=********
UUID=********
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.16.253.214
NETMASK=255.255.255.0
GATEWAY=10.68.71.254
DNS1=10.68.53.164
service network restart
2.4.3修改主機名和hosts檔案
hostnamectl set-hostname controller.nice.com /controller.nice.com /computer.nice.com /block.nice.com
vi /etc/hosts/
172.16.253.214 controller.nice.com controller
172.16.253.215 computer.nice.com computer
172.16.253.216 network.nice.com network
172.16.253.217 block.nice.com block
#小型環境不需要配置dns伺服器,而是配置hosts檔案
2.4.3關閉selinux和防火牆
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
systemctl disable firewalld.service
systemctl stop firewalld.service
2.4.4安裝常用工具
yum -y install vim lrzsz wget curl elinks net-tools ftp
# ftp主要用於yum源 ntp用於時間同步
2.4.5關閉NetworkManager 和安裝yum外掛
systemctl disable NetworkManager.service
systemctl stop NetworkManager.service
yum -y install yum-plugin-priorities #不會在yum -y upgrade的時候版本發生變化
2.4.6配置yum源
cd /etc/yum.repos.d/
mkdir bak
mv * bak
vi ftp.repo
[base]
name=base
baseurl=ftp://pqj:[email protected]/openstack/7/os/x86_64/
enabled=1
gpgcheck=0
[updates]
name=updates
baseurl=ftp://pqj:[email protected]/openstack/7/updates/x86_64/
enabled=1
gpgcheck=0
[extras]
name=extras
baseurl=ftp://pqj:[email protected]/openstack/7/extras/x86_64/
enabled=1
gpgcheck=0
[epel]
name=epel
baseurl=ftp://pqj:[email protected]/openstack/7/epel
enabled=1
gpgcheck=0
[rdo]
name=rdo
baseurl=ftp://pqj:[email protected]/openstack/7/rdo
enabled=1
gpgcheck=0
yum clean all
yum makecache
yum -y upgrade
yum clean all
yum makecache
rm -rf CentOS-*
[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core)
#做完上述操作,reboot ,重啟一下,使selinux=disabled生效
2.5配置時間同步伺服器(controller節點)
yum -y install ntp
vi /etc/ntp.conf
取消註釋21-24行
#新增以下兩行在25-26行
server 127.127.1.0
fudge 127.127.1.0 stratum 10
取消註釋並修改17行 (允許網段)
restrict 172.16.253.0 mask 255.255.255.0 nomodify notra
網段
#date -s 設定時間 如:
date -s 20180926
date -s 10:11:20
systemctl restart ntpd
systemctl enable ntpd
2.6其他節點同步時間伺服器
yum -y install ntp
ntpdate -u 172.16.253.214
echo "ntpdate -u 172.16.253.214" >> /etc/rc.d/rc.local
systemctl restart ntpd
systemctl enable ntpd
#編寫定時任務
crontab -e
*/5 * * * * /usr/sbin/ntpdate -u 172.16.253.214 &> /dev/null
systemctl restart crond
systemctl enable crond
2.7為controller節點安裝資料庫 2.7.1安裝mariadb軟體包並修改配置檔案 yum -y install mariadb mariadb-server MySQL-python vi /etc/my.cnf
#在第9行下方插入以下:
bind-address=172.16.253.214
default-storage-engine=innodb
innodb_file_per_table
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
2.7.2啟動資料庫並設定為開機自啟 systemctl start mariadb systemctl enable mariadb
2.7.3執行資料庫安全初始化 mysql_secure_installation 空格(沒有密碼) --y(建立root密碼pqjpqj)--確認密碼(pqjpqj)--y(移除匿名使用者)--y(不允許遠端登陸)--y(移除測試庫)--y(重新整理許可權表)
安裝完mysql-server 會提示可以執行mysql_secure_installation。執行mysql_secure_installation會執行幾個設定:
--為root使用者設定密碼
--刪除匿名賬號
--取消root使用者遠端登入
--刪除test庫和對test庫的訪問許可權
--重新整理授權表使修改生效
測試:mysql -uroot -ppqjpqj show databases; exit
2.8 controller節點安裝RabbitMQ 2.8.1安裝RabbitMQ軟體包 yum -y install rabbitmq-server
2.8.2啟動服務並設定開機自啟動 systemctl enable rabbitmq-server systemctl start rabbitmq-server
#如果你已經順利做完這些,恭喜你,這是一個好的開始,先給四臺伺服器做個快照,如果以後報錯解決不了的情況下,還原到上一個快照或許就是最好最快的方法!