上次我们了解如何搭建Openstack环境,本篇我们介绍如何使用Openstack建立第一个虚拟机。一般建立一个虚拟机,需要为虚拟机预先配置几个内容:实例源、实例类型、网络、安全组、密钥对。下面就开始我们的配置。
实例源
如下图所示,源有四种来源,对于新建立的虚拟机系统,通常选择“卷”“镜像”,在实际操作过程中,选用“镜像”经常会出项实例创建失败的情况,经分析事由于创建镜像的时间很长,造成实例建立时间timeout。所以,推荐先将镜像(利用《使用virt-manager驱动Windows server 虚拟机》文章生成的镜像)挂载到卷上,然后再在这里通过选择“卷”的方式来作为源。
点击“创建卷”,填入“卷名称”,选择上传的镜像文件,创建卷即可。
卷创建的过程中,我们监视下Ceph磁盘的使用情况,起初文件保存再根目录中,ceph-1设备里命令:
# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 54G 4.5G 50G 9% /
随着卷的生成,使用率也在变化
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 54G 36G 19G 67% /
当镜像上传完后,会从根目录转存到Ceph的OSD(根据Crush算法),同时根目录也恢复到之前使用率:
/dev/mapper/centos-root 54G 4.5G 50G 9% /
发现sdb1/sdb2使用率递增
/dev/sdb1 49G 14G 35G 28% /var/lib/ceph/osd/fc0b4234-f6fa-45a2-86b2-31b8cfc72888
/dev/sdc1 49G 18G 31G 38% /var/lib/ceph/osd/930af492-3032-45eb-8014-4308d3d1c280
实例类型
网络
需要创建两个网络,一个是虚拟机的内部网络(DHCP方式),一个是外部网络(虚拟机与企业内部网络连接,用于管理)
1、创建外部网络
这里需要注意的是“物理网络”,根据你的网络配置情况来填写:
2、创建虚拟机网络
看下网络列表
这个时候虚拟机还不可以与外部网络联通,需要通过路由器将这两个网络连接到一起。
3、添加路由
编辑路由,给路由配置内网接口和外网接口,IP地址为路由接口上的ip地址。注意,我们在前面配置的虚拟机网关要与这个接口IP相同。
配置完,可以通过网络拓扑看下整体网络架构
安全组
为了让外网能ping通,或者远程到虚拟机上,需要开启相关安全策略,我们这里用default规则,当然还可以增加规则组。
密钥对
用于使用ssh方式登录虚拟机,点击创建密钥对后,浏览器会下载后缀为.pem的私钥文件。
建立虚拟机实例
到此实例建立完毕,如果需要虚拟机与外网互通,就需要为虚拟机配置一个外网IP,这里利用浮动路由来建立,如下:
开启虚拟机,检测是否正常,如下:
磁盘扩容
我们进到我的电脑,发现只有一个30G的系统盘,在这里,我们将系统盘扩容40G,同时增加一块10G磁盘。
1、增加一块磁盘:新建一个卷,将卷附加到实例中
2、扩展系统盘:停止运行的实例
由于系统盘通过网页无法扩展,需要手动命令,找到系统卷的ID:
进入部署机:
# openstack volume set dc496713-e64a-43f9-8248-de738edb1c50 --state available
# openstack volume set dc496713-e64a-43f9-8248-de738edb1c50 --size 40
# openstack volume set dc496713-e64a-43f9-8248-de738edb1c50 --state in-use
3、扩展非系统盘:将原来10G扩到15G