在 OpenStack 中,我们对虚拟机实例做了修改后,可以以此实例为模版创建新的虚拟机镜像,其过程也很简单。
Table of Contents
- 创建实例的快照
- 下载快照到本地
- 从快照镜像生成镜像
- 从新镜像启动新实例
- 参考
创建实例的快照
- 找到将要作为模版的实例,并将其关掉。
1 2 3 4 5 6
| $ source ~/keystonerc_admin $ nova list ... | 8e640acc-6cca-4a4a-8ca5-763150d107bd | my_instance | ACTIVE | - | Running | V2018=192.168.18.20 | ... $ nova stop my_instance
|
- 确保实例已经关机。
1 2 3 4
| $ nova list ... | 8e640acc-6cca-4a4a-8ca5-763150d107bd | my_instance | ACTIVE | - | SHUTOFF | V2018=192.168.18.20 | ...
|
- 使用
nova image-create
创建实例快照。
1 2
| $ nova image-create --poll my_instance my_instance_snp Server snapshotting... 100% complete
|
- 确保 Nova 镜像处于
ACTIVE
状态。
1 2 3 4
| $ nova image-list ... | 5c8e13b7-2eea-4bf7-9440-c1e7c603380f | my_instance_snp | ACTIVE | 8e640acc-6cca-4a4a-8ca5-763150d107bd | ...
|
下载快照到本地
- 获取快照 ID。
1 2 3 4
| $ nova image-list ... | 5c8e13b7-2eea-4bf7-9440-c1e7c603380f | my_instance_snp | ACTIVE | 8e640acc-6cca-4a4a-8ca5-763150d107bd | ...
|
- 将快照下载到本地。使用快照 ID 而不是名字。
1
| $ glance image-download --file my_instance_image.qcow2 5c8e13b7-2eea-4bf7-9440-c1e7c603380f
|
- 如果需要,将镜像复制到新环境中。
从快照镜像生成镜像
1 2 3
| $ glance --os-image-api-version 1 image-create --container-format bare --disk-format qcow2 -name "my_new_image" --file my_instance_image.qcow2
$ glance --os-image-api-version 1 image-create --container-format bare --disk-format qcow2 -name "my_new_image" --copy_from my_instance_image_url
|
从新镜像启动新实例
1
| $ nova boot --flavor m1.tiny --image my_new_image my_new_instance
|
参考
- Use snapshots to migrate instances
- OpenStack – convert an instance to an image