參考:1.http://download.csdn.net/download/gamers/9596542html
2.http://weibo.com/p/230418936291410102wi29node
3.http://blog.csdn.net/wiborgite/article/details/52953822python
4.http://blog.csdn.net/titan0427/article/details/51982609linux
vmware網絡配置:
0、前言
不想搭建環境,官方提供測試Fuel9.0的demo環境 http://demo.fuel-infra.org:8000(只要你電腦能上外網)默認用戶名、密碼admingit
1、提早準備
Fuel9.0將會搭載Openstack_Mitaka 版本,這個版本是2016年出的最新版本。web
Fuel在早先的版本中已經去掉了利用Centos來搭建Openstack的環境;shell
在9.0中只使用Ubuntu和Ubuntu + UCA的部署方式。json
1.1 下載 Fuel 鏡像
說明:Fuel鏡像用於部署fuel-master,通常爲BT文件,利用下載工具下載便可。bootstrap
方法一:從官網-註冊下載iso https://www.mirantis.com/software/openstack/releases/#supporteubuntu
方法二:第三方分享的iso直接下載鏈接 http://9f2b43d3ab92f886c3f0-e8d43ffad23ec549234584e5c62a6e24.r60.cf1.rackcdn.com/MirantisOpenStack-9.0.iso
1.2下載Fuel本地源
說明:Fuel鏡像不一樣於Fuel本地源,本地源涉及共2個壓縮大文件mirrors9.zip(3.01GB)和bootstraps.zip(580MB)
MOS9.0 本地源下載:http://pan.baidu.com/s/1gfe69iV 密碼:b2m5
MOS9.0 bootstrap下載:http://pan.baidu.com/s/1gfc4w6n 密碼:o9x4
1.3整體架構
![](http://static.javashuo.com/static/loading.gif)
1.4軟件選擇
官方推薦使用Virtual-box來安裝部署Fuel-master節點.本實驗驗證選用VMware來部署效果不理想,反應用VMware來裝會產生一些問題部署失敗沒法解決,因此在這裏選擇Virtual-box來進行安裝部署.
虛擬機軟件VirtualBox5.1.22官網下載 https://www.virtualbox.org/wiki/Downloads
1.5硬件環境
一、官方推薦使用CPU:4核,以及內存:4G以上、10G網卡、500G物理磁盤.
二、可是在本身玩耍實驗環境下,雙核CPU,4G內存,1000M網卡和60G以上硬盤足夠了,
三、切記的是硬盤不得小於50G,會致使安裝失敗.
四、固然實驗環境下,若是設置爲2G內存會致使安裝速度緩慢、而致使最後會失敗,
因此建議條件允許的狀況下加大設備資源.
部署以前,先要配置VirtualBox三塊虛擬網卡,信息以下:
VirtualBox--全局設置--網絡--僅主機(Host-Only)網絡(H)--
Host-Only Ethernet Adapter
IPv4: 10.20.0.10
Mask:255.255.255.0
DHCP: Unable
Host-Only Ethernet Adapter#2
IPv4: 172.16.0.1
Mask:255.255.255.0
DHCP: Unable
Host-Only Ethernet Adapter#3
IPv4: 192.168.0.1
Mask:255.255.255.0
DHCP: Unable
網卡信息和Fuel的網絡信息要一致。若是自定義,則須要在Fuel設置裏同步更改(改NetworkSetup 和 SecuritySetup 和 PXESetup),否則會部署openstack失敗。
Fuel-master 2C+ 60GB +3網卡+2GB以上內存
Fuel-Controller 1C+120GB+3網卡+4GB
Fuel-Compute 1C+120GB+3網卡+4GB
2、部署Fuel-Master
2.1 建立Fuel-master虛擬機
新建一個虛擬機名稱爲Fuel-master,可自定義。設置內存大小2G
由於Fuel的底層使用的是CentOS7.2 64位,故操做系統版本選擇Red Hat 64-bit
設置磁盤大小60GB+以上爲好
建立以後,點擊設置--系統--處理器2核
設置光驅引導iso鏡像,設置--存儲--沒有盤片--光盤圖標--選擇一個虛擬光盤文件--彈窗選擇下載的MirantisOpenStack-9.0.iso
網卡芯片選擇Intel的PRO/1000,切記混雜模式必定要設置爲Allowall.而且禁用DHCP.
之前嘗試過芯片選擇爲PCnet-PCI結果失敗了。
網卡一、網卡二、網卡3都配置僅主機,混雜模式:所有容許
接下來運行虛擬機,
幾秒鐘後會進入Fuel安裝選擇界面,這裏選擇第一項,而後系統會自動加載和安裝Fuel.
一段時間後進入Fuel-Menu界面你能夠在這裏修改默認密碼和一些設置.
在BootstrapImage選項,選擇Skip building bootstrap image,
由於若是不選擇的話,默認Fuel會從國外獲取源,速度很慢的,會致使安裝失敗.
選擇之後會使用本地源進行部署,後面會說明關於本地源如何下載和加載.
選擇Saveandquit,而後這裏須要等待1分鐘的樣子,由於這裏要檢查更改是否合規,檢查經過後系統就會繼續安裝Fuel了.
通過漫長的等待,具體多久沒法統計了,大概2小時就能夠進入Fuel的登陸界面了.此過程當中切勿關閉或者重啓虛擬機.任何沒必要要的操做均可能致使安裝失敗.而後會出現下面的畫面,到這裏Fuel-master的安裝就結束了.
在瀏覽器打開https://10.20.0.2:8443測試一下是否安裝成功.默認用戶名、密碼admin
若是這裏沒有顯示Fuel的登陸界面,說明安裝中忽略了一些步驟,或者資源分配不足
部署完Fuel-master建議保存快照,以便往後恢復.
2.2 增長本地源
打開 /var/www/nailgun 目錄,用ls發現目錄下如今是沒有mirrors文件夾.
由於我採用的是離線模式安裝,沒有從官方的連接中下載一些必要的庫,所
以從國外找了一些源下載了之後放置在網盤中了.
cd /var/www/nailgun
解壓2個文件包,傳輸到/var/www/nailgun目錄下覆蓋,有衝突的部分直接替換掉.
mirrors文件夾下有兩個文件夾,bootstraps文件夾下有三個文件夾。
使用XFTP軟件將本地源文件mirrors和bootstraps傳到Fuel,具體以下圖.也能夠本身在PC或者
服務器上創建FTP服務器,而後利用wget命令傳輸文件.總之無論用什麼方法均可以,只要能把
文件上傳到相應的文件夾內便可.
cd /var/www/nailgun
ln -s /var/www/bootstraps/d01c72e6-83f4-4a19-bb86-6085e40416e6 active_bootstrap
fuel-createmirrorfuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6
fuel-bootstrap list運行 Fuel-createmirror命令,此命令目的是讓web後臺管理界面的源地址變爲本地地址.
[root@fuelnailgun]#fuel-createmirror
This script is DEPRECATED. Please usefuel-mirrorutility!
Starting new HTTP connection(1):10.20.0.2
Starting new HTTP connection(1):10.20.0.2
Starting new HTTP connection(1):10.20.0.2
Starting new HTTP connection(1):10.20.0.2
Failed to open url-http://mirror.fuel-infra.org/......
......
URLError:
Starting new HTTP connection(1):10.20.0.2
Starting new HTTPconnection (1):10.20.0.2
Starting new HTTPconnection (1):10.20.0.2
Starting new HTTPconnection (1):10.20.0.2
Updating theClusterrepositories...
Updating thereleaserepositories...
Try to update theRelease 'Mitaka on Ubuntu14.04'
Try to update theRelease 'Mitaka on Ubuntu+UCA14.04'
Operations have been completedsuccessfully
更換本地源後和bootstrp後,查看是否有已經激活的bootstrp.
[root@fuel na.]# fuel-bootstrap activated01c72e6-83f4-4a19-bb86-6085e40416e6
若是這裏沒有激活極可能是你下載的文件損壞了.能夠嘗試找其餘bootstrp文件來覆蓋.
3、部署Fuel-node節點虛擬機
新建兩個子節點虛擬機 (controller/compute),設置4G內存,120G磁盤空間.
內存設置低於4G極可能會部署失敗,而且要開啓VT-x和AMD-V,以便支持intel和AMD的CPU開啓硬件虛擬化.若是不開啓極可能會部署失敗.
PS:在VM下面曾經嘗試用4G內存來進行部署,結果失敗不少次,可是仍是成功了,須要拼人品.建議若是在VM下部署失敗建議加大內存.
3個網卡,網卡一、網卡二、網卡3都配置
僅主機,混雜模式:所有容許,網卡芯片選擇Intel的PRO/1000,而且禁用DHCP.
開啓虛擬機後選擇ubuntu_bootstrap啓動.
8.0版本搭載的是Centos7 bootstrap,可是在9.0使用的是Ubuntu 14.04.4的bootstrap.
使用bootstrap引導後,咱們的Fuel-master 就能夠發現節點了.
4、部署Openstack
4.1 登錄
下面開始使用Fuel部署Openstack
登陸https://10.20.0.2:8443/#login
4.2 搭建部署Openstack
新建Openstack環境.
Fuel 9.0 版
本去除了Centos,只保存了Ubuntu的部署方式,可是比以前多出了一個模式叫作Ubuntu+UCA(UCAuse Ubuntucloud archive as a source of packages for Openstackcomponents)在這裏咱們選擇Mitakaon Ubuntu 14.04
配置節點屬性,以下圖所示.
在此定義咱們以前發現的兩個節點.
設置兩個node節點網絡接口
將網絡接口配置改變爲下圖的狀態,鼠標拖拽模塊便可改變.
這裏設置錯誤也會致使部署失敗.
更改網絡default 公開 – IPRange開始172.16.0.3網關172.16.0.2
配置Fuel-master網卡enp0s8一個靜態ip爲172.16.0.2
更改NTPserver地址爲Fuel-master的地址.
設置完成後進行網絡驗證,若有錯誤信息就按照錯誤提示進行修改.
定義完節點後在fuel上使用fuel node命令能夠發現Pending_roles已經發生改變.
點擊DeployChanges 進行部署.
這時Fuel就開始自動部署Openstack了.
第一個步驟是利用CobblerServer安裝Ubuntu系統.
安裝過程當中能夠看到站點的Status變爲了provisioning,含義爲正在部署底層系統.
而且角色也從Pending轉移到roles下面了.
部署完ubuntu14.04之後,Fuel會繼續部署Openstack, 這裏是使用Puppet Master利用SSH協議的SCP命令將Openstack組件部署到node的.
狀態已經更新爲deploying.
通過漫長的等待,以下圖顯示,已經成功安裝部署了節點.
4.3 登錄DashBoard Horizon
點擊Horizon 進行登陸,默認用戶名密碼都是admin.
5、開始使用Openstack
(後續有時間再補充--新浪博客排版太難用了,費時費力)
5.1 建立實例一
5.2 使用平臺虛擬化
6、排錯1:MOS9.0 bootstrap 離線Bulid
錯誤現象:
Mirantis OpenStack Fuel 9.0已安裝完成,可是在Web頁面提示以下錯誤信息。
<span style="font-size:18px;">WARNING: Failed to build the bootstrap image, see /var/log/fuel-bootstrap-image-build.log for details. Perhaps your Internet connection is broken. Please fix the problem and run `fuel-bootstrap build --activate`. While you don't activate any bootstrap - new nodes cannot be discovered and added to cluster. For m
上述錯誤表面,缺乏bootstrap鏡像,在VirtualBox建立新虛擬機給Fuel使用時要經過該鏡像啓動,從而Fuel才能夠收集到虛擬機的如內存、CPU等信息,並在Fuel將此虛擬機識別爲一個可用的Node,而後才能夠在此Node上部署Openstack的組件。
前期準備:
MOS9.0 bootstrap下載:http://pan.baidu.com/s/1gfc4w6n 提取碼:o9x4
說明:上述網盤地址以及本文解決問題的思路來自博客http://blog.csdn.NET/qq_20154221/article/details/51906866,在參考該博客進行操做時,有一個軟鏈接的問題致使執行失敗,所以在這裏更正下。
解決步驟
一、將上述網盤地址中的bootstrap下載到PC本地,並解壓,解壓後獲得文件夾bootstraps
二、將本地bootstraps文件夾下的bootstrap_stub和d01c72e6-83f4-4a19-bb86-6085e40416e6文件夾上次到Fuel安裝節點的/var/www/nailgun/bootstraps目錄下。
三、將本地bootstraps文件夾下的active_bootstrap目錄下的文件上傳到Fuel安裝節點的/var/www/nailgun/bootstraps/bootstrap_stub
四、建立軟鏈接:ln -s /var/www/bootstraps/bootstrap_stub active_bootstrap(存在的話不須要此步驟)
五、激活bootsrtap
[root@fuel bootstraps]#<strong> fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6</strong> Starting new HTTP connection (1): 10.20.0.2 Starting new HTTP connection (1): 10.20.0.2 Starting new HTTP connection (1): 10.20.0.2 Starting new HTTP connection (1): 10.20.0.2 Bootstrap image d01c72e6-83f4-4a19-bb86-6085e40416e6 has been activated.
6.檢查是否成功
[root@fuel bootstraps]# fuel-bootstrap list +--------------------------------------+--------------------------------------+--------+ | uuid | label | status | +--------------------------------------+--------------------------------------+--------+ | d01c72e6-83f4-4a19-bb86-6085e40416e6 | d01c72e6-83f4-4a19-bb86-6085e40416e6 | active | +--------------------------------------+--------------------------------------+--------+
踩過的坑
參考原先博客的中直接用解壓的bootstraps目錄替換Fuel節點上的bootstraps目錄,結果出現了以下錯誤:
[root@fuel nailgun]# fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6 Starting new HTTP connection (1): 10.20.0.2 Starting new HTTP connection (1): 10.20.0.2 Starting new HTTP connection (1): 10.20.0.2 Starting new HTTP connection (1): 10.20.0.2 [Errno 21<strong>] Is a directory: '/var/www/nailgun/bootstraps/active_bootstrap'</strong>
查看操做以前備份的目錄下的內容:
[root@fuel bootstraps.bak]# ll total 4 lrwxrwxrwx. 1 root root 42 Oct 27 07:13 <strong>active_bootstrap -> /var/www/nailgun/bootstraps/bootstrap_stub</strong> drwxr-xr-x. 2 root root 4096 Oct 27 07:13 bootstrap_stub
7、排錯2:MOS9.0 bootstrap 離線Bulid![](http://static.javashuo.com/static/loading.gif)
Provision has failed. Failed to execute hook 'shell' Failed to run command cd / && fa_build_image --image_build_dir /var/lib/fuel/ibp --log-file /var/log/fuel-agent-env-1.log --data_driver nailgun_build_image --input_data '{"image_data": {"/boot": {"container": "gzip", "uri": "http://10.20.0.2:8080/targetimages/env_1_ubuntu_1404_amd64-boot.img.gz", "format": "ext2"}, "/": {"container": "gzip", "uri": "http://10.20.0.2:8080/targetimages/env_1_ubuntu_1404_amd64.img.gz", "format": "ext4"}}, "output": "/var/www/nailgun/targetimages", "repos": [{"name": "ubuntu", "section": "main multiverse restricted universe", "uri": "http://ftp.sjtu.edu.cn/ubuntu/", "priority": null, "suite": "trusty", "type": "deb"}, {"name": "ubuntu-updates", "section": "main multiverse restricted universe", "uri": "http://ftp.sjtu.edu.cn/ubuntu/", "priority": null, "suite": "trusty-updates", "type": "deb"}, {"name": "ubuntu-security", "section": "main multiverse restricted universe", "uri": "http://ftp.sjtu.edu.cn/ubuntu/", "priority": null, "suite": "trusty-security", "type": "deb"}, {"name": "mos", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0", "type": "deb"}, {"name": "mos-updates", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0-updates", "type": "deb"}, {"name": "mos-security", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0-security", "type": "deb"}, {"name": "mos-holdback", "section": "main restricted", "uri": "http://10.20.0.2:8080/mirrors/mos-repos/ubuntu/9.0", "priority": 1000, "suite": "mos9.0-holdback", "type": "deb"}, {"name": "Auxiliary", "section": "main restricted", "uri": "http://10.20.0.2:8080/mitaka-9.0/ubuntu/auxiliary", "priority": 1150, "suite": "auxiliary", "type": "deb"}], "packages": ["acl", "anacron", "bash-completion", "bridge-utils", "bsdmainutils", "build-essential", "cloud-init", "curl", "daemonize", "debconf-utils", "gdisk", "grub-pc", "hpsa-dkms", "hwloc", "i40e-dkms", "linux-firmware", "linux-firmware-nonfree", "linux-headers-generic-lts-trusty", "linux-image-generic-lts-trusty", "lvm2", "mcollective", "mdadm", "multipath-tools", "multipath-tools-boot", "nailgun-agent", "nailgun-mcagents", "network-checker", "ntp", "openssh-client", "openssh-server", "puppet", "python-amqp", "ruby-augeas", "ruby-ipaddress", "ruby-json", "ruby-netaddr", "ruby-openstack", "ruby-shadow", "ruby-stomp", "telnet", "ubuntu-minimal", "ubuntu-standard", "uuid-runtime", "vim", "virt-what", "vlan"], "codename": "trusty"}' (node master returned 255).
發現是由於Repositories裏的mos鏡像地址有問題, 修改以下 :
ubuntu: deb http://ftp.sjtu.edu.cn/ubuntu/ trusty main multiverse restricted universe ubuntu-updates: deb http://ftp.sjtu.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe ubuntu-security: deb http://ftp.sjtu.edu.cn/ubuntu/ trusty-security main multiverse restricted universe mosmos: deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0 main restricted mos-updates: deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0-updates main restricted mos-security: deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0-security main restricted mos-holdback: deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0 mos9.0-holdback main restricted
回到控制檯, 再次嘗試部署.
錯誤處理:
問題1:
[root@node-2 ~]# nova list ERROR: You must provide a username via either --os-username or env[OS_USERNAME]
解決方案:
[root@node-2 ~]# source ~/openrc