1. 程式人生 > >openstack--JUNO10搭建手冊整理1:搭建前準備工作

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

#如果你已經順利做完這些,恭喜你,這是一個好的開始,先給四臺伺服器做個快照,如果以後報錯解決不了的情況下,還原到上一個快照或許就是最好最快的方法!