您可以参见本文档中的步骤,将您的物理机迁移至阿里云。
背景信息
准备工作完成后,即可开始正式的迁移操作。详情请参见迁移虚拟机至阿里云。如果您是第一次进行服务器迁移,建议先使用测试机演练。
Windows系统迁移至阿里云
- 创建快照以备份数据。
- 确保系统时间与所在地域的标准时间一致。
- 确保您的待迁移虚拟机出方向能访问下列网址及端口。
- 服务器迁移中心SMC所需的
https://smc.aliyuncs.com:443
端口。 - 迁移过程中,连接中转实例所需的端口8080和8703。
说明 迁移过程中,SMC自动创建、启动、停止和释放中转实例No_Delete_SMC_Transition_Instance。中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口。
- 服务器迁移中心SMC所需的
- 检查虚拟化应用。阿里云的普通ECS实例不支持嵌套虚拟化软件,所以VMware Workstation/Virtual Box/Hyper-V等只能在物理机环境使用的虚拟机软件将不再支持。
- 检查并确保Windows系统VSS服务为启动状态。
- 检查是否安装了QEMU Guest Agent软件。如果安装了此工具软件,您需要先卸载。卸载的具体步骤,请参见Windows服务器卡在Prepare For Rsync Disk 0阶段,怎么办。
- 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(license)失效,您需要做好检查。
Linux系统迁移至阿里云
- 创建快照以备份数据。
- 确保系统时间与所在地域的标准时间一致。
- 确保您的待迁移虚拟机出方向能访问下列网址及端口。
- 服务器迁移中心SMC所需的
https://smc.aliyuncs.com:443
端口。 - 迁移过程中,连接中转实例所需的端口8080和8703。
说明 迁移过程中,SMC自动创建、启动、停止和释放中转实例No_Delete_SMC_Transition_Instance。中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口。
- 服务器迁移中心SMC所需的
- 检查SELinux。对于CentOS/Red Hat系列内核系统,一般需要检查SELinux服务是否禁用或关闭。如果没有关闭,您可以采用下列方法之一将其关闭。
- 运行命令setenforce 0临时将其关闭。
- 修改/etc/selinux/config文件,配置
SELINUX=disabled
永久禁用SELinux。详情请参见开启或关闭SELinux。
- 检查虚拟化驱动。具体请参见安装virtio驱动。
- 检查GRUB引导程序。部分低内核版本如CentOS 5/Red Hat 5、Debian 7需要将GRUB升级至1.99及以上版本。具体操作步骤,请参见如何为Linux服务器安装GRUB。
- 检查虚拟化应用。阿里云的普通ECS实例不支持嵌套虚拟化软件,所以VMware Workstation/Virtual Box/Hyper-V等只能在物理机环境使用的虚拟机软件将不再支持。
- 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(license)失效,您需要做好检查。
迁移虚拟机至阿里云
请先准备阿里云账号并了解注意事项,详情请参见准备工作(迁移前必读)。
- 下载并解压SMC客户端。
- 下载SMC客户端。如果您的迁移源可以访问公网,也可以直接在迁移源上下载SMC客户端。说明 客户端会不定期更新,建议您登录SMC控制台,在页面右上角单击最新版本迁移客户端下载获取并使用最新版本的SMC客户端。
- 将SMC客户端上传至迁移源。
- 您可以搭建FTP站点上传文件,具体操作请参见手动搭建FTP站点(Windows)或手动搭建FTP站点(CentOS 7)。
- 您也可以使用支持文件传输的第三方远程连接工具将SMC客户端上传至迁移源。
- 解压SMC客户端。SMC客户端为Windows和Linux系统均提供32位和64位版本(i386表示32位,x86_64表示64位)。请根据迁移源的平台类型,选择相应的客户端版本。以Windows系统为例,解压后的客户端文件夹,如下图所示。说明 Linux系统中使用unzip <SMC客户端压缩包名称>命令解压SMC客户端,如果您的源服务器未安装unzip插件,请先安装。例如,CentOS 7的安装命令为yum -y install unzip。
- 解压适配您迁移源系统版本的客户端压缩包。解压后文件夹中包含的目录和文件,如下图所示。
表 1. SMC客户端主要文件说明 文件(夹)名 描述 go2aliyun_client.exe (Windows版本)命令行主程序。 go2aliyun_gui.exe (Windows版本) GUI主程序。GUI版本详情,请参见使用SMC客户端Windows GUI版本。 go2aliyun_client (Linux版本)命令行主程序。 user_config.json 迁移源和迁移目标的配置文件。 Excludes 排除不迁移文件目录的配置文件夹。 client_data 迁移数据文件,包含ECS中转实例信息和迁移进度等。
- 下载SMC客户端。
- (可选)排除不迁移的文件或目录。说明 如果开启块复制功能迁移,则不支持排除不迁移的文件或目录。
-
系统盘配置文件:rsync_excludes_win.txt(Windows系统)或rsync_excludes_linux.txt(Linux系统)
-
数据盘配置文件:在系统盘的基础上以disk[磁盘索引编号]后缀命名,如rsync_excludes_win_disk1.txt(Windows系统)或rsync_excludes_linux_disk1.txt(Linux系统)
不同操作系统的配置示例如下所示:- 配置示例一:为Windows服务器排除不迁移的文件或目录
- 系统盘
- 待排除的文件或目录:
C:\MyDirs\Docs\Words C:\MyDirs\Docs\Excels\Report1.txt
- 在rsync_excludes_win.txt中添加内容:
/MyDirs/Docs/Words/ /MyDirs/Docs/Excels/Report1.txt
- 待排除的文件或目录:
- 数据盘
- 待排除的文件或目录:
D:\MyDirs2\Docs2\Words2 D:\MyDirs2\Docs2\Excels\Report2.txt
- 在rsync_excludes_win_disk1.txt中添加内容:
/MyDirs2/Docs2/Words2/ /MyDirs2/Docs2/Excels2/Report2.txt
说明排除Windows路径时,您需要:- 去掉路径前缀(scr_path),例如去掉上述示例中的
D:
。 - 将原路径中的
\
替换为/
。
- 待排除的文件或目录:
- 系统盘
- 配置示例二:为Linux服务器排除不迁移的文件或目录
-
系统盘(根目录 /)
- 待排除的文件或目录为:
/var/mydirs/docs/words /var/mydirs/docs/excels/report1.txt
- 在rsync_excludes_linux.txt中添加内容:
/var/mydirs/docs/words/ /var/mydirs/docs/excels/report1.txt
- 待排除的文件或目录为:
-
数据盘
- 待排除的文件或目录为:
/mnt/disk1/mydirs2/docs2/words2 /mnt/disk1/mydirs2/docs2/excels2/report2.txt
- 在rsync_excludes_linux_disk1.txt中添加内容:
/mydirs2/docs2/words2/ /mydirs2/docs2/excels2/report2.txt
说明 排除Linux路径时需要去掉路径前缀(scr_path),例如去掉上述示例中的/mnt/disk1。 - 待排除的文件或目录为:
-
-
- 运行SMC客户端以导入迁移源信息。
- 进入适配您迁移源系统版本的客户端文件夹,运行SMC客户端。
- Windows系统:选择以下任一方式运行。
- GUI版本:双击运行go2aliyun_gui.exe应用程序。
- 命令行版本:双击运行go2aliyun_client.exe应用程序。
说明 程序运行时会提示需要管理员权限,单击确定。 - Linux系统:根据迁移源操作系统对root权限和sudo权限的支持情况,选择运行方式。
- 在go2aliyun_client所在目录下,使用root权限依次运行以下命令。
chmod +x go2aliyun_client
./go2aliyun_client
- 在go2aliyun_client所在目录下,使用sudo权限依次运行以下命令。
sudo chmod +x ./go2aliyun_client
sudo ./go2aliyun_client
您也可以根据迁移源系统对权限的支持情况,不运行上述命令,而选择运行以下命令快速导入迁移源,可跳过下一步(即输入账号的访问密钥)。- 使用root权限
./go2aliyun_client --accessid=<Your AccessKeyID> --secretkey=<Your AccessKeySecret>
- 使用sudo权限
sudo ./go2aliyun_client --accessid=<Your AccessKeyID> --secretkey=<Your AccessKeySecret>
- 在go2aliyun_client所在目录下,使用root权限依次运行以下命令。
- Windows系统:选择以下任一方式运行。
- 输入账号的访问密钥(AccessKey)。说明 如果您输入的AccessKey不正确,请在user_config.json文件中删除access_id和secret_key的值,并重新运行客户端。
- Windows系统
- GUI版本:在账号AK和账号SK文本框中,分别输入AccessKeyId和AccessKeySecret后,单击运行。详情请参见Window GUI版本控制台迁移模式。
- 命令行版本: 输入访问密钥的AccessKeyId和AccessKeySecret,并按
Enter
键。
- Linux系统
输入访问密钥的AccessKeyId和AccessKeySecret,并按
Enter
键。可能会出现以下提示信息:- 多数主流迁移源系统已默认安装rsync。若没有安装,则SMC客户端会提示,请输入yes自动安装rsync,如下图所示。
- 若迁移源系统的SELinux处于开启状态,则SMC客户端会提示您关闭。请输入yes自动关闭SELinux,如下图所示。
- Windows系统
注意 请勿关闭客户端直至迁移完成。否则,迁移源将与SMC控制台失去联系,无法完成迁移。 - 进入适配您迁移源系统版本的客户端文件夹,运行SMC客户端。
- 登录SMC控制台。
- 创建迁移任务。
- 在左侧导航栏,单击迁移源。
- 选择要迁移的迁移源。您可以从客户端界面获取迁移源ID,如下图所示,并根据迁移源ID找到目标迁移源。查找迁移源,请参见如何查找迁移源。
- 单击创建迁移任务。
- 在创建迁移任务页面,阅读迁移提示并配置迁移任务。
迁移任务基本配置说明:
- 目标地域(必填):您的源服务器要迁入的阿里云地域ID。地域详情,请参见地域和可用区。
- 任务名称:迁移任务的名称。
说明 同一阿里云地域下,任务名称必须唯一。
- 任务描述:迁移任务的描述。
- 目标磁盘(GiB):设置目标服务器的磁盘结构。
配置项说明表如下:
配置项 是否必选 说明 是否启用块复制 否 - 选中复选框:使用块复制能有效提升迁移传输速度的稳定性,同时能够保证跟源分区结构一致,但分区大小无法修改。此外分区<N>配置项后会生成是否开启块复制开关。
- 不选中复选框:使用默认的文件级别迁移,分区大小可修改。
系统盘 是 - 系统盘:目标阿里云服务器ECS系统盘的大小,单位为GiB。 取值范围:20~500。目标系统盘取值需要大于迁移源系统盘实际占用大小。例如,源系统盘大小为500GiB,实际占用100GiB,则目标系统盘取值需大于100GiB。
说明 默认值为迁移源系统盘大小,如无缩小系统盘容量需要,建议不要小于默认值。
- 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。 取值范围:0~98。变量
<N>
表示第几个分区。如果迁移源的系统盘是单分区结构,则只会生成分区0。 - 是否开启块复制:仅当打开上述的是否启用块复制开关后,才会出现该开关。SMC会根据迁移源磁盘分区状态进行判断是否支持开启块复制。
- 如果迁移源不支持分区开启块复制,则该开关无法打开。
- 如果迁移源支持分区开启块复制,您可以打开开关,实现分区级别的磁盘迁移。
数据盘<N> 否 - 数据盘<N>:目标阿里云服务器ECS数据盘的大小,单位为GiB。 取值范围:20~32768。
- 您可以设置数据盘前复选框的选中情况,自行选择是否生成目标数据盘。
- 变量
<N>
表示第几个数据盘。 - 目标数据盘取值需要大于迁移源数据盘的实际占用大小。例如,源数据盘大小为500GiB,实际占用100GiB,则目标数据盘取值需大于100GiB。
- 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。 取值范围:0~141。变量
<N>
表示第几个分区。如果迁移源的数据盘是单分区结构,则只会生成分区0。 - 是否开启块复制:仅当打开上述的是否启用块复制开关后,才会出现该开关。SMC会根据迁移源磁盘分区状态进行判断是否支持开启块复制。
- 如果迁移源不支持分区开启块复制,则该开关无法打开。
- 如果迁移源支持分区开启块复制,您可以打开开关,实现分区级别的磁盘迁移。
说明 若您的迁移源没有数据盘,或数据盘未挂载,不会出现数据盘配置项。更多信息,请参见为什么新建迁移任务页面没有出现数据盘配置项?怎么办? - 目标类型:设置迁移源迁移至阿里云的目标类型。
- 选择云服务器镜像。配置项说明如下:
配置项 是否必选 说明 镜像名称 否 SMC为迁移源生成的目标阿里云镜像名称。 说明 同一阿里云地域下,镜像名称必须唯一。自动增量同步 否 迁移任务是否自动同步源服务器增量数据至阿里云。 - 开启该开关后,需设置以下配置项:
- 同步重复频率:增量迁移任务周期性自动执行的时间间隔。
- 最大镜像保留数:增量迁移任务默认保留的最大镜像数。
- 关闭该开关后,迁移任务仅执行一次。
- 开启该开关后,需设置以下配置项:
- 选择云服务器实例。配置项说明如下:
说明 迁移源和目标实例的存储、操作系统等需要适配。迁移至目标实例最佳实践,请参见源服务器迁移至目标实例。
目标实例:选择一个ECS实例作为目标实例。
- 选择容器镜像。配置项说明如下:
说明 Windows操作系统的迁移源不支持迁移至容器镜像。迁移至容器镜像最佳实践,请参见源服务器迁移至容器镜像。
配置项 是否必选 说明 容器镜像命名空间 是 存放迁移生成的容器镜像仓库的命名空间。 容器镜像仓库名称 是 存放迁移生成的容器镜像的仓库地址。 容器镜像版本 否 存放迁移生成的容器镜像的版本信息。 容器镜像的RAM角色 是 绑定中转实例的实例角色。
- 选择云服务器镜像。配置项说明如下:
- 执行方式:迁移任务的执行方式。
- 立即执行:创建迁移任务后立即启动。
- 预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。
说明 预约执行时间最早可设置为当前时间后10分钟。
- 只创建:仅创建迁移任务,需要手动启动迁移任务。
默认值:立即执行。
标签与网络(可选)说明:
- 迁移任务标签:为迁移任务绑定标签键值,便于查询与管理迁移任务。
说明 同一个迁移任务最多可绑定20个标签。
- 网络模式:传输迁移数据到中转实例使用的网络。中转实例会被创建在所选专有网络(VPC)、交换机(VSwitch)下,因此中转实例会被分配公网IP。
配置项说明表如下:
配置项 说明 公网传输 迁移数据通过公网传输到中转实例。使用该模式,源服务器需能访问公网。根据实际需要,选择是否指定专有网络(VPC)和交换机(VSwitch)。 - 指定VPC和VSwitch:迁移任务在您指定的VPC和VSwitch下创建中转实例。
批量迁移时,为每个迁移任务指定相同的VPC和VSwitch,可提高VPC的复用率,每次批量迁移的最大值可达到100台迁移源。
- 不指定VPC和VSwitch:迁移任务在系统自动新建的VPC和VSwitch下创建中转实例。
批量迁移时,若不指定VPC和VSwitch,SMC会为每个中转实例创建一个VPC。
说明 由于每个账号在一个地域下的VPC限额为10(包括您创建的VPC和SMC自动创建的VPC),因此每次批量迁移的最大值不超过10台迁移源。如需提高VPC限额,请提交工单。
内网传输 迁移数据通过VPC内网传输到中转实例。使用该模式,需要将源服务器与阿里云VPC打通,并且必须指定VPC和VSwitch。 说明 如果您能直接从自建机房(Integrated Data Center,IDC)、虚拟机环境或者云主机访问某一阿里云地域下的专有网络VPC,建议您使用该方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC。 - 指定VPC和VSwitch:迁移任务在您指定的VPC和VSwitch下创建中转实例。
高级配置(可选)说明:- 传输限速(KB/s):迁移过程中,数据传输的带宽上限限制,单位为KB/s。
默认值:0。表示不限制带宽速度。
- 压缩率:迁移过程中,数据压缩传输的级别。 请根据您的实际需要,设置压缩率。
- 在带宽有限的环境下,使用高压缩率,可提升数据的传输速度。
- 在带宽很高的情况下,建议您不压缩传输数据,可减少对迁移源CPU资源的耗费。
默认值:0。即不压缩传输数据。
- Checksum验证:开启后,可增强数据一致性校验,但是可能会降低传输速度。
默认值:关闭。
- 配置完成后,单击确定。
- 启动迁移任务。说明 为立即执行的迁移任务请跳过本步骤。只创建或预约执行的迁移任务可以按照本步骤手动启动迁移任务。
- 在左侧导航栏,单击迁移任务。
- 找到需要启动的迁移任务,在操作列单击开始任务。
- 如需批量启动迁移任务,勾选多个迁移任务,并单击开始/重试。每个迁移任务的状态必须为未开始、已暂停或出错。
- 如需暂停迁移任务,在迁移任务状态为同步中时,单击操作列的暂停任务。
后续步骤
- 当您的目标镜像为云服务器镜像时,可以通过自定义镜像创建实例。创建实例的具体操作请参见使用自定义镜像创建实例。
- 当您的目标镜像为容器镜像时,可以通过容器镜像部署应用。示例操作请参见验证容器镜像。