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
相关文章
相关标签/搜索