VMWare12 部署安裝Mirantis OpenStack Fuel 9.0

參考: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整體架構


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-createmirror

fuel-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

​

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
相關文章
相關標籤/搜索