由于容器具有成本低、高效部署、可移植性强、环境一致性等优势,您可以通过SMC将Linux源服务器迁移为容器镜像,然后使用容器镜像部署容器应用,从而实现低成本容器化应用迁移。
说明 阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)是面向容器镜像、Helm Chart等符合OCI标准的云原生制品安全托管及高效分发平台。ACR企业版支持全球同步加速、大规模和大镜像分发加速、多代码源构建加速等全链路加速能力,与容器服务ACK无缝集成,帮助企业降低交付复杂度,打造云原生应用一站式解决方案。更多信息,请参见什么是容器镜像服务ACR。
阿里云容器服务Kubernetes版ACK(Container Service for Kubernetes)是全球首批通过Kubernetes一致性认证的服务平台,提供高性能的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理,让您轻松高效地在云端运行Kubernetes容器化应用。更多信息,请参见产品简介。
使用限制
仅x86架构Linux操作系统的服务器支持迁移为容器镜像。
迁移影响
在迁移之前,请先了解以下事项,具体如下表所示。
影响项 | 说明 |
迁移数据目录 | 迁移时,SMC能够获取迁移源的磁盘分区结构,在创建迁移任务时自动生成目标磁盘分区。在尽可能保持迁移源磁盘分区结构的同时,提高迁移的传输速率。 当未启用块复制时,默认会迁移系统根目录下的所有目录(包括挂载在根目录下的其他分区目录),生成一个系统盘分区。如果您需要将其他分区目录迁移为一个独立的数据盘,例如:/disk1,必须在创建迁移任务时选中并配置数据盘。如果不需要迁移某些分区目录,具体操作,请参见如何过滤、排除不需要迁移的文件或目录?。 当启用块复制时,默认只会迁移系统盘根分区目录,例如:/、/boot等分区。如果您需要迁移其他分区,必须在创建迁移任务时选中并配置数据盘。
|
中转实例 | 请勿干涉中转实例 。 每次迁移时,SMC会在您的阿里云目标账号下创建一台名为No_Delete_SMC_Transition_Instance 的临时中转实例(默认实例规格范围请参见中转实例规格有哪些),用于辅助迁移。为避免迁移失败,迁移过程中请勿停止、启动、重启或者释放中转实例。迁移完成后,该中转实例会自动释放。
说明 如果选择迁移到目标实例,目标实例即为中转实例。 |
IP地址 | 迁移后IP地址会发生变化,如果业务涉及IP地址的配置,迁移后请自行修改。 |
系统底层硬件设备 | 迁移后,系统底层硬件设备会发生变化,可能会导致某些与硬件绑定的应用许可证(License)失效,请做好检查。 |
前提条件
已完成服务器迁移前的准备工作。具体操作,请参见迁移前准备。
已开通容器镜像服务并创建镜像仓库。具体操作,请参见构建仓库与镜像。
已创建SMC中转实例所需的RAM角色。具体操作,请参见创建可信实体为阿里云服务的RAM角色。
关键参数说明如下。
可信实体类型选择阿里云服务。
角色类型选择普通服务角色。
受信服务选择云服务器。
已创建满足容器镜像迁移的自定义策略并为RAM角色授权该策略。具体操作,请参见创建自定义权限策略和为RAM角色授权。
自定义策略如下所示。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:GetAuthorizationToken",
"cr:PushRepository",
"cr:PullRepository",
"cr:CreateRepository"
],
"Resource": "*"
}
],
"Version": "1"
}
迁移操作
步骤一:导入迁移源
迁移源概指您的待迁移IDC服务器、虚拟机、其他云平台的云主机或其他类型的服务器。SMC支持多种导入迁移源方式,您可以根据实际需要选择对应的导入迁移源方式。更多信息,请参见如何选择导入迁移源方式?。
命令行一键导入迁移源(推荐)
登录SMC控制台。
在左侧导航栏,选择。
在服务器迁移页面,单击导入迁移源。
根据界面提示配置参数并复制激活码命令,关于参数的说明,具体如下表所示。
参数 | 说明 |
迁移源类型 | 选择阿里云ECS云服务器。 |
导入方式 | 选中命令行导入。 |
激活数额度 | 请输入激活码可激活的迁移源数量。取值范围为1~1000 ,默认为10。 |
有效期 | 请输入激活码的有效期。取值范围为1~90天,默认为30天。 |
激活码 | 生成激活码后,复制命令。操作步骤如下: 单击生成激活码。 单击Linux Shell页签。 单击复制,复制激活码命令。
|
登录源服务器,使用管理员权限粘贴并运行复制的命令,执行导入迁移源的操作。
登录Linux源服务器。
使用管理员权限粘贴并运行复制的命令,执行导入迁移源的操作。
执行命令后,出现类似Import Source Server [s-bp18x8751kgz2oyh****] Successfully!
回显信息,表示导入迁移源成功。
在SMC控制台的服务器迁移页面的迁移实时状态列,查看迁移源的状态。
通过控制台自动导入迁移源
登录SMC控制台。
在左侧导航栏,选择。
在服务器迁移页面,单击导入迁移源。
根据界面提示配置参数并复制激活码命令,关于参数的说明,具体如下表所示。
参数 | 说明 |
迁移源类型 | 选择物理机/虚拟机/云服务器。 |
导入方式 | 选中控制台导入。 |
迁移源名称 | 输入迁移源名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http:// 或https:// 开头。可以包含数字、半角冒号(:)、下划线(_)或者中划线(-)。 |
操作系统类型 | 选择Linux。 |
IP地址 | 请输入可通过公网访问的IPv4地址,例如:120.55.XX.XX。 |
端口 | 请输入迁移源端SSH服务端口号。取值范围:1~65535,默认为22。 |
用户名 | 请输入操作系统的用户名,默认为root 。 |
密码 | 请输入操作系统的用户名对应的密码。 |
配置参数后,单击导入。
导入迁移源大约需要3~10分钟,请您耐心等待。
在SMC控制台的服务器迁移页面的迁移实时状态列,查看迁移源的状态。
通过SMC客户端导入迁移源
关于SMC客户端的更多信息,请参见SMC客户端使用指南。
登录SMC控制台。
在左侧导航栏,选择。
在服务器迁移页面,单击导入迁移源。
在导入迁移源页面,配置相关参数,参数说明如下表所示。
参数 | 说明 |
迁移源类型 | 选择物理机/虚拟机/云服务器。 |
导入方式 | 选中客户端导入。 |
导入说明 | 在导入说明后,请根据源服务器操作系统的架构(Arm和x86)和位数(32位和64位),下载对应的SMC客户端。 |
导入迁移源。
重要 迁移的过程中请勿关闭SMC客户端直至迁移完成。否则,迁移源将与SMC控制台失去联系,无法完成迁移。
使用支持文件传输的第三方远程连接工具将SMC客户端压缩包上传至Linux源服务器。例如:WinSCP。
远程连接Linux源服务器并解压SMC客户端压缩包。
本示例中以解压Linux 64位通用版
为例,如果您使用其他版本的SMC客户端,命令中的压缩包名称需要替换为实际下载的SMC客户端名称。
tar xf go2aliyun_client_linux_x86_64.tar.gz
说明 Linux 64位ARM版支持的实例规格族为通用型实例规格族g6r和计算型实例规格族c6r。更多实例规格信息,请参见企业级ARM计算规格族群。
(可选)如果您不需要迁移部分文件或目录,可排除不迁移的文件或目录。具体操作,请参见如何过滤、排除不需要迁移的文件或目录?。
重要 如果开启块复制功能迁移,则不支持排除不迁移的文件或目录。
获取激活码或者访问密钥(AccessKey)。
在SMC客户端文件夹下,执行以下命令,运行SMC客户端。
cd go2aliyun_client_linux_x86_64
sudo chmod +x go2aliyun_client
sudo ./go2aliyun_client
根据提示信息,输入激活码或者访问密钥(AccessKey)。本示例以输入激活码为例:
输入激活码或者访问密钥后,可能会出现以下提示信息:
若迁移源系统没有安装快照驱动,则SMC客户端会提示,具体如下图所示,您可根据需求选择是否安装快照驱动。
重要 如果安装快照驱动失败,请勿在创建迁移任务时启用块复制,否则会导致迁移失败。
多数主流迁移源系统已默认安装rsync。若没有安装,则SMC客户端会提示,请输入yes
自动安装rsync,如下图所示。
若迁移源系统的SELinux处于开启状态,则SMC客户端会提示您关闭。请输入yes
自动关闭SELinux,如下图所示。
当回显出现类似Import Source Server [s-bp11npxndknsycqj****] Successfully!
的信息时,表示导入迁移源成功。
说明 如果导入迁移源失败,您可以根据回显信息,解决问题后,依次运行以下命令,退出后台程序并重新导入迁移源。常见问题及修复方案的更多信息,请参见SMC FAQ和故障排除。
sudo ./go2aliyun_client --abort
sudo ./go2aliyun_client
在SMC控制台的服务器迁移页面的迁移实时状态列,查看迁移源的状态。
步骤二:创建迁移任务
在目标迁移源的操作列,单击开始迁移。
根据界面提示配置相关参数后,单击立即创建。
配置基本参数,参数说明具体如下表所示。
参数 | 说明 | 示例 |
任务名称 | 迁移任务的名称。 | 容器迁移 |
任务描述 | 输入迁移任务的描述。 | test |
目标类型(必填) | 选择容器镜像。 | 容器镜像 |
目标地域(必填) | 目标地域指您的服务器要迁入阿里云的地域。关于地域的更多信息,请参见地域和可用区。 | 杭州 |
容器镜像命名空间(必填) | 选择存放迁移生成的容器镜像仓库的命名空间。如未创建命名空间,具体操作,请参见管理命名空间与配额。 | |
容器镜像仓库名称(必填) | 选择存放迁移生成的容器镜像的仓库名称。如未创建镜像仓库,具体操作,请参见构建仓库与镜像。 | |
容器镜像版本 | 输入存放迁移生成的容器镜像的版本信息。 | v1 |
容器镜像RAM角色(必填) | 选择绑定中转实例的实例角色。如未创建RAM角色,请参见创建可信实体为阿里云服务的RAM角色。 | |
执行方式 | 选择迁移任务执行方式: 立即执行:创建迁移任务后立即启动。默认选择立即执行。 预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。
说明 预约执行时间最早可设置为当前时间后10分钟。 只创建:仅创建迁移任务,后续需要在操作列单击开始任务,手动启动迁移任务。
| 保持默认 |
配置磁盘参数,参数说明具体如下表所示。
参数 | 说明 | 示例 |
目标磁盘(GiB) | 设置目标云服务器的磁盘结构。根据业务需求配置相关参数: 系统盘系统盘:目标阿里云云服务器系统盘的大小,单位为GiB。系统盘大小取值范围为20~2048。目标系统盘取值需要大于迁移源系统盘实际占用大小。例如,源系统盘大小为400 GiB,实际占用100 GiB,则目标系统盘取值需大于100 GiB。
说明 默认值为迁移源系统盘大小,如无缩小系统盘容量的需要,建议不要小于默认值。 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。N的取值范围:0~14。变量<N> 表示第几个分区。如果迁移源的系统盘是单分区结构,则只会生成分区0。
块复制SMC会根据迁移源磁盘分区状态进行判断是否支持开启块复制。
说明 迁移源为Windows操作系统时,块复制功能默认为开启状态,无法关闭该功能。 | 保持默认 |
(条件必选)如果您需要设置网络模式、压缩率等参数,单击高级配置,配置高级参数,参数说明具体如下表所示。
参数 | 说明 | 示例 |
网络模式 | 选择传输迁移数据到中转实例使用的网络,默认使用公网传输。中转实例会被创建在所选专有网络(VPC)、交换机(vSwitch)下,因此中转实例会被分配公网IP。 公网传输(默认)迁移数据通过公网传输到中转实例。使用该模式,源服务器需能访问公网。根据实际需要,选择是否指定专有网络(VPC)和交换机(vSwitch)。 私网传输迁移数据通过VPC内网传输到中转实例。使用该模式,需要将源服务器与阿里云VPC打通,并且必须指定VPC和vSwitch。
说明 如果您能直接从自建机房(Integrated Data Center,IDC)、虚拟机环境或者云主机访问某一阿里云地域下的专有网络VPC,建议您使用该方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC。 | 保持默认 |
传输限速 | 传输限速是限制实际网络传输速度,单位为Mbps。若设置压缩率大于0,实际网络传输速度(即压缩后数据的传输速度)小于迁移实时状态中显示的速度。 | 保持默认 |
压缩率 | 迁移过程中,数据压缩传输的级别。请根据您的实际需要,设置压缩率。 取值范围为0~10,默认值为7,0表示不压缩传输数据。 | 保持默认 |
Checksum验证 | 默认关闭,开启后,可增强数据一致性校验,但是可能会降低传输速度。 | 保持默认 |
迁移任务标签 | | 保持默认 |
中转实例规格 | 可根据实际需求选择中转实例规格。当目标类型选择云服务器镜像时,才会出现此参数。
重要 为避免迁移出错,请在迁移过程中请勿停止、启动、重启或者释放中转实例。 | 保持默认 |
在弹出的对话框中,仔细阅读迁移提示后,单击我确认我已知悉。
在迁移任务页面,查看迁移实时状态。
由于传输数据耗时受源端数据大小,网络带宽等因素影响,请耐心等待迁移任务完成。
说明 迁移任务状态为同步中时,速度和剩余同步时间说明如下:
在迁移任务状态为同步中时,您也可以根据实际需求,对迁移任务执行以下操作:
(可选)如需查看迁移的详情信息,参照以下步骤。
在目标迁移源的迁移源ID/名称列,单击欲查看的迁移源ID/名称值。如下图所示:
在迁移任务页签即可查看任务详情。如下图所示:
清理资源
迁移时,SMC会在您的阿里云目标账号下创建一台名称为No_Delete_SMC_Transition_Instance
的临时按量付费中转实例,用于辅助迁移。您需要根据迁移是否成功选择是否需要手动清理: