前面我们已经将整个openstack环境进行了部署,也通过示例镜像创建了相关的虚拟机,但是如果用户自己想创建镜像怎么才能完成呢?
下面我们介绍一个比较直观的可视化界面可以做到的创建方法,利用libvirt虚拟化工具来创建。由于是界面化的安装步骤,所以我们不能再使用ubuntu的Server版本了,我们应该创建一个Ubuntu的Desktop版本,这次测试环境安装的版本为:ubuntukylin-14.04.2-desktop-amd64
一、安装KVM
1、我们需要检查BIOS是否开启了VI(虚拟化技术),我们可以在创建虚拟机之前来勾选该选项
2、检测VI
sm@smvm:~$ egrep -o "(vmx|svm)" /proc/cpuinfo
vmx
vmx
3、安装KVM
sm@smvm:~$ apt-get install qemu-kvm ubuntu-vm-builder bridge-utils
安装之后启用KVM内核模块
sm@smvm:~$ modprobe kvm
sm@smvm:~$ modprobe kvm_intel
sm@smvm:~$ modprobe kvm_amd
检查KVM是否安装成功
sm@smvm:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
当KVM模块安装成功之后,添加用户root到kvm组。
root@smvm:~$ adduser root kvm
Adding user 'root' to group 'kvm'...
二、安装Libvirt
安装很简单,只需执行如下命令即可
apt-get install libvirt-bin qemu virt-manager
1、启动libvirtd服务
sm@smvm:~$ service libvirt-bin restart
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.133" (uid=1000 pid=33566 comm="stop libvirt-bin ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.134" (uid=1000 pid=33560 comm="start libvirt-bin ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
2、启动管理界面
virt-manager
三、使用管理界面创建虚拟机镜像
1、点击编辑菜单,选择连接详情,然后点击存储选项,选择左下角的+号图标,添加存储池,设置一个名称disk,类型默认即可
2、选择存储池的路径,也就是你的镜像文件存储在什么地方
3、点击完成,系统可以看到新添加的信息(本图与实际的路径不符)
创建虚拟机
1、点击工具条的创建按钮,弹出新建虚拟机界面,输入虚拟机名称
2、用户可以直接在VM上添加安装操作系统的ISO,也可以直接将ISO上传到该操作系统中
3、默认CPU和内存
还记得上一篇文章在介绍云主机类型说的话么?我们在这里创建虚拟机,如果你的这个虚拟机是就在该操作系统中用,那么这个CPU和内存信息是受该操作系统的资源相关,如果你创建的虚拟机是作为镜像而用的,那么在OpenStack的中这些资源是无效的,OpenStack是受云主机类型而定的。
举例说明,默认这个虚拟机是1个CPU,1GB的内存,但是我将该虚拟机放到Openstack中,选择一个2CPU和4GB的内存的云主机类型,那么这个镜像就会按照2CPU和4GB的内存而走,而不受限于默认的1GB内存了。
选择管理或者其他现有存储
选择添加存储卷,在格式选择就需要留意是选择RAW还是qcow2,建议使用qcow2
本文不做类型解释:http://blog.chinaunix.net/uid-14735472-id-4220089.html
我们可以看到新创建的类型,选择即可
接下来一切默认即可。包括这个网络也是跟前面说的内存和CPU一个意思。
然后我们就可以安装虚拟机了。之所以截取一个全图,就是让大家看看这里是在虚拟机中创建虚拟机