导出自定义镜像

创建自定义镜像后,您可以在ECS控制台导出镜像文件到OSS存储空间(OSS Bucket),并在OSS Bucket下载镜像文件到本地,用于本地镜像分析、本地备份等。本文介绍导出自定义镜像的相关注意事项及操作步骤。

前提条件

  • 已在自定义镜像所在地域创建OSS Bucket。具体操作,请参见控制台创建存储空间

  • 阿里云账号和RAM用户需满足导出自定义镜像的权限要求。更多信息,请参见操作权限说明

背景信息

限制条件

限制项

说明

镜像格式

不支持导出基于镜像市场镜像创建的自定义镜像。

操作系统

不支持导出Windows Server系列操作系统的镜像。

数据盘个数及容量

  • 不能超过4块。

  • 单块数据盘容量最大不能超过500 GiB。

    说明

    如果单块数据盘的容量超过500 GiB,请先将该盘中的数据分散转移到多个小于500 GiB的数据盘中,再使用小于500 GiB的数据盘创建和导出自定义镜像。

注意事项

注意项

说明

导出费用

由于导出镜像文件会存储到OSS Bucket中,所以导出自定义镜像会产生一定的OSS存储和下载的流量费用,以及对数据的每一次读写请求产生的请求费用。OSS的计费详情,请参见OSS计费概述

导出时长

导出镜像所需时间取决于自定义镜像文件的大小和当前导出任务的并发数,请您耐心等待。

导出的镜像文件

导出的自定义镜像包含数据盘快照时,您的OSS Bucket中会出现多个文件。

说明

文件名带有system的表示系统盘快照,文件名带有data的表示数据盘快照。数据盘快照会有与数据盘对应的标识,即数据盘的挂载点,例如xvdb或者xvdc。

其他项

  • 使用导出的全镜像创建相同配置的Linux系统时,您需要确认/etc/fstab中记录的文件设备是否与导出的数据盘快照信息互相对应。

  • 如果创建自定义镜像时云盘内无数据,那么导出镜像后解压缩也无数据。

  • 导出后的镜像不能保证在其他平台正常启动,但您可以挂载镜像中的磁盘获取数据。

操作权限说明

  • ECSOSS资源的访问权限

    使用阿里云账号访问RAM访问控制,授予ECSOSS资源的访问权限(即ECS通过扮演AliyunECSImageExportDefaultRole角色获得该权限)。

  • OSS Bucket的操作权限

    如果您是RAM用户,需先联系阿里云账号授权您拥有OSS Bucket的操作权限。

    1. 阿里云账号为RAM用户创建自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略

      • 仅为RAM用户授予OSS Bucket读权限

        如果您需要通过阿里云账号创建OSS Bucket,通过RAM用户导出自定义镜像,则仅需要为RAM用户授予OSS Bucket的读权限。创建自定义权限策略如下:

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "oss:GetObject",
                        "oss:GetBucketLocation",
                        "oss:GetBucketInfo"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      • RAM用户授予OSS Bucket读写权限

        如果您需要通过RAM用户创建OSS Bucket和导出自定义镜像,则需要为RAM用户授予OSS Bucket的读写权限。创建自定义权限策略如下:

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "oss:GetObject",
                        "oss:GetBucketLocation",
                        "oss:GetBucketInfo"
                        "oss:GetObject",
                        "oss:PutObject",
                        "oss:DeleteObject",
                        "oss:GetBucketLocation",
                        "oss:AbortMultipartUpload",
                        "oss:ListMultipartUploads",
                        "oss:ListParts",
                        "oss:GetBucketInfo",
                        "oss:GetBucketUserQos"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
    2. 阿里云账号为RAM用户添加自定义权限策略。具体操作,请参见RAM用户授权。如果需要为RAM用户授予特定OSS Bucket的读写权限,请参见教程示例:使用RAM Policy控制OSS的访问权限

操作步骤

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 镜像

  3. 在顶部菜单栏左上角处,选择地域。

    重要

    请确保该地域与Bucket地域是同一地域。

  4. 可选:授权ECS服务访问OSS的权限。

    如果您首次导出镜像,需使用阿里云账号访问RAM访问控制,授予ECSOSS资源的访问权限(即ECS通过扮演AliyunECSImageExportDefaultRole角色获得该权限)。如果该权限已满足,系统会自动跳过当前步骤。

    1. 找到要导出的目标镜像,在操作列,选择更多 > 导出镜像

    2. 云资源访问授权对话框,单击去授权

    3. 查看到AliyunECSImageImportDefaultRoleAliyunECSImageExportDefaultRole角色,单击同意授权

  5. 自定义镜像页签,找到目标镜像,在操作列选择更多 > 导出镜像

  6. 导出镜像对话框,配置如下参数。

    • 可选:选择镜像导出的格式,支持RAW、VHD、QCOW2、VDIVMDK格式。

      说明
      • 设置镜像导出格式功能仅在部分地域可用,支持的地域有印度(孟买)已关停、日本(东京)、澳大利亚(悉尼)、印度尼西亚(雅加达)、德国(法兰克福)、阿联酋(迪拜)、美国(弗吉尼亚)、英国(伦敦)、新加坡、马来西亚(吉隆坡)和美国(硅谷)。

      • 不支持设置镜像格式的地域,默认导出RAW格式的镜像。

    • OSS Bucket地址:选择与自定义镜像所属地域相同的OSS Bucket。

    • OSS Object地址:为自定义镜像的Object名称设置一个前缀。

      例如,将Demo设为前缀,则导出自定义镜像文件后,在OSS Bucket中的名称即为Demo-[系统自动生成的文件名]

  7. 单击确定,开始导出自定义镜像。导出时间取决于镜像文件的大小和当前导出任务队列的繁忙程度,请您耐心等待。您可以在任务管理中,通过任务ID查询任务进度,也可以登录OSS控制台查询结果。

    在任务完成前,您都可以通过任务管理,在相应地域下找到导出自定义镜像的任务,取消导出自定义镜像。

后续步骤

下载自定义镜像到本地。具体操作,请参见下载文件

说明

如果您导出时选择RAW作为镜像格式,导出后镜像文件扩展名默认为.raw.tar.gz,解压后扩展名为.raw。如果您的本地计算机为Mac OS X系统,推荐您使用gnu-tar解压工具。