• 利用快照迁移实例
    • 创建实例的快照
    • 将这个快照镜像下载下来
    • 将这个快照导入到新系统中
    • 用新的快照启动实例

    利用快照迁移实例

    如果要用快照将实例从OpenStack Project迁移到云中,请使用如下方法。

    在源Project中:

    1. 创建实例的快照
    2. 将快照镜像下载下来

    在目的Project中:

    1. 将快照导入到新的环境中
    2. 用这个快照启动新实例

    注意:
    有些云提供商只允许管理员来进行这项操作。

    创建实例的快照

    1. 关闭您想要迁移的实例,确保在创建快照的时候所有的数据都已保存在硬盘中。如果有必要,您可以列出所有实例,来查看您想要迁移的那个实例的实例名。
    1. $ nova list
    2. +--------------------------------------+------------+--------+------------------------------+
    3. | ID | Name | Status | Networks |
    4. +--------------------------------------+------------+--------+------------------------------+
    5. | c41f3074-c82a-4837-8673-fa7e9fea7e11 | myInstance | ACTIVE | private=10.0.0.3 |
    6. +--------------------------------------+------------+--------+------------------------------+
    7. $ nova stop example
    1. nova list再列出实例,确定您要迁移的实例已经是SHUTOFF的状态了:
    1. $ nova list
    2. +--------------------------------------+------------+---------+------------------+
    3. | ID | Name | Status | Networks |
    4. +--------------------------------------+------------+---------+------------------+
    5. | c41f3074-c82a-4837-8673-fa7e9fea7e11 | myInstance | SHUTOFF | private=10.0.0.3 |
    6. +--------------------------------------+------------+---------+------------------+
    1. nova image-create命令来创建新快照:
    1. $ nova image-create --poll myInstance myInstanceSnapshot
    2. Instance snapshotting... 50% complete
    1. nova image-list命令检查镜像的状态,直到状态变为ACTIVE
    1. $ nova image-list
    2. +--------------------------------------+---------------------------------+--------+--------+
    3. | ID | Name | Status | Server |
    4. +--------------------------------------+---------------------------------+--------+--------+
    5. | 657ebb01-6fae-47dc-986a-e49c4dd8c433 | cirros-0.3.2-x86_64-uec | ACTIVE | |
    6. | 72074c6d-bf52-4a56-a61c-02a17bf3819b | cirros-0.3.2-x86_64-uec-kernel | ACTIVE | |
    7. | 3c5e5f06-637b-413e-90f6-ca7ed015ec9e | cirros-0.3.2-x86_64-uec-ramdisk | ACTIVE | |
    8. | f30b204e-1ce6-40e7-b8d9-b353d4d84e7d | myInstanceSnapshot | ACTIVE | |
    9. +--------------------------------------+---------------------------------+--------+--------+

    将这个快照镜像下载下来

    1. 找到镜像的ID
    1. $ nova image-list
    2. +-------------------+-------------------+--------+--------------------------------------+
    3. | ID | Name | Status | Server |
    4. +-------------------+-------------------+--------+--------------------------------------+
    5. | f30b204e-1ce6... | myInstanceSnapshot| ACTIVE | c41f3074-c82a-4837-8673-fa7e9fea7e11 |
    6. +------------------+-------------------+--------+---------------------------------------+
    1. 用上一步查询到的镜像ID来下载镜像
    1. $ glance image-download --file snapshot.raw
    2. f30b204e-1ce6-40e7-b8d9-b353d4d84e7d

    注意:
    glance image-download这个命令要求必须使用镜像ID,不能使用镜像名。此外,您还要确保您的目标文件夹有足够的空间来存储这个镜像文件。

    1. 将该镜像转移到新环境中,用HTTP或者直接上传(scp),任何方法都可以。

    将这个快照导入到新系统中

    在新的Project或者云环境中,导入快照:

    1. $ glance image-create --copy-from IMAGE_URL

    用新的快照启动实例

    在新的Project或者云环境中,用新的快照启动实例:

    1. $ nova boot --flavor m1.tiny --image myInstanceSnapshot myNewInstance