文档章节

VMWare12 部署安装Mirantis OpenStack Fuel 9.0

mecisery
 mecisery
发布于 2017/06/14 14:26
字数 3284
阅读 317
收藏 2

参考:1.http://download.csdn.net/download/gamers/9596542

2.http://weibo.com/p/230418936291410102wi29

3.http://blog.csdn.net/wiborgite/article/details/52953822

4.http://blog.csdn.net/titan0427/article/details/51982609

 

vmware网络配置:

 

0、前言

 

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


 

 

一、提前准备

 

Fuel9.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

 




 

方法二:第三方分享的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硬件环境

 

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设置里同步更改(改NetworkSetup  SecuritySetup  PXESetup),不然会部署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的底层使用的是CentOS7.2 64位,故操作系统版本选择Red Hat 64-bit


 

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

 

 

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

 

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

 

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

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

网卡1、网卡2、网卡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文件来覆盖.

 

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

 

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

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

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

 

 

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

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

 

 

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

 


 

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

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

 

 

四、部署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.

 

五、开始使用Openstack

(后续有时间再补充--新浪博客排版太难用了,费时费力)

 

5.1 创建实例一

 

5.2 使用平台虚拟化

六、排错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,在参考该博客进行操作时,有一个软连接的问题导致执行失败,因此在这里更正下。

解决步骤

1、将上述网盘地址中的bootstrap下载到PC本地,并解压,解压后得到文件夹bootstraps

2、将本地bootstraps文件夹下的bootstrap_stub和d01c72e6-83f4-4a19-bb86-6085e40416e6文件夹上次到Fuel安装节点的/var/www/nailgun/bootstraps目录下。

3、将本地bootstraps文件夹下的active_bootstrap目录下的文件上传到Fuel安装节点的/var/www/nailgun/bootstraps/bootstrap_stub

4、创建软连接:ln -s /var/www/bootstraps/bootstrap_stub active_bootstrap(存在的话不需要此步骤)

5、激活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  

七、排错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

© 著作权归作者所有

共有 人打赏支持
mecisery
粉丝 1
博文 43
码字总数 23707
作品 0
海淀
Mirantis OpenStack fuel 物理机部署

理机上使用fuel 5.1部署openstack HA 存储使用ceph 2014年12月5日 15:58 新浪博客 How to Install Mirantis Fuel 5.1 Openstack wihceph 作者:@法不荣情 本人刚开始接触openstack,对一切还...

剑气满天
2015/08/18
0
3
通过Fuel部署Openstack

openstack,安装的门槛比较高,而且相当麻烦,很多的安装文档作者省了不少安装步骤。这对初学的人带来了很大的麻烦,也许作者轻易节省一步,就会创成后面的安装失败。而且初学者由于对opens...

剑气满天
2015/08/17
0
2
Fuel 5.1安装openstack I版本环境 (ESXi)

Fuel 简介 Fuel是Mirantis公司开发的部署openstack集群工具,主要功能为裸机PXE安装操作系统,master节点提供DHCP、TFTP服务,能够实现openstack服务编排,通过puppet进行配置服务管理,此外...

剑气满天
2015/08/18
0
0
OpenStack 简单安装(fuel)

OPENSTACK 涉及到的组件比较多,对大家学习安装过程带来很多的问题,现在找到 一个MIRANTIS 公司出的安装OPENSTACK的工具。本人测试方便可用(在Mac OS X10.9.2和CentOS 6.4上测试过 )。值得推...

hzchenkj
06/28
0
0
OpenStack 日志搜集分析之 ELK

ELK 安装配置简单,用于管理 OpenStack 日志时需注意两点: Logstash 配置文件的编写 Elasticsearch 日志存储空间的容量规划 另外推荐 ELKstack 中文指南。 ELK 简介 ELK 是一套优秀的日志搜...

koala bear
2015/08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

74.expect脚本同步文件以及指定host同步文件 构建分发系统文件和命令

20.31 expect脚本同步文件: 在expect脚本中去实现在一台机器上把文件同步到另外一台机器上去。核心命令用的是rsync ~1.自动同步文件 #!/usr/bin/expect set passwd "123456" spawn rsync -a...

王鑫linux
40分钟前
0
0
TypeScript项目引用(project references)

转发 TypeScript项目引用(project references) TypeScript新特性之项目引用(project references) 项目引用是TypeScript 3.0中的一项新功能,允许您将TypeScript程序构建为更小的部分。 通过这...

durban
44分钟前
0
0
爬虫入门

导读 网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取...

问题终结者
44分钟前
0
0
ppwjs之bootstrap文字排版:无序列表项不换行

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
51分钟前
0
0
SpringBoot 学习一

本文将从以下几个方面介绍: 前言 HelloWorld 读取配置文件 例子(CURD) 前言 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架...

tsmyk0715
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部