APP下载

基于Mirantis Fuel及VitrualBox快速搭建OpenStack云计算环境

2017-09-09曾玮饶坚

数字技术与应用 2017年7期
关键词:云计算

曾玮+饶坚

摘要:针对手动部署OpenStack云计算环境过程复杂,部署时间较长,以及OpenStack环境物理节点需求较多等问题,提出了基于Mirantis Fuel及VirtualBox实现快速部署OpenStack环境的方法。首先介绍了VirtualBox虚拟机及虚拟网络的基本构建方法,然后阐述了Fuel自动化部署工具的安装步骤,最后,使用Fuel部署工具实现了OpenStack云计算环境的搭建。通过实际验证,本文提出的OpenStack云计算自动化构建方法快速、高效,具有一定的实用价值。

关键词:Mirantis Fuel;VirtualBox;Openstack;云计算

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2017)07-0069-07

随着互联网技术的不断发展,云计算作为一种全新的资源管理模式,已经逐渐得到了普及。云计算(Cloud Computing)[1-2]是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。近年来,多种云计算的实现方案也已经逐渐成熟[3]。如VMware、Amazon AWS、Microsoft Azure、OpenStack、Eucalyptus等。其中,OpenStack云计算方案作为一种开源、可靠、稳定的云计算解决方案,已经逐渐被崛起并被较为广泛的采用[4-5]。此外,部分高校也实现了OpenStack云计算平台的部署及运用[6-10]。

虽然,国内对于OpenStack的研究已经较为深入,但是,OpenStack的部署方法依然有待优化。由于OpenStack本身设计较为复杂,其部署过程通常较为困难。另一方面,手动安装OpenStack效率较低,不能适用于大量服务器的虚拟化工作。OpenStack的基础测试环境需要至少4个计算机节点[11]。对于需要部署OpenStack测试环境的部分研究者而言,若在物理机上进行部署,则耗时耗力。

为了能够解决OpenStack手动部署效率低的问题,本文提出了一种基于Mirantis Fuel及VirtualBox的OpenStack快速部署方案。通过该方案部署OpenStack环境方法较为简答、效率较高。该方案较好地解决了目前高校研究者手动部署OpenStack环境时,部署效率低、环境安装困难的问题。

1 OpenStack环境快速搭建

1.1 VirtualBox的安装及网络环境配置

VirtualBox最初是由德国Innotek公司开发,由Sun Microsystems公司出品的软件。VirtualBox是一款非常先进的虚拟机软件, 它实现了在原有物理操作系统上,虚拟出若干子系统,这些子系统分别拥有各自的资源。VirtualBox的各个虚拟机可以同时运行在宿主操作系统上,VirtualBox负则模拟相关的硬件资源[12]。

在进行OpenStack的安装之前,我们首先需要配置VirtualBox的网络环境。需配置三个不同的虚拟网络,分别为Net1(10.20.0.0/24)、Net2(172.16.0.0/24)和Net3(172.16.1.0/24),如图1所示。其中,Net1将作为虚拟机的管理网络,Net2作为虚拟机的公共访问网络,Net3作OpenStack节点的内部通信网络。具体安装步骤如下:

(1)下载并安装VirtualBox软件。

(2)打开VirtualBox虚拟机,选择File→Preference→Network,选择Host-only Networks。选择新建Host-Only网络(命名为VirtualBox Host-Only Ethernet Adapter #2)。选择“编辑网络”,设置IPv4 Address为10.20.0.1,设置Network Mask为255.255.255.0。

(3)依据步骤(2),分别创建VirtualBox Host-Only Ethernet Adapter #3、#4,并分别设置IPv4地址为172.16.0.254和172.16.1.1,子网掩码设置为255.255.255.0。在创建三个Host-Only网络后,宿主计算机对应出现三个对应的网络适配器。

1.2 虚拟机的创建及配置

1.2.1 创建虚拟机

(1)创建Fuel Master虚拟机节点。

Fuel管理节点将作为其他OpenStack的底層管理节点。它能够实现OpenStack的自动部署。

打开Virtual Box虚拟机,创建Fuel Master虚拟机节点。设置该虚拟机类型为Linux、版本为Red Hat(64bit),设置内存为4GB并创建VDI磁盘。

(2)创建Controller控制节点。

在Virtual Box中,创建控制节点的虚拟机,并命名为OpenStack Controller。这里,设置此虚拟机的类型为Linux,版本为Ubuntu(64 bit),内存为4GB,分配50GB磁盘空间。

(3)创建Compute虚拟机计算节点。

创建三个相同配置的虚拟机作为计算节点,并依次命名为:OpenStack Compute 0、1、2。其类型设置为Linux,版本为Ubuntu(64 bit),虚拟机内存为2GB,磁盘大小为50GB。

在创建完成之后,我们需要为计算节点分配更多的CPU资源。选中要编辑的计算节点虚拟机,单击Setting按钮。在弹出的Setting对话框中,选择System选项,选择Processor标签页。为计算节点分配2个CPU的计算资源。endprint

创建完毕后,分别启动Fuel Master、Controller及Compute节点,如图2所示。

1.2.2 虚拟机的网络配置

在完成虚拟机的创建后,我们需分别对其进行网络配置:

选中Fuel Master虚拟机,点击Setting按钮,选择网络选项。在Adapter 1中,勾选“Enable Network Adapter”。设置“Attached to”为“Host-Only Adapter”。点击Name的下拉菜单,选择“VirtualBox Host-Only Ethernet Adapter #2”。此外,我们需要将“Promiscuous Mode”,即混杂模式设置为“Allow All”。最后,勾选“Cable Connected”。

按照上一步骤,设置Adapter 2。设置名称为VirtualBox Host-Only Ethernet Adapter #3。打开Adapter 3,勾选“Enable Network Adapter”,并设置“Attached to”为“NAT”。

此处,启用了Fuel Master的三块网卡。其中,第一块网卡设置为Nat 1,第二块网卡则分配到Nat 2,而第三块网卡则使用VirtualBox自带的NAT网络功能,实现NAT上网(如图3所示)。

2 基于Fuel实现OpenStack快速安装

2.1 安装Fuel Master控制节点

2.1.1 Fuel的基本安装

Mirantis开发的Fuel是OpenStack自动化部署的有利工具。Fuel最大的作用在于解决了OpenStack安装繁琐,入门门槛较高的问题。这里,我们采用的是Mirantis Fuel 8.0版本。图4给出了本次部署环境的整体架构。

(1)安装Fuel UI。访问Mirantis的官方网站(https://www.mirantis.com),下载Mirantis Fuel 8.0的ISO镜像文件。

打开VirtualBox,选中Fuel Master虚拟机,打开设置页面并选择Storage选项。选中“Controller:IDE”,添加下载的Mirantis Fuel 8.0 ISO镜像。

启动Fuel Master虚拟机,进入引导页面。当进入“Welcome to Fuel Installer”提示页面后,选中第一项,即“Fuel Install(Static IP)”,回车确定,进入安装。这里,安裝过程可能需要5-10分钟。当安装界面提示“是否进入Fuel设置页面”时,键入回车,进入Fuel设置页面(如图5所示)。

选定“Network Setup”,可以看到当前Fuel自动设置了第一块网卡(eth0)的IP地址为10.20.0.2。默认情况下,我们不需要进行任何设置的更改,直接选择“Quit Setup”,然后选择不保存退出即可。完成了基本的设置后,Fuel会继续完成剩余的安装部分,这部分的安装可能需要10-20分钟。

在完成安装后,Fuel会进入“Welcome to the Fuel server”的欢迎界面。

(2)配置网卡信息。进入/etc/sysconfig/network-scripts目录,使用vi编辑ifcfg-eth1文件,将其内容修改为如下代码:

NAME=eth1

DEVICE=eth1

TYPE=Ethernet

BOOTPROTO=static

ONBOOT=yes

IPADDRESS=172.16.0.1

NETMASK=255.255.255.0

使用vi编辑ifcfg-eth2文件,将其内容替换为如下代码:

NAME=eth2

DEVICE=eth2

TYPE=Ethernet

BOOTPROTO=dhcp

ONBOOT=yes

执行systemctl restart network.service重启网络。

2.1.2 配置Fuel Master节点

由于Fuel进行了相关安全策略的限制,默认情况下我们只能够访问其SSH端口(22端口)。因此,要访问Fuel UI的管理界面,我们需要借助Xshell工具。

下载并安装Xshell(http://www.netsarang.com/products/xsh_overview.html)。

选择文件→新建,弹出“新建回话属性对话框”。在主机输入框中填入10.20.0.2,即Fuel Master虚拟机的IP地址(如图6所示)。

在左侧的类别栏中,选择“用户身份验证”,然后依次填入用户名和密码。在上一小节中,Fuel安装成功后的欢迎界面中显示了SSH登录账户和密码信息(用户名root,密码r00tme)。

在选择列别栏中,选择“隧道”,单击“添加”按钮。侦听端口和目标端口均填写8443,目标主机则应为10.20.0.2,保存。

在完成Xshell的配置后,打开会话窗口,选择10.20.0.2进行连接。在连接成功后,访问https://localhost:8443即可打开Fuel UI。使用admin(密码admin)即可登录。自此,我们即完成了Fuel的配置和安装(如图7所示)。

2.2 安装Controller节点和Compute节点

2.2.1 网络配置

在前面的Fuel Master的安装过程中,我们为其增加了Net1和Net2两个网络,以及NAT网络。这里,我们同样的方式为OpenStack Controller和Compute节点配置Net1和Net2网络,此外,还需要为其配置Net3网络,以作为OpenStack的内部网络。endprint

选择OpenStack Controller节点,打开其网络设置界面。将Adapter 1、2、3均设置为Host-only网络,并分别将其配置为VirtualBox Host-Only Ethernet Adapter #2、#3和#4。

按上一步骤,分别设置OpenStack Compute 0、1、2的Net1、Net2和Net3网络。

依次启动Controller、Compute 0、Compute 1和Compute 2虚拟机。至此,Controller及Compute虚拟机网络便配置成功。

2.2.2 安装Controller和Compute节点

(1)安装OpenStack环境。在Fuel中,OpenStack是以子环境的形式存在的。在部署Controller及Compute节点前,需要创建OpenStack环境。

首先,访问并登陆https://localhost:8443,在首页中选择“新建OpenStack环境”,并命名为“demo”。

勾选虚拟化技术为“QEMU-KVM”。这里,由于我们是在VirtualBox虚拟机上构建OpenStack,因此必须勾选“QEMU-KVM”。设置Neutron网络为“Neutron with VLAN segmentation”。

在存储后端设置页面,设置Block Storage、Object Storage、Image Storage和Ephemeral Storage的存储为Ceph。最后,选择“新建”按钮创建OpenStack环境。

(2)安装Controller节点及Compute节点。打开新建的OpenStack环境,点击节点标签,选择增加节点。此时,我们可以看到在节点列表中出现了四个未命名的节点,如:Untitled(02:99)。这里,可以点击Untitled名称进行修改。这里,括号中的部分则表示节点实际对应的VirtualBox虚拟机的MAC地址的最后四位。

在节点列表中,找到内存为4GB的节点,该节点即为即将部署为Controller节点的虚拟机。选中该节点。

在分配角色区域,勾选Controller,设置其为OpenStack Controller节点。选择应用变更,保存设置。

依次选中剩余的三个虚拟机节点,并在分配角色区域,选择Compute及Storage - Ceph OSD。点击应用变更,保存设置。

点击Dashboard标签页,执行“部署”操作。此时,在节点页面可以看到Fuel正在为Controller及Compute虚拟机节点安装Ubuntu操作系统。在完成Ubuntu操作系统后,Fuel会继续分别为Controller及Compute节点安装OpenStack相关服务。当安装完成后,Fuel将提示四个节点的状态均为已就绪(如图8所示)。

访问http://172.16.0.3/horizon/auth/login/,打开OpenStack的管理界面。使用admin(密码admin)进入OpenStack。此时,我们即完成了Fuel自动安装部署OpenStack(如图9所示)。

上传Windows Server等操作系统ISO镜像文件上传到OpenStack平台,并进行安装。在安装完毕后,可以通过远程桌面连接及VNC连接运行于OpenStack中的操作系统(如图10、图11所示)。

这里,OpenStack的Glace负责管理操作系统镜像文件。OpenStack可以基于已有镜像进行快速部署。我们可以根据实际需求,使用ISO镜像工具制作个性化的ISO文件并上传至OpenStack平台。对不同应用场景安装不同的操作系统。至此,OpenStack云平台即部署完成。

3 Fuel OpenStack自动安装及OpenStack手动安装对比

表1从多个不同角度,对“OpenStack物理环境手动部署”和本文提出的“基于Fuel及VirtualBox的OpenStack自动化部署”进行了较为全面的对比。通过实践发现,由于OpenStack本身较为复杂,其手动安装过程通常较为繁琐。初次安装时,我们有可能花费若干天的时间才能实现OpenStack部署。而使用Fuel自动化安装工具,我们可以构建基于VirtualBox的虚拟环境来快速安装OpenStack。通过实际测试,Fuel自动化部署OpenStack比手动部署OpenStack更为快速便捷。此外,通过使用VirtualBox虚拟机,也很好地解决了部署OpenStack实验环境需要较多物理机的问题。通过Fuel、VirtualBox及OpenStack的有机集合,我们能够在较短的时间内,以较少的物理资源,实现OpenStack云计算环境的快速部署。

4 结语

本文阐述了基于Fuel及VirtualBox实现自动化部署OpenStack云计算环境的基本方法,旨在帮助研究者快速进入OpenStack云计算环境。基于VirtualBox虚拟机的部署方案,能够较好地解决硬件条件不足的问题。而基于Fuel自动安装OpenStack则较好地解决了OpenStack手动部署较为复杂的问题。通过实践表明,本文提出的自动化部署方案,切实可行,具有一定的研究价值。

参考文献

[1]罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术[J].通信学报,2011,32(7):3-21.

[2]黄晨晖,林泳琴.基于云计算的虚拟计算机实验室的研究与实现[J].实验室研究与探索, 2010,29(11):178-181.

[3]李立耀,赵少卡,王烨,等.Dandelion:OpenStack云平台的快速部署机制[J].计算机应用, 2015,35(11):3070-3074.

[4]武佳宁.基于OpenStack的云平台虚拟集群部署设计[J].微型电脑应用,2016,32(6):15-17.

[5]赵少卡,李立耀,凌晓,等.基于OpenStack的清华云平台构建与调度方案设计[J].计算机应用, 2013,33(12):3335-3338.

[6]李磊,李小宁,金连文.基于Openstack的科研教学云计算平台的构建与运用[J].实验技术与管理, 2014,31(6):127-133.

[7]李磊,李达港,金连文,等.基于OpenStackSwift构建高可用私有云存储平台[J].实验技术与管理, 2015,32(5):141-144.

[8]郑楠,陈立南,郑礼雄,等.基于CloudStack和OpenStack的KVM虛拟机跨平台迁移方法[J].通信学报, 2014,35(Z1):72-75.

[9]陈天,陈楠,黄志兰,等.基于OpenStack的异构混合云解决方案[J].电信科学,2015,31(7):132-138.

[10]邵珠兴,陈彩.基OpenStac的云存储系统的大文件存储方案[J].计算机工程与设计, 2015,36(2):396-400.

[11]陈陶,顾双双,柳钮滔,等.基OpenStack Juno版的私有云平台部署及实践[J].物联网技术, 2015,5(6):64-67.

[12]随飞扬,王杰锋,马维骏,等.便携网络实验环境的构建与应用[J].实验科学与技术,2014,12(2):12-15.endprint

猜你喜欢

云计算
谈云计算与信息资源共享管理
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器