一、啥是ECS
是阿里云给你提供的一款性能卓越、稳定可靠、弹性扩展的IaaS级弹性计算服务。
免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
优惠活动地址:https://developer.aliyun.com/topic/ecs2022
二, 与普通IDC对比优势
ECS与普通IDC的优势对比如下表所示
三,windows迁移准备
您需要在源服务器中,完成以下准备工作:
- 1 创建快照以备份数据。
- 2 确保系统时间与所在地域的标准时间一致。
- 3 确保源服务器可以访问以下网址或服务器端口
- 服务器迁移中心SMC的接入地址以及端口号
https://smc.aliyuncs.com:443
。 - 迁移过程中,数据传输要访问中转实例的8080端口以及8703端口。
敲黑板: 迁移过程中,SMC自动创建、启动、停止和释放中转实例(实例名称默认为
No_Delete_SMC_Transition_Instance
)。中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口。
- 4 检查并确保Windows系统VSS服务为启动状态。
- 5 检查是否安装了QEMU Guest Agent软件。如果安装了此软件,您需要先卸载。具体操作,请看Windows服务器卡在Prepare For Rsync Disk 0阶段,怎么办?。
- 6 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(License)失效,您需要做好检查。
- 7 您还需要根据源服务器所处的环境不同,进行针对性检查。具体说明如下:
- 如果您待迁移的源服务器为物理机,则需要检查虚拟化应用。阿里云的普通ECS实例不支持嵌套虚拟化软件,因此不再支持
VMware Workstation、Virtual Box或者Hyper-V
等只能在物理机环境使用的虚拟机软件。
- 8 如果您待迁移的源服务器为AWS、Azure或者Google Cloud等云服务器,则需要检查网络环境。
- 如果您的网络可以打通VPC内网,建议在创建迁移任务时网络模式选择内网传输。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。
- 如果您待迁移的源服务器为中国或中国内地某云平台ECS Windows系统,则需要检查系统中是否安装了
QEMU Guest Agent VSS Provider
服务。如果已安装该服务,您可以尝试在类似于C:\Program Files (x86)\virtio\monitor的目录下找到并执行uninstall.bat脚本,卸载掉QEMU Guest Agent。
四,什么是迁移中心
服务器迁移中心SMC是阿里云自主研发的迁移平台,可把您的单台或多台源服务器迁移至阿里云上面来。
SMC能够把单台或多台迁移源迁移至阿里云,那么这个迁移源包括IDC服务器、虚拟机、以及其他云平台的云主机或其他类型的服务器。
1 SMC优势在哪里
- 能支持多平台、多环境迁移
- 支持多种Windows和Linux操作系统版本,详情请参见SMC支持的操作系统版本。
- 支持把源服务器从自建IDC机房、本地虚拟机(VMware、Virtual Box、Xen、KVM、Hyper-V等)、其他厂商云(亚马逊AWS、微软Azure、谷歌GCP、腾讯云、UCloud、电信云、青云等)迁移至阿里云。
- 不依赖源服务器的底层环境
- 支持P2C/V2C/C2C迁移。
- 支持多种格式文件系统、磁盘类型。
- 支持不停机迁移迁移过程无需停机,不会影响源服务器系统业务。
- 简单轻量且配置灵活
- SMC客户端轻量免安装。
- 提供多种迁移方案,支持按需配置。
- 一键运行迁移后,全程自动托管。
- 数据传输安全有保证
- 默认采用SSL 2048位RSA密钥加密传输通道。
- 支持通过VPN网关、高速通道物理专线等私网迁移。
2 SMC迁移原理是什么
服务器迁移中心SMC包含客户端和控制台两部分。首先通过客户端导入源服务器信息至控制台,将源服务器连接到您的阿里云账号。然后通过控制台为源服务器创建并启动迁移任务,将源服务器迁移至阿里云;
SMC迁移服务器的流程如下图所示
数据传输服务 (简称DTS)是阿里云提供的支持RDBMS、NoSQL、OLAP等多种数据源之间数据交互的数据服务。本文以MySQL数据库为例,介绍如何配置DTS迁移任务,实现ECS实例上自建数据库间的数据迁移。
3 前提条件
- 在目标ECS实例的安全组中放行MySQL监听的端口。MySQL监听的默认端口号为3306。
- 分别源ECS实例和目标ECS实例上的MySQL数据库创建非root账号。例如,您可以运行以下命令为MySQL数据库创建名为dts、密码为123456的账号。
grant all on *.* to 'dts'@'%' IDENTIFIED BY '123456';
五,迁移过程
开始迁移源服务器之前,请先准备阿里云账号并了解注意事项。
1 迁移客户端下载
使用支持文件传输的第三方远程连接工具将SMC客户端上传至源服务器。例如:WinSCP
解压SMC客户端压缩包。
根据源服务器操作系统不同,解压方式说明如下:
- Windows服务器:使用Windows自带的解压工具或您自行安装的解压工具,解压SMC客户端压缩包。
- Linux服务器:运行
unzip Alibaba_Cloud_Migration_Tool.zip
命令,解压SMC客户端压缩包。如果您的源服务器未安装unzip插件,请先安装。例如:CentOS 7的安装命令为yum -y install unzip
2 选择合适客户端
请根据源服务器的平台类型,选择相应的客户端版本。以Windows系统为例,解压后的客户端文件夹,如上图这样
解压适配您迁移源系统版本的客户端压缩包,解压后文件夹中包含的目录和文件,如下图所示。
敲黑板 :如果您不需要迁移部分文件或目录,可排除不迁移的文件或目录。具体操作,请参见如何过滤、排除不需要迁移的文件或目录?。
说明 如果开启块复制功能迁移,则不支持排除不迁移的文件或目录。
3 导入迁移源
运行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权限依次运行以下命令。
sudochmod+x ./go2aliyun_client sudo ./go2aliyun_client
您也可以根据迁移源系统对权限的支持情况,不运行上述命令,而选择运行以下命令快速导入迁移源,可跳过下一步(即输入阿里云账号的访问密钥)。
敲黑板 :阿里云账号的访问密钥AccessKey包括AccessKey ID和AccessKey Secret,如果您未创建AccessKey,请先创建。具体操作,请看如何获取AccessKey。
使用root权限
./go2aliyun_client --accessid=<AccessKey ID> --secretkey=<AccessKey Secret>
使用sudo权限
sudo ./go2aliyun_client --accessid=<AccessKey ID> --secretkey=<AccessKey Secret>
输入阿里云账号的访问密钥(AccessKey)。
敲黑板 :如果您输入的AccessKey不正确,请在user_config.json文件中删除access_id和secret_key的值,并重新运行客户端
1)Windows系统
- GUI版本 :在账号AK和账号SK文本框中,分别输入AccessKey ID和AccessKey Secret后,单击运行。更多信息,请参见使用SMC客户端Windows GUI版本。
- 命令行版本 : 输入访问密钥的AccessKey ID和AccessKey Secret,并按Enter键。
2)Linux系统
输入访问密钥的AccessKey ID和AccessKey Secret,并按Enter键。
可能会出现以下信息 :
- 若迁移源系统
没有安装快照驱动
,则SMC客户端会提示,具体如下图所示,您可根据需求选择是否安装快照驱动。
- 如果在创建迁移任务中启用块复制,输入yes,自动安装快照驱动。
- 如果在创建迁移任务中不启用块复制,输入no即可。
敲黑板 :如果安装快照驱动失败,请勿在创建迁移任务时启用块复制,会导致迁移失败。
- 多数主流迁移源系统已默认安装rsync。若没有安装,则SMC客户端会提示,请输入yes自动安装rsync,如下图所示。安装rsync
- 若迁移源系统的SELinux处于开启状态,则SMC客户端会提示您关闭。请输入yes自动关闭SELinux,如下图所示。关闭SELinux
注意 请勿关闭客户端直至迁移完成。否则,迁移源将与SMC控制台失去联系,无法完成迁移。
4 创建迁移任务
DTS提供的数据迁移功能能够支持同异构数据源之间的数据迁移,同时提供了库表列三级映射、数据过滤多种ETL特性。您可以使用DTS进行零停机迁移,在迁移过程中,源数据库正常持续提供服务,最大程度降低迁移对业务的影响;
- 登录数据传输DTS控制台。
- 在左侧导航栏,单击数据迁移。
- 选择ECS实例所在地域,并单击创建迁移任务。
- 配置迁移任务。
在左侧导航栏,单击迁移源。
找到目标迁移源,单击对应操作列下的创建迁移任务。
您可以从客户端界面获取迁移源ID,如下图所示,并根据迁移源ID找到目标迁移源。
在创建迁移任务页面,阅读迁移提示并配置迁移任务。
迁移任务如何配置
1 目标地域(必填) :您的源服务器要迁入的阿里云地域ID。地域详情,请参见地域和可用区。
2 任务名称 :迁移任务的名称。
敲黑板 : 同一阿里云地域下,任务名称必须唯一。
3 任务描述 :迁移任务的描述。
4 目标磁盘(GiB) :设置目标服务器的磁盘结构。
- 执行方式:迁移任务的执行方式。
- 立即执行:创建迁移任务后立即启动。
- 预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。
敲黑板 :预约执行时间最早可设置为当前时间后10分钟才执行
- 只创建:仅创建迁移任务,需要手动启动迁移任务。
- 默认值:立即执行。
标签与网络(可选)说明:
- 迁移任务标签:为迁移任务绑定标签键值,便于查询与管理迁移任务。
说明 同一个迁移任务最多可绑定20个标签。 - 网络模式:传输迁移数据到中转实例使用的网络。中转实例会被创建在所选专有网络(VPC)、交换机(vSwitch)下,因此中转实例会被分配公网IP。
- 高级配置(可选)说明:
- Checksum验证:开启后,可增强数据一致性校验,但是可能会降低传输速度。默认值:关闭。
- 传输限速:迁移过程中,数据传输的带宽上限限制,单位为Mbps。
- 压缩率:迁移过程中,数据压缩传输的级别。 请根据您的实际需要,设置压缩率。
- 在带宽有限的环境下,使用高压缩率,可提升数据的传输速度。
- 在带宽很高的情况下,建议您不压缩传输数据,可减少对迁移源CPU资源的耗费。
- 取值范围为0~10,默认值为7,0表示不压缩传输数据。
- 中转实例规格:可根据实际需求选择中转实例规格。仅当目标类型选择云服务器镜像和容器镜像时,才出现此参数。
- 选择中转实例规格:系统会选择该实例规格创建中转实例。若该实例规格库存不足,则迁移任务创建失败。
- 不选择中转实例规格:系统默认会按照顺序选择实例规格来创建中转实例。
- 配置完成后,单击确定。
- 启动迁移任务。说明为立即执行的迁移任务请跳过本步骤。只创建或预约执行的迁移任务可以按照本步骤手动启动迁移任务。
- 在左侧导航栏,单击迁移任务。
- 找到需要启动的迁移任务,在操作列单击开始任务。
- 如需批量启动迁移任务,勾选多个迁移任务,并单击开始/重试。每个迁移任务的状态必须为未开始、已暂停或出错。
- 如需暂停迁移任务,在迁移任务状态为同步中时,单击操作列中的暂停任务。
六,后续步骤
在迁移任务页面,可查看迁移速度和剩余同步时间,等待迁移任务完成。
当迁移状态为已完成时,表示迁移成功。
- 如果您选择迁移的目标类型为云服务器镜像,可以按照以下操作使用镜像创建一个新的ECS实例。
- 可选:验证迁移结果。该功能将使用阿里云提供的OOS模板ACS-SMC-CreateAndVerifyInstance,自动验证迁移任务生成的镜像能否成功创建实例,并正常启动。
- 在操作列单击验证迁移结果。
- 在弹出的对话框中了解验证流程,并单击立即验证。您也可以单击自定义验证脚本参数,手动配置参数进行验证。
- 在最近一次迁移结果验证状态列,查看验证结果。
- 成功:表示迁移结果无异常。您可以单击查看输出参数了解验证结果。
- 失败:表示迁移结果存在异常。您可以单击查看原因了解失败的原因,并根据原因排查问题。
- 您也可以单击操作列,并单击前往OOS查看历史验证获取OOS模板的历史执行信息。
- 找到目标迁移任务,单击对应操作列中的创建实例。
- 配置实例信息并完成实例创建。具体操作,请点击使用自定义镜像创建实例。
- 远程连接实例,检查迁移后的系统。具体操作,请点击迁移Windows服务器后怎么检查系统或迁移Linux服务器后怎么检查系统。
- 如果您选择迁移的目标类型为云服务器实例,可以在操作列,单击查看目标实例,可查看目标实例详情信息。
- 如果您选择迁移的目标类型为容器镜像,可以使用容器镜像部署应用。更多信息,请点击验证容器镜像
七,用云助手导入迁移源
1 前提条件
- 已完成准备工作。更多信息,请参考准备工作(必读)
- 源服务器中已安装云助手,且版本高于2.2.1.107
- 如果待迁移的源服务器为ECS实例,则默认已安装了云助手。您需要先调用DescribeCloudAssistantStatus查看ECS实例中云助手的版本信息,如果版本过低,则需要升级至高于2.2.1.107的版本。具体操作,请参考升级或禁止升级云助手客户端
- 如果待迁移的源服务器为非阿里云服务器,需要自行安装高于2.2.1.107版本的云助手。具体操作,请参考安装云助手客户端
2 背景信息
为确保迁移更加稳定,建议您在迁移前,先排除动态数据目录(如大型数据库的数据目录等),等到业务暂停后再迁移源服务器。如果没有待过滤的动态数据目录,则无需排除。在源服务器系统业务不暂停的情况下,过滤掉源服务器动态数据目录的具体操作,请参考排除不迁移的文件或目录
敲黑板 迁移后,如果目标服务器中仍然需要源服务器的历史动态数据,您可以自行保存源服务器的历史动态数据,并将数据上传至迁移后的目标服务器。
3 在Linux源服务器中导入迁移源
- 运行以下命令,查看云助手插件列表,确认插件可用。
acs-plugin-manager -l
- 如下图所示,查看到
smc-client-plugin
插件,表示插件可用;
- 运行以下命令,导入迁移源。
acs-plugin-manager -e -P smc-client-plugin -p --accessid=<AccessKey ID>,--secretkey=<AccessKey Secret>,--nocheckversion
- <AccessKey ID>和<AccessKey Secret>为访问密钥。如果您未创建AccessKey,请先创建。具体操作,请参见创建AccessKey
回显信息如下图所示,表示已成功导入迁移源。
导入迁移源后,SMC控制台会自动生成迁移源记录,您需要在控制台为迁移源创建迁移任务,并启动任务进行迁移。具体操作,请参见步骤二:创建并启动迁移任务
4 在Windows源服务器中导入迁移源
- 进入云助手的安装路径。
- 如果源服务器为阿里云的ECS实例,云助手默认的安装路径为C:\ProgramData\aliyun\assist\<云助手版本号>。例如:
C:\ProgramData\aliyun\assist\2.1.1.140
。
说明C:\ProgramData
文件夹为隐藏文件,您需要显示隐藏项目后查看。同时请您注意该文件夹的数据安全,避免因误操作造成系统异常。 - 如果源服务器为非阿里云服务器,您需要根据实际情况,进入云助手的安装路径。
- 在云助手的安装路径中,按下Shift键的同时,鼠标右键单击文件夹的空白区域,然后单击在此处打开命令窗口(W)。
如下图所示,打开命令窗口后,您可以检查命令执行路径是否为云助手的安装路径。
- 运行以下命令,查看云助手插件列表,确认插件可用。
acs-plugin-manager.exe -l
- 如下图所示,查看到
smc-client-plugin-win
插件,即可确认插件可用。
- 运行以下命令,导入迁移源。
acs-plugin-manager.exe-e-Psmc-client-plugin-win-p--accessid=<AccessKeyID>,--secretkey=<AccessKeySecret>,--nocheckversion
- <AccessKey ID>和<AccessKey Secret>为访问密钥。如果您未创建AccessKey,请先创建。具体操作,请点击创建AccessKey。
运行命令后,系统会弹出一个新的命令窗口。回显信息如下图所示,表示已成功导入迁移源。
导入后,SMC控制台会自动生成迁移源记录,您需要在控制台为迁移源创建迁移任务,流程跟上面 五,迁移过程一样就不赘述。
说在最后
在云计算服务高速发展的今天,彻底解决本地服务器老化、运维繁琐、升级扩容慢、维护成本高等问题。但服务器业务迁移上云面临诸多挑战,例如:迁移场景复杂、迁移周期长、业务中断、迁移前后数据不一致等,往往都让企业无从下手。如何方便快捷地将已有的服务器系统迁移到ECS云服务器上面,有着非常重要的意义。服务器迁移中心SMC功能强大、优势明显,能够实现方便快捷的进行迁移;