漫漫求索Openstack路---

Fuel 9.0 部署Openstack Mitaka详细(排坑版)


0、前言


不想搭建环境,官方提供测试Fuel 9.0的demo环境 http://demo.fuel-infra.org:8000(只要你电脑能上外网)默认用户名、密码admin

002HleWRzy7aRZy7plo1a&690


一、提前准备


Fuel 9.0将会搭载Openstack_Mitaka 版本,这个版本是2016年出的最新版本。

Fuel 在早先的版本中已经去掉了利用Centos来搭建Openstack的环境;

在9.0中只使用Ubuntu和Ubuntu + UCA的部署方式。


1.1 下载 Fuel 镜像


说明:Fuel 镜像用于部署fuel-master,一般为BT文件,利用下载工具下载即可。

方法一:从官网-注册下载iso https://www.mirantis.com/software/openstack/releases/#supporte

002HleWRzy7aS0CfQoN39&690

002HleWRzy7aS0CEVObab&690

方法二:第三方分享的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 总体架构

002HleWRzy7aS5Lw2TT61&690
1.4 软件选择


官方推荐使用Virtual-box来安装部署Fuel-master节点.本实验验证选用VMware来部署效果不理想,反应用VMware来装会产生一些问题部署失败无法解决,所以在这里选择Virtual-box 来进行安装部署.

虚拟机软件VirtualBox 5.1.22官网下载  https://www.virtualbox.org/wiki/Downloads 


1.5 硬件环境


1、官方推荐使用CPU:4核,以及内存:4G以上、10G网卡、500G物理磁盘.

2、但是在自己玩耍实验环境下,双核CPU,4G内存 ,1000M网卡和60G以上硬盘足够了,

3、切记的是硬盘不得小于50G,会导致安装失败.

4、当然实验环境下,如果设置为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设置里同步更改(改Network Setup 和 Security Setup 和 PXE Setup),不然会部署openstack失败。

Fuel-master       2C+ 60GB +3网卡+2GB以上内存

Fuel-Controller    1C+120GB+3网卡+4GB

Fuel-Compute      1C+120GB+3网卡+4GB


二、部署Fuel-Master

2.1 创建Fuel-master虚拟机


新建一个虚拟机名称为Fuel-master,可自定义。设置内存大小2G

因为Fuel的底层使用的是CentOS 7.2 64位,故操作系统版本选择Red Hat 64-bit

002HleWRzy7aSQyNaV492&690

设置磁盘大小60GB+以上为好

 002HleWRzy7aSQutBTof6&690

创建之后,点击设置--系统--处理器2核   

002HleWRzy7aSSXE48p49&690


设置光驱引导iso镜像,设置--存储--没有盘片--光盘图标--选择一个虚拟光盘文件--弹窗选择下载的 MirantisOpenStack-9.0.iso

002HleWRzy7aSTagGhva5&690


网卡芯片选择Intel的PRO/1000,切记混杂模式一定要设置为Allow all.并且禁用DHCP.

以前尝试过芯片选择为PCnet-PCI结果失败了。

网卡1、网卡2、网卡3都配置仅主机,混杂模式:全部允许


002HleWRzy7aSTUUQFC44&690

002HleWRzy7aSU9voVS7c&690

接下来运行虚拟机,

几秒钟后会进入Fuel 安装选择界面,这里选择第一项,然后系统会自动加载和安装Fuel.

002HleWRzy7aSWn41XF07&690

002HleWRzy7aSXdAZao48&690 

一段时间后进入Fuel-Menu界面你可以在这里修改默认密码和一些设置.

在Bootstrap Image选项,选择Skip building bootstrap p_w_picpath,

因为如果不选择的话,默认Fuel会从国外获取源,速度很慢的,会导致安装失败.

选择以后会使用本地源进行部署,后面会说明关于本地源如何下载和加载.

002HleWRzy7aSXbWJ4We6&690


选择Save and quit,然后这里需要等待1分钟的样子,因为这里要检查更改是否合规,检查通过后系统就会继续安装Fuel了.

002HleWRzy7aSXCyQcY64&690


经过漫长的等待,具体多久无法统计了,大概2小时就可以进入Fuel的登录界面了.此过程中切勿关闭或者重启虚拟机.任何不必要的操作都可能导致安装失败.然后会出现下面的画面,到这里Fuel-master的安装就结束了.


002HleWRzy7aSYnWOIr2b&690

在浏览器打开https://10.20.0.2:8443测试一下是否安装成功.默认用户名、密码admin

如果这里没有显示Fuel的登录界面,说明安装中忽略了一些步骤,或者资源分配不足


002HleWRzy7aSYR24Wd69&690

部署完Fuel-master建议保存快照,以便日后恢复.

2.2 增加本地源


打开 /var/www/nailgun 目录 ,用ls发现目录下现在是没有mirrors文件夹.

因为我采用的是离线模式安装,没有从官方的链接中下载一些必要的库,所

以从国外找了一些源下载了以后放置在网盘中了.

cd /var/www/nailgun


解压2个文件包,传输到/var/www/nailgun目录下覆盖,有冲突的部分直接替换掉.

mirrors文件夹下有两个文件夹,bootstraps文件夹下有三个文件夹。

002HleWRzy7aT0rluQY14&690

002HleWRzy7aT0sDQEndf&690

002HleWRzy7aT0tSTJGcc&690


使用XFTP软件将本地源文件mirrors和bootstraps传到Fuel,具体如下图.也可以自己在PC或者

服务器上建立FTP服务器,然后利用wget命令传输文件.总之不管用什么方法都可以,只要能把

文件上传到相应的文件夹内即可.

002HleWRzy7aT0AnFTx5f&690


运行 Fuel-createmirror命令, 此命令目的是让web后台管理界面的源地址变为本地地址.

[root@fuel nailgun]#fuel-createmirror

This script is DEPRECATED. Please usefuel-mirror utility!

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: <urlopenerror [Errno -2] Name or service not known>

<urlopen error[Errno -2] Name or service not known>

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 the Clusterrepositories...

Updating the releaserepositories...

Try to update theRelease 'Mitaka on Ubuntu 14.04'

Try to update theRelease 'Mitaka on Ubuntu+UCA 14.04'

Operations have been completed successfully


更换本地源后和bootstrp后,查看是否有已经激活的bootstrp.

[root@fuel na.]# fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6

002HleWRzy7aT1hi1yI8c&690


如果这里没有激活很可能是你下载的文件损坏了.可以尝试找其他bootstrp文件来覆盖.


三、部署Fuel-node节点虚拟机


新建两个子节点虚拟机 (controller/compute), 设置4G内存,120G磁盘空间.

内存设置低于4G很可能会部署失败,并且要开启VT-x和AMD-V,以便支持intel和AMD的CPU开启硬件虚拟化.如果不开启很可能会部署失败.

PS:在VM下面曾经尝试用4G内存来进行部署,结果失败很多次,但是还是成功了,需要拼人品.建议如果在VM下部署失败建议加大内存.


002HleWRzy7aT1LZFhB8f&690

3个网卡,网卡1、网卡2、网卡3都配置

仅主机,混杂模式:全部允许,网卡芯片选择Intel的PRO/1000,并且禁用DHCP.


002HleWRzy7aT1VLjxO34&690

开启虚拟机后选择ubuntu_bootstrap启动.


002HleWRzy7aT2JIjjH01&690

8.0版本搭载的是Centos 7 bootstrap,但是在9.0使用的是Ubuntu 14.04.4的bootstrap.

使用bootstrap 引导后,我们的Fuel-master 就可以发现节点了.


002HleWRzy7aT2mCRNm78&690


四、部署Openstack

4.1 登陆

下面开始使用Fuel部署Openstack

登录https://10.20.0.2:8443/#login

002HleWRzy7aT2TPBjo9e&690 


4.2 搭建部署Openstack

新建Openstack环境.


002HleWRzy7aT43Lmkf37&690

Fuel 9.0 版

  本去除了Centos,只保存了Ubuntu的部署方式,但是比之前多出了一个模式叫做Ubuntu+UCA(UCA use Ubuntucloud archive as a source of packages for Openstack components) 

在这里我们选择Mitaka on Ubuntu 14.04


002HleWRzy7aT44HbM0f4&690
002HleWRzy7aT45wqhD3d&690

002HleWRzy7aT45STEA90&690

002HleWRzy7aT46YXpdc7&690

002HleWRzy7aT47HACw3c&690

002HleWRzy7aT485JJi44&690

配置节点属性,如下图所示.
在此定义我们之前发现的两个节点.

002HleWRzy7aT4ZEa3Le1&690 
002HleWRzy7aT51Dul48a&690 

设置两个node节点网络接口
将网络接口配置改变为下图的状态,鼠标拖拽模块即可改变.
这里设置错误也会导致部署失败.

002HleWRzy7aT5dUZp537&690 

更改网络default 公开 – IP Range开始172.16.0.3网关172.16.0.2
配置Fuel-master 网卡enp0s8一个静态ip为172.16.0.2

002HleWRzy7aT5j7yjD61&690 

更改NTPserver地址为Fuel-master的地址.

002HleWRzy7aT5njNJPd5&690 

设置完成后进行网络验证,如有错误信息就按照错误提示进行修改.

002HleWRzy7aT5ymiJkd2&690 

定义完节点后在fuel上使用fuel node 命令可以发现Pending_roles已经发生改变.

002HleWRzy7aT5BlnU3b7&690 

点击Deploy Changes 进行部署.

002HleWRzy7aT5IN8Ir3b&690 

这时Fuel就开始自动部署Openstack了.
第一个步骤是利用Cobbler Server安装Ubuntu系统.

002HleWRzy7aT5OUMLtbf&690 

安装过程中可以看到站点的Status变为了provisioning, 含义为正在部署底层系统.
并且角色也从Pending转移到roles下面了.

002HleWRzy7aT5UoUMb6b&690 

部署完ubuntu14.04以后,Fuel会继续部署Openstack, 这里是使用Puppet Master 利用SSH协议的SCP命令将Openstack组件部署到node的.

002HleWRzy7aT5Yqwm8ec&690 

状态已经更新为deploying.

002HleWRzy7aT61fr3Ce4&690 

经过漫长的等待,如下图显示,已经成功安装部署了节点.

002HleWRzy7aT65fzC49c&690 


4.3 登陆DashBoard Horizon


点击Horizon 进行登录, 默认用户名密码都是admin.