当在虚拟机中安装有软件后,为了使用镜像创建虚拟机不再安装软件,而是创建后就会自动安装,需要将原虚拟机导出为镜像。
如下虚拟机,修改密码后,重新打成镜像,创建出虚拟机后,使用新密码登录
查询出镜像所在位置,执行qemu-img convert -c -O qcow2 /var/lib/nova/instances/c4fcf7dd-74db-4091-93d8-d611248553eb/disk caesar.qcow2 -p 将镜像转化为想要的名称*.qcow2
创建镜像 glance image-create --name river --visibility public --container-format bare --disk-format qcow2 --file ./caesar.qcow2
创建虚拟机 nova boot river --image 5808f608-2b30-4b65-8c2f-436b4d2b5734 --nic net-id=ffe7b6bc-1e0f-457f-b09b-8e1c5b74db6c --flavor 1
登录虚拟机,使用新密码登录,且在原来虚拟机中创建的文件caesar.txt。使用镜像创建的虚拟机中也存在。
以上是使用本地盘,若使用cinder 卷,需要使用 cinder upload-to-image --container-format bare --disk-format qcow2 <卷id>d40205f9-ecef-491b-90b8-2ce12c6fbb7c <镜像名> cirros 更新镜像,并使用 glance image-download <镜像id> --file <下载位置> 下载此镜像供后续使用。
创建虚拟机 nova boot --flavor 1 --block-device source=image, id=5808f608-2b30-4b65-8c2f-436b4d2b5734,dest=volume,size=1,shutdown=preserve,bootindex=0 hill
基于image创建block volume,然后从这个volume中boot instance hill,shutdown选项选为preserve, 在instance关闭时, volume会被save下来;其中size选项要求大于等于flavor中的disk大小。
虚拟机使用lvm,如下
登录虚拟机,在caesar.txt文件中添加如下,并更新镜像
使用新镜像,创建虚拟机(本地盘),并 novnc登录虚拟机,检查caesar.txt文件