一、安裝環境:
1、 所需物理主機的要求如下
內存:8GB+,推薦16GB;(少於8GB的就免談了)
磁盤:500GB+;
物理機OS:ubuntu-desktop-amd64 14.04(推薦) 或windows64位
物理機安裝軟件:安裝virtualBox4.3.36及以上版本以及相應擴展包(推薦
4.3.36for ubuntu ,5.0.20for windows)。系統需要支持IVT即虛擬化。
2、 如何查看IVT
開機進入系統主板,Advance->Intel Virtualization Tech->設置為enable
3、網絡環境
3.1、Vmware網絡設置:
3.2、雲環境物理網絡規划:
網卡名稱 |
IP地址 |
描述 |
vmnet2 |
10.20.0.0/24 |
PXE網絡 |
vmnet3 |
10.0.0.0/24 |
外部網絡 |
vmnet4 |
192.168.10.0/24 |
管理網絡 |
vmnet5 |
192.168.20.0/24 |
存儲網絡 |
vmnet6 |
192.168.30.0/24 |
私有網絡 |
SSH+PXE網絡:用來通過ssh連接到controller node、compute node操作管理物理服務器;
外部網絡:controller每個節點需要一個外網IP地址,該網絡還用於虛擬機外部網絡訪問(例如:float網絡)
管理網絡:管理網絡OpenStack api網絡;
存儲網絡:機訪問ceph的網絡
私有網絡:租戶網絡(vm網絡)
二、安裝fule
1、fule下載地址:
注意:安裝fule時系統盤的大小最少需要50GB
2、啟動fule-master虛擬機
(如果使用vmware虛擬機創建磁盤的類型為IDE,否則在安裝fuel的時候會報錯),看到如下畫面,選擇第一項,如果要更改PXE網絡的IP地址和子網掩碼等信息,按tab鍵更改,更改完成后按enter進行安裝;推薦默認的IP地址和子網掩碼,這里直接enter進行安裝。
安裝過程不用人為干預,一直等待安裝便可,注意:安裝master的過程強烈推薦使用默認配置,不要更改任何配置,以免安裝完畢出問題。
3、大概10分鍾左右進入setup界面,如下
4、fuel網卡配置
5、設置允許ssh的網段
6、設置PXE地址池
7、配置DNS
8、選擇Bootstrap Image為Skip building bootstrap image,否則會報錯
9、設置ntp服務器地址,一般選擇fuelmaster節點自己
10、保存退出
注意:如果安裝過程中沒有出現上面設置界面輸入fuelmenu命令,進入配置。
配置完成選擇
Quit setup > Save and Quit
繼續等待半個小時左右提示安裝ok即可
通過瀏覽器訪問:https://10.20.0.2:8443(用戶名和密碼都是admin)
注意:如果不進行9.0升級9.2,請轉到第五章節
三、更新fuel9.0版本到fuel9.2
參考連接:
1、安裝fuel9.2的源
yum install -y \
yum clean all
yum makecache
yum install -y mos-updates
2、更新fuelmaster(以下playbook必須在指定路徑執行)
cd mos_playbooks/mos_mu
ansible-playbook playbooks/mos9_prepare_fuel.yml
ansible-playbook playbooks/update_fuel.yml \
-e '{"rebuild_bootstrap":false}'
ansible-playbook playbooks/update_fuel.yml
ansible-playbook \
playbooks/mos9_fuel_upgrade_kernel_4.4.yml
驗證版本更新成功
fuel2 fuel-version
3、制作本地MOS和mirrors源
修改配置文件/usr/share/fuel-mirror/ubuntu.yaml
ubuntu_baseurl http://mirrors.aliyun.com/ubuntu
開始在線同步mirrors源到本地
fuel-createmirror
4、制作bootstrap源
創建bootstrap配置 文件
cd /usr/share/fuel_bootstrap_cli/
cp fuel_bootstrap_cli.yaml.sample fuel_bootstrap_cli.yaml
修改配置文件,取消配置文件95~115行注釋;修改源地址為http://mirrors.aliyun.com
sed –i ‘s/archive.ubuntu.com/mirrors.aliyun.com/g \
fuel_bootstrap_cli.yaml
在線制作bootstraps
fuel-bootstrap build
fuel-bootstrap import /tmp/$uuid.tar.gz
fuel-bootstrap activate
驗證bootstrap制作完成
fuel-bootstrap list
四、創建部署openstack環境
1、創建一個openstack環境
登陸到控制台https://10.20.0.2:8443
點擊創建openstack環境
點擊下一步,選擇虛擬化類型
點擊下一步,選擇網絡類型
點擊下一步,選擇存儲類型
選擇附加服務
點擊新建
2、設置openstack環境
選擇firewalld驅動
設置計算類型
選擇要安裝的服務
設置公開網絡(該網絡如果要部署高可用環境會在三個控制節點配置br-ex網橋並配置業務網絡IP地址,包括創建float網絡時創建router網關也會綁定一個業務IP地址,需要合理的分配IP地址即可)
設置存儲網絡
設置管理網絡
設置私有網絡
設置浮動IP地址段
設置虛擬機網絡(admin用戶創建的租戶網絡)
其他設置,設置完成后點擊保存
3、添加節點
至少需要一個控制節點和兩個計算節點(因為ceph至少要三個監視器Monitors),計算節點需要虛擬機添加2塊100GB磁盤
查看節點
分配控制節點
分配計算節點
配置控制節點網卡
網卡順序:PXE、存儲、管理、私有、公開(部分截圖)
配置計算節點網卡
網卡順序:PXE、存儲、管理、私有、公開(部分截圖)
查看角色
檢測網絡連通性
點擊部署
部署成功
4、部署報錯記錄
ERR (/Stage[main]/Main/Exec[sync_time_shell]/returns) change from notrun to 0 failed: /bin/bash "/etc/puppet/shell_manifests/sync_time_command.sh" returned 1 instead of one of [0]
測試節點使用ntpdate命令無法與fuelmaster節點同步時間,解決ntp-server即可。
ERROR: Unable to communicate with at least one of NTP server, checked the following host(s): ["0.fuel.pool.ntp.org", "1.fuel.pool.ntp.org", "2.fuel.pool.ntp.org"] on node node-1.domain.tld
在openstack各個節點添加host
172.16.1.2 1.fuel.pool.ntp.org
172.16.1.2 0.fuel.pool.ntp..org
172.16.1.2 2.fuel.pool.ntp.org
或者在fuelmaster ntp配置文件中刪除server
Option "verbose" from group "DEFAULT" is deprecated for removal. Its value may be silently ignored in the future.
每個控制節點:
vim /etc/cinder/cinder.conf
注釋掉verbose = true
執行su -s /bin/bash cinder -c "cinder-manage db sync"
五、配置本地源1(可選)
如果安裝完成miranits 9.0后不update到9.2時,從完成第二章節(安裝fule)后,直接開始此章節
1、由於網絡等各種原因需要配置本地源
下載下面2個連接的文件包,傳輸到/var/www/nailgun目錄下
Bootstraps:鏈接:http://pan.baidu.com/s/1nu7lY6P密碼:b3qt
Mirrors :鏈接:http://pan.baidu.com/s/1kVwaZJ5 密碼:hhsc
查看/var/www/nalign目錄文件
2、將下載的mirrors文件上傳到/var/www/nailgn目錄下並解壓。
unzip mirrors.zip
mv mirrors /var/www/nailgun/
運行fuel-createmirror將fuel源地址變為本地源,在執行的過程中可能需要聯網,如果您的fuel master節點不能訪問外網在createmirror的時候會報錯,這個錯誤可以忽略。
fuel-createmirror
3、導入Bootstrap
3.1、先將bootstrap.tar.gz拷貝至master節點的/root目錄下。
[root@fuel ~]# ls
anaconda.cmdline.vars anacondapost-configure-repos.log
anaconda-ks.cfg anaconda-post-configure-sysconfig.log
anaconda-parse-cmdline.log anaconda-post-interface-settings.log
anaconda-post-before-chroot.log anaconda-post-partition.log
anaconda-post-configure-autologon.log bootstrap.tar.gz
3.2、查看是否有激活的bootstrap
3.3、如果沒有使用其他bootstrp文件覆蓋
cp -rf bootstraps /var/www/nailgun/
再次查看
3.4、激活bootstrap
還可以使用在線創建bootstrap
fuel-bootstrap build --activate
3.5、驗證bootstrap