在云上部署业务时,您可以手动导入服务器的镜像文件,也可以由阿里云自动为您的服务器生成ECS镜像。本文介绍这两种导入的应用场景和操作步骤。

前提条件

手动导入镜像前,请您确认已完成以下操作:

操作权限说明

  • ECS对OSS资源的访问权限

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

  • OSS Bucket的操作权限
    如果您是RAM用户,需先联系阿里云账号授权您拥有OSS Bucket的操作权限。
    1. 阿里云账号为RAM用户创建自定义权限策略。具体操作,请参见通过脚本编辑模式创建自定义权限策略
      • 仅为RAM用户授予OSS Bucket读权限
        如果您需要通过阿里云账号完成下述步骤1 在OSS控制台创建Bucket并上传镜像文件,通过RAM用户完成下述步骤3 在ECS控制台导入自定义镜像,则仅需要为RAM用户授予OSS Bucket的读权限。创建自定义权限策略如下:
        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "oss:GetObject",
                        "oss:GetBucketLocation",
                        "oss:GetBucketInfo"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      • 为RAM用户授予OSS Bucket读写权限
        如果您需要通过RAM用户完成下述步骤1 在OSS控制台创建Bucket并上传镜像文件步骤3 在ECS控制台导入自定义镜像,则需要为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的访问权限
      注意 请确认上述步骤中,阿里云账号为该RAM用户添加的是整个云账号还是指定资源组权限,如果是指定资源组权限,请在导入镜像时确保选择相同的资源组。

应用场景

自动导入和手动导入自定义镜像的应用场景如下:
功能 应用场景 操作步骤
自动导入 将一台或多台服务器(包括IDC服务器、虚拟机、其他云平台的云主机或其他类型的服务器)迁移至阿里云。 自动导入
手动导入 阿里云没有可用的操作系统类型供您选择。例如:
  • 服务器的操作系统类型在阿里云不存在。
  • 服务器操作系统版本在阿里云已下线。
  • 服务器的操作系统为线下定制系统。

手动导入自定义镜像功能,支持设置不同的许可证类型激活源操作系统,以降低您在云上使用镜像的费用。许可证类型的更多信息,请参见导入镜像参数说明

手动导入

自动导入

请您完成以下操作,由服务器迁移中心SMC为您的源服务器生成ECS镜像。

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 镜像
  3. 在顶部菜单栏左上角处,选择地域。
  4. 镜像页面右上角,单击SMC在线迁移
    页面跳转至服务器迁移中心SMC控制台。
  5. 通过SMC为源服务器生成ECS镜像。
    具体操作,请参见迁移流程。迁移完成后,SMC会为您的服务器生成一份自定义镜像。镜像名称以IMAGE_FROM_SMC开头。

手动导入

以下视频指导您如何手动导入自定义镜像。

请您完成以下操作,将服务器的本地镜像文件导入阿里云ECS。

步骤1 在OSS控制台创建Bucket并上传镜像文件

  1. 在OSS中创建Bucket。
    具体操作,请参见创建存储空间
  2. 在Bucket中上传本地镜像文件。
    具体操作,请参见上传文件
    说明
    • 通过OSS控制台上传的文件大小不能超过5 GB。超过5 GB的文件上传操作,请参见分片上传
    • 镜像文件仅支持RAW、VHD和QCOW2格式,且不能是压缩格式的文件。

(可选)步骤2 授权ECS服务访问OSS资源

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

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 镜像
  3. 在顶部菜单栏左上角处,选择地域。
    注意 请确保Bucket地域与导入镜像的地域是同一地域。
  4. 镜像页面右上角,单击导入镜像
  5. 云资源访问授权对话框,单击去授权
    去授权
  6. 查看到AliyunECSImageImportDefaultRoleAliyunECSExportDefaultRole角色,单击同意授权

步骤3 在ECS控制台导入自定义镜像

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 镜像
  3. 在顶部菜单栏左上角处,选择地域。
    注意 请确保Bucket地域与导入镜像的地域是同一地域。
  4. 镜像页面右上角,再次单击导入镜像
  5. 导入镜像对话框,完成以下设置。
    参数 是否必填 说明
    镜像所在地域 由系统自动设置为当前地域。如需更换地域,请在顶部菜单栏选择新的地域,并重新打开导入镜像对话框。
    注意 请确保Bucket地域与导入镜像的地域是同一地域。
    OSS Object地址 填写从OSS控制台获取的镜像文件Object地址。获取Object地址的具体操作,请参见分享文件
    您需要注意:
    • 必须在同一个阿里云账号下完成获取OSS Object地址以及导入镜像的操作。
    • 如果您是RAM用户,需先联系阿里云账号授权您拥有OSS Bucket的操作权限。更多信息,请参见操作权限说明
    • OSS Object地址必须是您通过分享文件操作生成的公网URL。由OSS提供的内网地址不支持在导入镜像时使用,否则会导入失败并报错。关于什么是OSS内网地址,请参见获取OSS内网地址
    镜像名称 填写镜像文件导入后显示的名称。长度为2~128个字符,以大小写字母或中文开头,可包含数字、英文句号(.)、下划线(_)、半角冒号(:)和短划线(-)。
    操作系统/平台 与OSS控制台导入的镜像操作系统/平台保持一致。
    • 操作系统:

      选择待导入镜像的操作系统类型。取值范围:Windows|Linux

      待导入镜像的操作系统为非标准平台时,应选择Linux

    • 平台:
      列表的值取决于操作系统的值。选择适用于待导入镜像的系统平台。
      • Windows:支持Windows Server 2003、Windows Server 2008、Windows Server 2012、Windows Server 2016、Windows Server 2019和Windows Server 2022。
      • Linux:支持CentOS、SUSE、OpenSUSE、Ubuntu、Debian、FreeBSD、CoreOS、Aliyun、Anolis、RedHat、CentOS Stream、AlmaLinux、Rocky Linux、Customized Linux、Kylin、UnionTech OS和Others Linux(请提交工单确认是否支持)。
      • 如果您的镜像的操作系统是根据Linux内核定制开发的,请提交工单联系我们。
    系统架构 与OSS控制台导入的镜像系统架构保持一致。
    • 64位操作系统选择x86_64
    • 32位操作系统选择i386
    • ARM64位操作系统选择arm64
    镜像检测 镜像检测功能主要检测导入的自定义镜像是否为有效镜像、自定义镜像是否可以创建出功能齐全的ECS实例等。
    选中导入后执行检测时,镜像检测功能会在该镜像导入完成后立即执行。检测完成后,您可以在自定义镜像列表状态列单击详情,查看镜像检测结果,并可针对检测结果中的修复建议进行修复。检测项范围及修复建议,请参见自定义镜像检测项说明
    说明 目前仅部分Linux操作系统支持镜像检测功能,支持的操作系统列表请参见自定义镜像检测功能支持的操作系统。如果您导入的镜像文件是该列表以外的操作系统,无法看到镜像检测项。
    系统盘大小(GiB) 填写系统盘的容量大小。系统盘大小范围为5 GiB~500 GiB,且不能小于镜像文件的大小。
    镜像格式 支持自动检测,或选择RAWQCOW2VHD格式,与OSS控制台导入的镜像文件格式保持一致。
    • 如果您不清楚镜像格式,可选择自动检测,系统将自动设置镜像格式。
    • 如果您自行选择镜像格式,推荐使用传输内容更小的QCOW2或者VHD格式。
    说明
    许可证类型 镜像导入之后,激活源操作系统要使用的许可证类型。取值范围:
    • 自带许可:源操作系统自带的许可证。采用自带许可时,需确保您的许可证密钥能够在阿里云使用。

      关于Red Hat云接入和Windows许可证的详细信息,请参见Red Hat云接入概述微软许可证与软件保障

    • 阿里云:根据您设置的系统平台值,采用阿里云官方渠道许可证。
    • 自动(默认值):由阿里云自动检测源操作系统并分配许可证。自动模式下,系统会自动搜索您设置的系统平台是否有阿里云官方渠道许可证,并做如下处理:
      • 如果有阿里云官方许可证,则分配给导入的镜像。
      • 如果没有该类许可,则切换成自带许可方式。
    描述 填写镜像描述信息,便于后续管理。
    添加数据盘镜像 您可以添加数据盘镜像。
    1. 选中添加数据盘镜像
    2. 单击增加
    3. 填写参数。
      • OSS Object地址:获取数据盘镜像的OSS Object地址的方法和系统盘一致。
      • 镜像格式:支持自动检测,或选择RAWQCOW2VHD格式,与OSS控制台导入的镜像文件格式保持一致。
      • 设备名:指定数据盘的设备名称。
      • 云盘容量:大小范围为5 GiB~2000 GiB,且不能小于镜像文件的大小。
    资源组 您可以设置资源组,对镜像进行分级管理。
    注意 阿里云账号为RAM用户添加权限策略时,如果授权范围是指定资源组权限,请确保该处选择相同的资源组。
    标签 您可以设置标签,将镜像归类,便于搜索与批量操作。
  6. 信息确认无误后,单击确定。系统会创建一个导入自定义镜像的任务。
  7. 可选:在目标地域的镜像列表中查看导入进度。
    说明 导入自定义镜像所需时间,取决于镜像文件的大小和当前导入任务的并发数,请您耐心等待。
    在任务完成前,您都可以通过任务管理找到该导入的自定义镜像,取消导入镜像任务。
    • 导入自定义镜像时,系统会自动生成一份快照,您可以在快照列表里看到快照信息。导入镜像任务未完成前,快照的状态会显示为失败。任务完成后,快照的状态自动更新为成功,镜像的状态自动更新为可用。快照的容量为导入的自定义镜像文件大小,与导入自定义镜像时设置的系统盘大小无关。目前快照容量已经收费,更多信息,请参见快照计费
    • 如果启用了镜像检测功能,镜像检测完成后,您可以在自定义镜像列表状态列单击详情,查看镜像检测结果。如果有待修复项,可参考修复建议进行修复。检测项范围及修复建议,请参见自定义镜像检测项说明

后续步骤

您可以使用导入的自定义镜像创建相同操作系统、应用程序和数据的ECS实例。具体操作,请参见使用自定义镜像创建实例