使用快照迁移实例¶
本指南可用于在不同的云之间迁移实例。
要使用快照将实例从 OpenStack 项目迁移到云,请完成以下步骤。
在源项目
在目标项目
注意
一些云服务提供商只允许管理员执行此任务。
创建实例的快照¶
在拍摄快照之前关闭源虚拟机,以确保所有数据都刷新到磁盘。如果需要,列出实例以查看实例名称
$ openstack server list +--------------------------------------+------------+--------+------------------+--------------------+-------------------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+------------+--------+------------------+--------------------+-------------------------+ | d0d1b7d9-a6a5-41d3-96ab-07975aadd7fb | myInstance | ACTIVE | private=10.0.0.3 | ubuntu-16.04-amd64 | general.micro.tmp.linux | +--------------------------------------+------------+--------+------------------+--------------------+-------------------------+
使用 openstack server stop 命令关闭实例
$ openstack server stop myInstance
使用 openstack server list 命令确认实例显示
SHUTOFF状态$ openstack server list +--------------------------------------+------------+---------+------------------+--------------------+-------------------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+------------+---------+------------------+--------------------+-------------------------+ | d0d1b7d9-a6a5-41d3-96ab-07975aadd7fb | myInstance | SHUTOFF | private=10.0.0.3 | ubuntu-16.04-amd64 | general.micro.tmp.linux | +--------------------------------------+------------+---------+------------------+--------------------+-------------------------+
使用 openstack server image create 命令拍摄快照
$ openstack server image create --name myInstanceSnapshot myInstance
如果快照操作经常因为用户令牌在上传大型磁盘镜像时超时而失败,请考虑配置 nova 使用 服务用户令牌。
使用 openstack image list 命令检查状态,直到状态为
ACTIVE$ openstack image list +--------------------------------------+---------------------------+--------+ | ID | Name | Status | +--------------------------------------+---------------------------+--------+ | ab567a44-b670-4d22-8ead-80050dfcd280 | myInstanceSnapshot | active | +--------------------------------------+---------------------------+--------+
将快照下载为镜像¶
获取镜像 ID
$ openstack image list +--------------------------------------+---------------------------+--------+ | ID | Name | Status | +--------------------------------------+---------------------------+--------+ | ab567a44-b670-4d22-8ead-80050dfcd280 | myInstanceSnapshot | active | +--------------------------------------+---------------------------+--------+
使用在上一步中返回的镜像 ID 下载快照
$ openstack image save --file snapshot.raw ab567a44-b670-4d22-8ead-80050dfcd280
注意
openstack image save 命令需要镜像 ID,不能使用镜像名称。检查目标文件系统是否有足够的空间用于镜像文件。
通过 HTTP 或直接上传到机器(
scp)使镜像可用于新环境。
将快照导入到新环境¶
在新项目或云环境中,导入快照
$ openstack image create --container-format bare --disk-format qcow2 \
--file snapshot.raw myInstanceSnapshot
从快照启动新实例¶
在新项目或云环境中,使用快照创建新实例
$ openstack server create --flavor m1.tiny --image myInstanceSnapshot myNewInstance