参考: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-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
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