【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

本博文出自51CTO博客yishuizhao博主,有任何问题请进入博主页面互动讨论!
博文地址:http://tianhunyongheng.blog.51cto.com/1446947/1607676


在云中,基本的概念就是租户和用户,例如X公司买了某公司的公有云,那以X公司为例,就是一个租户,而这个公司买了N多云主机给公司的员工使用,这些员工就是用户。那角色又是什么呢,这个租户中有N多云主机,总有人来管理和分配的,那这个管理员就是admin角色,而其他的用户就是普通用户,也可以适当的赋权给他们,这个角色可以理解为一系列权限的合集。

这个租户、用户和角色的创建分配,我就不演示了,相信做IT的基本都应该了解。我们默认的OpenStack环境是有一个admin的租户,有一个admin的用户,拥有admin的权限,咱们就是用默认的做实验即可。

其一:创建云主机,并可以SSH登录

在部署完成后,Fuel Master就可以关机,或者放在一边了,完全不影响openstack的环境使用了。但是如果整个openstack环境都关机了,那么开机也有个顺序,我们先打开controller,等开机后再打开compute主机,这样各个服务才能找到他的服务器通信。

为了演示,我把controller内存调整为1.5G,compute内存调整为3G,以便于创建虚机,如果计算节点内存分配过小,那么创建云主机的时候就会报错。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

首先开启controller主机,然后再开启compute主机

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

还记的之前部署环境的openstack的UI地址吧:172.16.0.2,用户密码同为admin

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

这里提示cookies问题,刷新浏览器或重启浏览器后可以解决

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

进入到咱们工作平台啦

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

咱们首先看看这个网络,还记得Fuel UI的如下网络嘛,相信很多朋友不理解这是干什么的。这里解释下这个192.168.111.0网段是给云主机内部使用的,但是仅限于虚拟机内部通信,不能和这个网络之外通信或者上网。那这个172.16.0.0网段就是外部网络了,也是咱们可以分配给云主机做floating IP使用的地址段,这两部分都可以调整,在下面继续介绍。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在openstack UI界面,打开“network topology”,看一下我们使用的网络拓扑,未来云主机都会接在“net04”这个网络上,分配的IP地址也是192.168.111.0这个网段的,网关指向中间的路由器,网关地址是192.168.111.1,这个路由链接的就是咱们的公开网络“net04_ext”这是我们的外部网络,也就是跟咱们的PC机在一个网段或者互通了。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

接下来就开始创建云主机(虚机),我们打开instances界面,单击右上角的“launch instance”开始创建

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在弹出的窗口内,“details”是云主机的相关信息,“access&security”是选择安全组,默认是defaults安全组,“networking”是选择管理的网络,“post-creation”是创建云主机后需要运行的脚本信息,需要自己添加,这几个是必须的

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在“details”选项内,填写新建云主机名字“test01”,flavor类型可以查看flavor菜单,里面有很多类型,针对默认的一个迷你操作系统,定义了CPU,内存和硬盘灯资源,咱们也可以收到修改,很容易理解,我就不再演示,咱们这里选择“m1.tiny”,也就是如右边所展示的包含1个vCPU、一个1G的磁盘和512M的内存,创建数量选择1,如果是批量创建,就选择你要创建的数量,例如20,当然你要计算好这个计算节点可以承受的虚机数量,包含CPU\RAM\DISK等资源,“instance boot source”选择“boot from image”,“image name”选择“testVM(12.6MB)”,这是个迷你操作系统。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

“access&security”选择默认的default即可,networking则是选择net04,也可以手动创建多个不同网段的内网,只要你需要,我们这里选择关联net04,当然这里不能直接关联公共网络。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

后面选择默认即可。点击右下角的“launch”后开始创建虚机,根据磁盘等资源的大小,等待一段时间后创建完成,下图显示正在创建

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

如下是已经创建完成的云主机,“status”显示active,IP地址是192.168.111.3,这里应该明白点了吧

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

现在的云主机只能使用VNC来访问,这个VNC的效果真是不敢恭维,所以我习惯使用CRT来访问,那么按照前面说的,这个虚机现在只有192.168.111.3这个私有IP,这个IP只能是多个云主机之前通信,需要外部通信的话,还需要分配一个172.16.0.0的IP地址,直接在云主机内存添加网卡手动配置可不可以,当然不行,在openstack中floating IP也是一种资源,需要从IP地址池中拿出一个IP来跟云主机做关联。这里演示下。

在该云主机的嘴右边“actions”下有一个下拉菜单,单击,然后选择“associate floating ip”

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在新弹出窗口内,我们还没看到公开网络,单击中间的+号,在下面的新窗口内选择“net04_ext”网络,单击右下角的associate进行关联

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

这时,回到floating ip管理页,可以看到公开网络的网段了,默认分配的172.16.0.131,当然也可以手动选择,单击右下角的associate

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

好了,回到instance界面,看到此时已经分配了floating ip了

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

那现在可以ping或者SSH了吗,当然不可以,这是由于安全策略的缘故,我们得修改下策略来放行ICMP和SHH

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

打开“access & security”菜单,这里默认只有default一组安全组,我们也可以创建,但是新创建的话还是得手动再跟云主机管理,而默认组已经默认关联了,我们只要修改策略就可以了,所这里我们直接修改,不再添加安全组了。

单击default安全组左边的“manage rules”

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在新窗口,单击右上角的“add rule”

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

先添加ICMP,在“rule”栏选择“ALL ICMP”,下面默认全部放行即可

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

看看,是不是可以ping通了

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

接下来如上方法,添加SSH规则

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

添加完毕,规则如下

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

放行了SSH就可以远程登陆了,但是用户名和密码呢。如是自己上传的镜像,相信自己都晓得,也别担心,这openstack自带的镜像用户名和密码在这里。

回到instances菜单,单击云主机名称“test01”

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

“overview”可以看到云主机的信息概览,在“log”里面可以看此云主机的log

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

拉到最低如下,可以看到用户名cirros和密码cubswin:)

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

那现在可以使用CRT登陆了,如下。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

创建云主机完毕,也可以SSH登陆了,当然大家也可以批量创建,省心不少,也可以上传自己的镜像,比较这个自带的镜像只是用来测试的,甚至大家可以上传IOS镜像,这个如有时间,以后再做介绍。

其二:给云主机附加磁盘volume

上面已经跟大家介绍了怎么创建和访问云主机,接下来介绍怎么给虚机附加磁盘。

那么为什么要给云主机增加额外的磁盘呢。

这就看需求了,一是虚机时创建在本地,还是共享存储;二是很多客户习惯本地只有OS信息,而数据则保存在其他地方以保护数据。

总之有需求就有市场,每个客户都有自己的需求和架构,如果是需要额外磁盘,那么openstack的cinder可以提供块存储。

接下来开始动手实践。

我的所有虚机都已关机,接下来按照顺序依次打开Master->controller->compute主机,如图FUEL UI可以正常访问

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

openstack UI可以正常访问了

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

要想使用volume得安装和配置cinder服务,我之前没有配置此服务,所以这里需要再创建一个虚机来作为cinder使用,同时也是compute主机,以后做迁移的实验来用,当然其实在第一次部署的时候,我们就可以把cinder功能同controller或者compute主机一同部署在同一台主机上这样这个功能就直接可用了,我这里是考虑以后的实验和演示效果,所以单独创建了一台虚机,如下图的cinder主机,跟之前的虚机设定是一样的,为了节省资源我给了大概800M内存,怎么开机

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

已经自动从PXE启动

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

启动过程中咱们进入darshboard,看一下instance,他还在,只是我上次实验完成就关机了

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

cinder主机马上引导完成

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

FUEL已经检测到了主机

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

如之前,选择新增主机,我们选中主机,然后分配compute和storage-cinder两个角色

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

选择如下

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

应用变更

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

然后跟之前虚机相同更改网络接口如下

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

选中该主机

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

单击右上角的部署变更

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

确认变更信息

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

开始部署了,这就是FUEL的方便性,而且我们已经在生产环境部署了,效果还可以。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

奇怪的是,这里提示启动失败,于是随意按键重新引导

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

正常引导安装,没有其他意外

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

centos安装完成,接下来开始安装部署openstack的cinder和nova组件

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

这个时间不长,完成了。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

咱们看一下三台虚机安装的服务,可以看到controller的服务最多,有cinder的api和schedule,而volume服务在cinder主机上,compute主机上没有cinder服务,这下我们可以理解部署了cinder的volume服务才可以使用云磁盘

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

展开“volumes”,单击右上角的“create volume”来创建云磁盘

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在新弹出窗口填写磁盘名字和磁盘大小,我这里默认1G来做实验,其他默认即可

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

创建完成,主要看“status”为available即为正常

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

这时我们需要展开instances,单击“start instance”来启动云主机,以便于附加磁盘

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

我是I3的CPU和8GB内存,大家可以看看我此时的资源占用情况

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

主机启动完成,我们看下主机内部分配的IP地址

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

然后展开“network topology”看下网络拓扑,大家应该可以大概了解咱们的虚机、内网、路由和公共网络的关系了

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

再回头看看部署时的这张图

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

好了,既然volume创建完成,虚机依然开启,那么接下来开始分配磁盘给云主机,展开volumes,在希望分配的磁盘后面单击下拉菜单,选择“edit attachments”

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在新窗口选择要把此volume附加给哪台虚机,咱们这只有test01

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

此时,再看已经分配出去了,而且可以看到在云主机上此volume是/dev/vdb,要记得这里

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

分配完成了,看看主机是否识别,使用CRT连接到云主机,由于这是mini Ubuntu系统,使用管理命令需要sodu,使用sudo fdisk -l看下是否识别到了vdb

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

从上面看已经识别到了,然后咱们开始格式化,命令如下

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

然后格成文件系统并挂载

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

挂载后可以正常使用喽,是不是很好用啊。

那怎么卸载呢,是不是直接删除volume就可以了呢,当然不行,反正之前Havana版本直接删除volume会一直卡在删除状态,需要手动再底层删除,UI界面是没办法了,这也是一个BUG,不知道在juno版本有没有修复,你们可以测试下。

当然那也不是正常的操作流程,那么我们按照正常流程走一遍。

首先需要我们在云主机上umount该磁盘,如下

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

然后回到“vilumes”界面,在右侧的下拉菜单依旧选择“edit attachments”

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

在新弹出窗口选择detach volume

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

确认

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

现在可以看到volume已经detach了,就是和云主机解除绑定了。

【博文推荐】使用Fuel安装OpenStack juno之使用OpenStack创建云主机和Volume

以上是关于volume的操作。

我这实际环境中使用的情形跟大家分享下:

相关推荐