OpenStack開源云計(jì)算操作系統(tǒng)安裝詳細(xì)步驟-紅帽Linux+PackStack含資源
部署環(huán)境
三臺服務(wù)器可為VMWare Workstation中的三個(gè)虛擬機(jī),注意打開CPU虛擬化選項(xiàng)
- Controller(控制節(jié)點(diǎn))
- CPU 2個(gè)
- 內(nèi)存 4G
- 硬盤 30G
- Compute(計(jì)算節(jié)點(diǎn))
- CPU 2個(gè)
- 內(nèi)存 4G
- 硬盤 30G
- NTP(時(shí)間服務(wù)器)
- CPU 1個(gè)
- 內(nèi)存 1G
- 硬盤 20G
安裝步驟
-
前序步驟:三臺服務(wù)器均安裝RHEL7.1系統(tǒng)或centOS7.1
- 安裝介質(zhì)
- rhel-server-7.1-x86_64-dvd.iso
- 鏈接:https://pan.baidu.com/s/1e_JsJRKmiKiTFM57gcYwYA 提取碼:iw1i
- RHEL7OSP-6.0-2015-02-23.2-x86_64.iso
- 鏈接:https://pan.baidu.com/s/1JMQYDj2P2adXbE_SHZoCTQ 提取碼:kewr
- 紅帽操作系統(tǒng)安裝步驟略
- 網(wǎng)絡(luò)模式配置成host-only
- 安裝介質(zhì)
-
1骂蓖、配置網(wǎng)絡(luò)和計(jì)算機(jī)名(三個(gè)節(jié)點(diǎn))
- Controller
- IP: 192.168.6.66
- 子網(wǎng)掩碼:255.255.255.0
- 網(wǎng)關(guān):192.168.6.254
- DNS: 192.168.6.66
- 計(jì)算機(jī)名: controller
- Compute
- IP: 192.168.6.77
- 子網(wǎng)掩碼:255.255.255.0
- 網(wǎng)關(guān):192.168.6.254
- DNS: 192.168.6.66
- 計(jì)算機(jī)名: compute
- NTP
- IP: 192.168.6.88
- 子網(wǎng)掩碼:255.255.255.0
- 網(wǎng)關(guān):192.168.6.254
- DNS: 192.168.6.66
- 計(jì)算機(jī)名: ntp
- Controller
# 打開網(wǎng)絡(luò)配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=none
NAME=eno16777736
DEVICE=eno16777736
ONBOOT=yes
# 三臺機(jī)器分別設(shè)置為66/77/88
IPADDR=192.168.6.66
NETMASK=255.255.255.0
DNS1=192.168.6.66
# 重啟網(wǎng)絡(luò)生效
systemctl restart network
# 或者
service network restart
# 修改主機(jī)名
hostnamectl set-hostname controller
# 計(jì)算機(jī)名寫入host表
# xshell --> 工具 --> 發(fā)送鍵輸入到所有會話
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 以下為增加內(nèi)容
192.168.6.66 controller
192.168.6.77 compute
192.168.6.88 ntp
- 2积瞒、配置安全(三個(gè)節(jié)點(diǎn))
# 關(guān)閉防火墻
systemctl stop firewalld.service # 本次關(guān)閉
systemctl disable firewalld.service # 開機(jī)不自啟
# 關(guān)閉SELinux(內(nèi)核安全機(jī)制)
vim /etc/selinux/config
SELINUX=disabled # 開機(jī)不自啟
setenforce 0 # 本次關(guān)閉
# 關(guān)閉 NetworkManager 服務(wù)(RHEL7對橋接支持不好)
systemctl disable NetworkManager # 開機(jī)不自啟
systemctl stop NetworkManager.service # 本次關(guān)閉
關(guān)于 selinux
, 可參考 getsebool -a
中的開關(guān)
在國內(nèi),一般直接關(guān)掉防火墻和selinux登下,但從安全角度來說茫孔,強(qiáng)烈不建議這樣做
- 3、配置時(shí)間服務(wù)器(只在ntp服務(wù)器中配置)
- 保證OpenStack各個(gè)節(jié)點(diǎn)的時(shí)間一致被芳,因?yàn)榉?wù)對時(shí)間特別敏感缰贝,OpenStack各組件之間交互特別頻繁,交互關(guān)系特別多
- 時(shí)鐘服務(wù)器一定不可以搭在OpenStack節(jié)點(diǎn)上畔濒,而必須是一個(gè)外部節(jié)點(diǎn)
- 紅帽7中默認(rèn)安裝了新的chronyd時(shí)鐘服務(wù)剩晴,而沒有安裝老的ntpd時(shí)鐘服務(wù)
- packstack安裝OpenStack時(shí),會自動檢測時(shí)鐘服務(wù)chronyd侵状,純開源安裝不會檢測
vim /etc/chrony.conf
# 注釋如下四行赞弥,因?yàn)閚tp是host-only模式,無法連接互聯(lián)網(wǎng)趣兄,故取消上行對時(shí)
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
:set nu # 打開行號
# 取消第29行的注釋绽左,讓ntp服務(wù)器作為最終的時(shí)鐘源
local stratum 10
# 模仿第22行
allow 192.168.6/24 # 允許該網(wǎng)段的主機(jī)向我同步時(shí)間
# 重啟時(shí)鐘服務(wù)
systemctl restart chronyd.service
# 在controller節(jié)點(diǎn)中測試時(shí)鐘服務(wù)器是否設(shè)置成功
date # 查看當(dāng)前時(shí)間
date 11112011 # 將controller節(jié)點(diǎn)時(shí)間改成錯(cuò)誤時(shí)間
ntpdate 192.168.6.88 # 設(shè)置向ntp時(shí)鐘服務(wù)器同步時(shí)間
date # 再次查看當(dāng)前時(shí)間,發(fā)現(xiàn)跟時(shí)鐘服務(wù)器相同了
- 4诽俯、配置yum服務(wù)器和yum倉庫文件(只在yum源服務(wù)器中配置)
- 將NTP服務(wù)器復(fù)用成為yum源
- 新建根文件夾
mkdir /isos
- 通過xftp的sftp協(xié)議將宿主機(jī)windows中的rhel-server-7.1-x86_64-dvd.iso和RHEL7OSP-6.0-2015-02-23.2-x86_64.iso兩個(gè)文件拷貝至linux中的/isos目錄中
- yum源需要使用http共享出去
- 掛載rhel-server-7.1-x86_64-dvd.iso安裝http包
# 利用rhel-server-7.1-x86_64-dvd.iso安裝http包
# 將iso文件掛在到/media上面
mount rhel-server-7.1-x86_64-dvd.iso /media/
# 查看掛在的iso文件
df -h
# 新建本地yum源
cd /etc/yum.repos.d/
vim dvd.repo
[dvd]
name=redhat
baseurl=file:///media
gpgcheck=0
# 利用本地yum源安裝httpd包
cd
yum -y install httpd
# 安裝成功會出現(xiàn)complete!
# 啟動http服務(wù)
systemctl enable httpd
systemctl start httpd
# 在http默認(rèn)目錄下新建兩個(gè)目錄
mkdir /var/www/html/pub
mkdir /var/www/html/openstack
# 卸載之前掛載在/media上的iso文件
umount /media/
df -h # 查看確認(rèn)已卸載
# 進(jìn)入http目錄妇菱,寫一個(gè)index文件
cd /varcd /var/www/html/
vim index.html
hello
# 局域網(wǎng)內(nèi)任意主機(jī)通過瀏覽器訪問網(wǎng)址http://192.168.6.88承粤,可以看到hello
# 將rhel-server-7.1-x86_64-dvd.iso和RHEL7OSP-6.0-2015-02-23.2-x86_64.iso兩個(gè)文件的完整路徑寫入fstab
vim /etc/fstab
/isos/rhel-server-7.1-x86_64-dvd.iso /var/www/html/pub iso9660 defaults 0 0
/isos/RHEL7OSP-6.0-2015-02-23.2-x86_64.iso /var/www/html/openstack iso9660 defaults 0 0
# 掛載并驗(yàn)證是否成功
mount -a # 掛載暴区,看到如下反饋
mount: /dev/loop0 is write-protected, mounting read-only
mount: /dev/loop1 is write-protected, mounting read-only
df -h # 驗(yàn)證,看到如下反饋
/dev/loop0 3.7G 3.7G 0 100% /var/www/html/pub
/dev/loop1 515M 515M 0 100% /var/www/html/openstack
# 瀏覽器訪問驗(yàn)證可以查看iso光盤中的內(nèi)容
# http://192.168.6.88/pub
# http://192.168.6.88/openstack
# 更改yum源地址
# 路徑寫到哪一層辛臊,取決于repodata在哪一層
cd /var/www/http/openstack
# 發(fā)現(xiàn)在RH7-RHOS-6.0和RH7-RHOS-6.0-Installer目錄下都有repodata仙粱,所以配置兩個(gè)yum源倉庫,最終結(jié)果如下
vim /etc/yum.repos.d/dvd.repo
[dvd]
name=redhat
baseurl=http://192.168.6.88/pub
gpgcheck=0
[openstack]
name=openstack
baseurl=http://192.168.6.88/openstack/RH7-RHOS-6.0-Installer
gpgcheck=0
[OSP]
name=OSP
baseurl=http://192.168.6.88/openstack/RH7-RHOS-6.0
gpgcheck=0
# 測試yum倉庫是否配置成功
yum clear all
yum list all
cd /var/www/html/openstack/RH7-RHOS-6.0/Packages
# 可以看見yum安裝openstack所有需要的包
# 可以學(xué)習(xí)createrepo -v命令彻舰,了解如何制作repodata文件夾下的內(nèi)容
# 將ntp服務(wù)器中的yum倉庫配置文件拷貝到controller和compute兩臺服務(wù)器的相應(yīng)路徑中伐割,以便另兩臺機(jī)器中能夠通過yum命令自動化安裝openstack
scp /etc/yum.repos.d/dvd.repo root@controller:/etc/yum.repos.d/
至此,其他服務(wù)器安裝時(shí)刃唤,都是遠(yuǎn)程使用ntp服務(wù)器中的yum倉庫進(jìn)行安裝隔心,當(dāng)需要安裝多個(gè)節(jié)點(diǎn)時(shí),會特別方便
- 5尚胞、安裝packstack工具(僅在controller服務(wù)器中操作)
- packstack是用來部署openstack的工具包
- 通過packstack工具生成的應(yīng)答文件可以快速安裝多個(gè)節(jié)點(diǎn)
# 可通過ntp服務(wù)器上面的yum源安裝packstack包
yum -y install openstack-packstack
# 安裝成功會出現(xiàn)complete!
# 查看幫助
packstack --help |more
# 生成應(yīng)答文件硬霍,作為安裝openstack時(shí)的參數(shù),類似于批處理笼裳,安裝過程的批處理
# Generate a template of an answer file, using this option excludes all other options
packstack --gen-answer-file=/root/answers.txt
# 此時(shí)會在 /root/ 目錄下生成應(yīng)答文件 answers.txt, 并得到如下反饋生成一個(gè)公鑰
Packstack changed given value to required value /root/.ssh/id_rsa.pub
# 華為使用TripleO生成lld文件來做這件事
# 該幫助文檔有600多行唯卖,可以在vim中使用如下命令
:set nu # 顯示行號
:set nonu # 取消顯示行號
gg # 跳轉(zhuǎn)到文本第一行
G # 跳轉(zhuǎn)到文本最后一行
:n # 跳轉(zhuǎn)到文本的第n行
/XXX # 搜索XXX并跳轉(zhuǎn)光標(biāo)
n # 搜索后光標(biāo)跳轉(zhuǎn)到下一個(gè)
N # 搜索后光標(biāo)跳轉(zhuǎn)到上一個(gè)
dd # 刪除光標(biāo)所在行
dG # 刪除光標(biāo)所在行到最后一行的所有內(nèi)容
- 6粱玲、規(guī)劃并使用應(yīng)答文件安裝openstack
vim /root/answers.txt
# 設(shè)置NTP服務(wù)器地址
CONFIG_NTP_SERVERS=192.168.8.88
# 設(shè)置ADMIN賬戶密碼
CONFIG_KEYSTONE_ADMIN_PW=redhat
# 設(shè)置HORIZON_SSL加密,使得登錄時(shí)使用https而不是http
CONFIG_HORIZON_SSL=y
# 關(guān)閉PROVISION_DEMO演示環(huán)境拜轨,若打開演示抽减,會默認(rèn)做好網(wǎng)絡(luò)、鏡像橄碾,還分發(fā)一個(gè)云主機(jī)
CONFIG_PROVISION_DEMO=n
# 設(shè)置計(jì)算節(jié)點(diǎn)IP地址
CONFIG_COMPUTE_HOSTS=192.168.6.77
# 可同時(shí)設(shè)置多個(gè)計(jì)算節(jié)點(diǎn)卵沉,甚至可將控制節(jié)點(diǎn)復(fù)用為計(jì)算節(jié)點(diǎn),此處不做下面的設(shè)置
CONFIG_COMPUTE_HOSTS=192.168.6.77,192.168.6.66
# 通過應(yīng)答文件法牲,自動化安裝openstack
packstack --answer-file=/root/answers.txt
# 安裝過程需輸入控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)的密碼偎箫,并會傳輸秘鑰,以便自動化安裝過程中不需要再次輸入密碼
# 如果時(shí)鐘同步出了問題皆串,安裝將無法進(jìn)行淹办。不需要知道時(shí)鐘服務(wù)器的密碼
# 安裝成功后應(yīng)能看到下面的文字
**** Installation completed successfully ******
# 通過訪問https://192.168.6.66/dashboard進(jìn)入openstack
# 用戶名/密碼為:admin/redhat