NoOps

Ops make no ops | Ops的目标是没有Ops,嗯!

OpenStack创建虚拟机镜像

作者: |   2,646 浏览  | 

随着小米私有云服务正式上线,虚拟机的创建会更加的标准化,因此本文介绍两种创建虚拟机的方法。

第一种方法:白手起家

其实这种方法在网上有很多类似的方法,也是我们最早使用的创建镜像的方法。系统环境:ubuntu 12.04

1)创建镜像文件

首先创建一个大小为40G的镜像文件,文件格式为qcow2,qcow2为目前较为主流,性能较其他格式也有些许提升。

2)创建虚拟机

然后用VNC客户端进行登录,正常的安装虚拟机,注意分区的时候最好不要创建交换分区。为了避免重复工作,我们可以先在上面做好一些初始化工作。

3)上传镜像到glance

接下来将我们才做好的虚拟机镜像上传到glance当中即可。

第二种方法:亡羊补牢

由于种种原因,我们之前做的镜像已经不能满足我们的需求,我们又不想重新创建镜像,则可以采用以下方法。系统环境:centos6.3

1)首先在OpenStack使用原有镜像创建一台虚拟机。

接下来我们在这台虚拟机进行类似补栅栏(补牢)的工作,继续进行我们未完成的初始化工作。

2)制作镜像

我们首先要找到该虚拟机镜像所在的位置。最简单的方法就是在dashboard的管理员当中的云主机选项可以找到镜像所在那个物理机上。

镜像制作

 

在虚拟机概况中我们可以看到当前虚拟机的ID,以该虚拟机为例,ID为0e73b51e-0c0f-4e4f-a0e4-43c00b6fc230

镜像制作1

我们在该物理机的/var/lib/nova/instances/0e73b51e-0c0f-4e4f-a0e4-43c00b6fc230目录下可以看到有关该虚拟机的镜像和配置文件,通常为disk文件。

这里要说明一下,该镜像文件我们不能直接上传到glance上作为虚拟机镜像,否则用该镜像创建虚拟机时会出现如下错误。

使用qemu-info查看镜像信息可以看到如下内容。

相比一般的镜像文件多出来一个backing file字段。如何将其转换为一般的镜像格式,我这里使用的方法就是做一次格式转换。首先先备份一下镜像,然后做格式转换。

之后将转换好的镜像上传到glance上即可。

发表评论