2015年上半年曾经在原单位安装过openstack juno版本,使用的是Mirantis公司的fuel自动化部署工具,很好用。已经很久没有关注openstack了,版本到现在为止已经到了Newton了,上一个版本是Mitaka,今天我要做的实验就是使用fuel 9 安装Mitaka版本。
我的笔记本的配置是intel i5,4核,8G,win10 64位家庭版。
首先到Mirantis官网下载fuel的安装镜像ISO:
https://www.mirantis.com/software/mirantis-openstack-software/
下载的版本是:fuel-community-9.0.iso
然后在本机上安装virtualbox,直接用360软件管家安装就可以了。安装的版本是5.1.8 64位。安装完成之后碰到个小问题,就是创建虚拟机只有32位的,查了一下原因,应该是我的笔记本电脑的BIOS中CPU虚拟化功能没有开启,重新启动笔记本电脑设置BIOS开启CPU虚拟化功能之后就解决了。
接下来就是创建虚拟机,并在虚拟机中中安装fuel,规划如下:
虚拟机名称: fuel-master
设置网络,管理->全局设置->网络:
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
选择虚拟机的网卡,选择上面配置的3种host only网卡,注意,网卡芯片选择Intel的PRO/1000,切记混杂模式一定要设置为Allow all.并且禁用DHCP 。
接下来就是挂在镜像ISO安装fuel。启动开始安装界面有两个选项,1、fuel install (static IP);2、 Fuel Advanced Install (static IP),很奇怪的是我选择2,后面就一直在 “.....still pending”提示下卡住了,后面选择1,回车,也是一样,重启,然后开始找原因,没有选择,默认是1,后面它就自己安装成功了,不知道是什么原因。
大概过了10多分钟(或者半小时?忘了)之后,就到了一个安装前的配置界面Fuel-Menu界面,主要是设置fuel用户密码,IP地址,DNS,Bootstrap Image ,其中,注意Bootstrap Image 需要将“Skip building bootstrap image”选项的钩钩选上,因为如果不选择的话,默认Fuel会从国外获取源,但是我并没有设置外部网络,而且就算设置了外部网络可以访问外网,速度也是很慢的,所以这里还是会导致安装失败.选择以后会使用本地源进行部署,后面会说明关于本地源如何下载和加载.
这里面有个问题,就是上面的IP地址规划,如果我是需要使用自己的IP地址规划,该怎么办呢?答案就在上面Fuel-Menu界面里面的网络配置,里面可以根据你的规划进行修改和配置。
fuel的用户密码就使用默认的admin/admin。系统的root账户密码默认是r00tme,我改了一下,密码改为root。
最后选择Save and quit,系统继续安装。经过大概2个小时的漫长安装等待,最后终于安装完成。
登录web界面,登录地址是:
登录成功,保存虚拟机快照,以备后用。
增加本地源.
打开 /var/www/nailgun 目录 ,用ls发现目录下现在是没有mirrors文件夹.因为我采用的是离线模式安装,没有从官方的链接中下载一些必要的库,下载下面2个连接的文件包,传输到/var/www/nailgun目录下,有冲突的部分直接替换掉.
Bootstraps:链接:http://pan.baidu.com/s/1nu7lY6P密码:b3qt
Mirrors :链接:http://pan.baidu.com/s/1kVwaZJ5 密码:hhsc
(注:这篇博客参考了:http://11988833.blog.51cto.com/11978833/1840826 这篇博客,向原作者致敬。)
运行 Fuel-createmirror 命令, 此命令目的是让web后台管理界面的源地址变为本地地址.(默认为一些官方链接下载地址,这些地址速度很慢,有的甚至连接不到,所以这里替换为本地源地址.)
完成更新之后,使用fuel-bootstrap list 命令查看是否有bootstrap 镜像可用。结果如下:
[root@fuel ~]# fuel-bootstrap list
+--------------------------------------+--------------------------------------+--------+
| uuid | label | status |
+--------------------------------------+--------------------------------------+--------+
| d01c72e6-83f4-4a19-bb86-6085e40416e6 | d01c72e6-83f4-4a19-bb86-6085e40416e6 | |
+--------------------------------------+--------------------------------------+--------
可以看到上面status是空的,正常应该是active,执行:
[root@fuel ~]# fuel-bootstrap build --activate
[root@fuel ~]# fuel-bootstrap activate d01c72e6-83f4-4a19-bb86-6085e40416e6
如果有报错,根据报错信息去调整,我这里碰到的问题是提示active_bootstrap 目录已经存在,那就直接把这个目录删除,重新执行上面的命令就解决了。
后面开始准备条件部署controller节点、compute节点。找一台X86服务器,有足够的CPU和内存,winserver2008或者win2012,上面同样安装virtualbox,上面创建虚拟机,与我这台fuel-master组成一个局域网,再继续后续的部署。
后面我找到了一台联想的X3650M2服务器,24G内存、16核CPU,满足硬件实验条件。刚开始的时候安装了winserver2008,后面安装virtualbox发现5.0以上版本有问题,后面又改成vmware workstation,发现虚拟机用不了混杂模式,后面去查fuel的官方文档,发现操作系统还是有版本配套要求的。后面是安装了win10 64位 企业版,用最新的virtualbox5.12版本,并且安装了相应的virtualbox extension包,终于能够开始使用fuel部署openstack了。
在部署的过程中碰到几个问题记录一下:
1、配置openstack环境的时候,网络设置里面的公共网络平面有一个网关,这个网关必须要存在且能够ping通,我在配置的时候当时virtualbox虚拟网络设置的网关设置为172.16.0.254,但是openstack环境里面设置的是172.16.0.1,不匹配,导致部署失败;
2、openstack环境网络配置里面有一个NTP服务器设置,默认是fuel的一个服务器地址,这个地址需要能够访问外网,因此在配置的时候需要添加一块桥接网卡接到物理网络并且在部署完各个节点的操作系统之后配置能够访问外网。另外,也可以直接将NTP服务器地址配置为fuel-master的地址10.20.0.2,这里我就是配置这个地址。
3、fuel 9.0 开始部署openstack的时候对虚拟机性能还是有所要求,刚开始我配置的是虚拟机都是1核CUP,2G内存,但是部署到一半的时候报错,我部署的环境是5个节点,3个controller节点,1个compute节点,一个cinder节点,主要是controller部署的时候很耗资源,需要加大controller虚拟机的资源配置,后面我是将controller节点和compute节点调到了2个CPU内核,4G内存。
4、部署完操作系统后如果部署openstack当中出现问题需要重启物理机,这个时候将启动顺序从网络启动改为硬盘启动;
5、在部署openstack各个组件的时候碰到问题需要重新部署是很头疼的事情,每次部署需要花费好几个小时,所以尽量将相关的配置多检查几遍,否则时间成本太高了。
本文转自yuweibing51CTO博客,原文链接: http://blog.51cto.com/yuweibing/1875045,如需转载请自行联系原作者