服务器迁移中心 SMC(Server Migration Center)容器化迁移功能支持不停机迁移,可将物理机、主流虚拟化环境(VMware/Xen/KVM/Hyper-V)及多云平台(AWS/Azure/GCP/腾讯云等)的服务器和业务应用容器化,并生成镜像推送至阿里云容器镜像服务ACR,最终在容器服务Kubernetes版ACK完成应用部署,从而实现服务器和应用的容器化迁移。
简介
服务器迁移至容器镜像功能现已升级,增加了对服务器上的特定应用迁移至容器镜像的支持,即应用迁移模式。现支持整机迁移模式和应用迁移模式。
SMC通过整机迁移和应用迁移方式,将服务器和业务应用容器化后并推送至阿里云容器镜像服务ACR,最终在容器服务Kubernetes版ACK完成应用部署,从而实现服务器和应用的容器化迁移。以下为该功能相关的产品服务关系及迁移流程示意图。
在源服务器平台安装SMC客户端。
迁移配置并开始迁移,迁移完成后自动生成容器镜像,并将容器镜像存放至容器镜像服务ACR个人版。支持整机迁移模式和应用迁移模式。
在容器服务Kubernetes上部署应用,即可完成迁移。
阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)个人版面向个人开发者,提供基础镜像托管和构建服务。
阿里云容器服务Kubernetes版ACK(Container Service for Kubernetes)支持企业级Kubernetes容器化应用的生命周期管理,让您轻松高效地在云端运行Kubernetes容器化应用。
迁移场景
整机迁移
支持将物理机/虚拟机/云平台服务器上系统及所有应用数据容器化后生成镜像并推送至阿里云容器镜像服务ACR。适用于系统级灾备场景。
应用迁移
支持将物理机/虚拟机/云平台服务器上特定应用容器化后生成镜像并推送至阿里云容器镜像服务ACR。适用于微服务容器化改造场景。
应用迁移功能处于邀测阶段,请联系我们提交申请开通白名单后使用。支持的应用版本包括:
Java Tomcat
Java Tomee
Java JBoss(独立模式)
ASP.NET Core 3.1及ASP.NET 5/6/7/8版本
使用限制
仅x86架构Linux操作系统的服务器支持迁移为容器镜像。支持操作系统版本包括:
CentOS
Ubuntu
RedHat
Alibaba Cloud Linux
应用迁移功能需要开通白名单使用。若有需要,请联系我们。支持的应用版本包括:
Java Tomcat
Java TomEE
Java JBoss(独立模式)
ASP.NET Core 3.1及.NET 5/6/7/8版本
仅支持迁移至容器镜像服务ACR个人版实例的镜像仓库。
容器化迁移当前不支持数据盘迁移,系统默认排除
/mnt
目录及所有数据盘挂载点。迁移生成的目标磁盘仅包含一个默认分区,无需调整现有分区结构。如果数据盘数据需要迁移到阿里云,可以通过FTP、SCP、手动备份至OSS/NAS等方式进行数据迁移。具体操作,请参见选择传输文件的方式和命令行工具ossutil 1.0。
应用迁移模式下,迁移过程中不要重启应用进程,进程ID变化会导致迁移任务失败。
迁移费用
迁移原理
SMC服务由客户端和控制台两部分组成。容器化迁移支持整机迁移模式和应用迁移模式,其原理如下。
支持将物理机/虚拟机/云平台服务器上系统及所有应用数据容器化后生成镜像并推送至阿里云容器镜像服务ACR。
不生成分析报告,对系统和应用数据进行少量裁剪后打包整个操作系统应用环境,生成的容器镜像较大,但能完整保留源系统运行环境,可同时支持多个应用。
应用迁移功能需要开通白名单后才可使用。请联系我们提交申请开通白名单。支持的应用版本包括:
Java Tomcat
Java Tomee
Java JBoss(独立模式)
ASP.NET Core 3.1及ASP.NET 5/6/7/8版本
支持将物理机/虚拟机/云平台服务器上特定应用容器化后生成镜像并推送至阿里云容器镜像服务ACR。
对指定应用生成分析报告并据此打包指定应用数据,产出的容器镜像较小。
迁移原理说明如下:
在源服务器中下载并安装SMC客户端(如果选择命令行导入或者控制台自动导入迁移源的方式,系统会自动下载并安装SMC客户端,无需用户操作)。
在源服务器中运行SMC客户端,SMC客户端会通过SMC服务域名将源服务器信息注册上报到SMC服务端。
SMC服务端创建临时的中转实例,并在安全组放开8080和8703端口。
中转实例使用两个数据盘来完成数据迁移和生成容器镜像。中转数据盘1用于存放源服务器数据,中转数据盘2用于存放产生容器镜像的数据。
SMC客户端通过连接中转实例的8080端口来建立通信,并通过中转实例的8703端口将源服务器上磁盘应用及数据传输到中转实例的数据盘。
如果是应用迁移,会将该应用及相关的数据传输到中转实例的数据盘上。
SMC服务端将中转实例的磁盘数据制作为容器镜像,并上传到阿里云容器镜像服务ACR。
如果是应用迁移,会将该应用及应用相关的数据,基于环境变量及启动命令等制作为容器镜像,并上传到阿里云容器镜像服务ACR。
前往容器服务Kubernetes版ACK控制台部署应用,即可完成迁移。
迁移影响
在迁移之前,请先了解以下事项,具体如下表所示。
影响项 | 说明 |
影响项 | 说明 |
中转实例 | 请勿干涉中转实例 。 为避免迁移失败,迁移过程中请勿停止、启动、重启、释放中转实例或者更改中转实例的计费方式。迁移完成后,该中转实例会自动释放。
更多信息,请参见迁移原理。 |
IP地址 | 迁移后IP地址会发生变化,如果业务涉及IP地址的配置,迁移后请自行修改域名解析、备案等。 |
系统底层硬件设备 | 迁移后,系统底层硬件设备会发生变化,可能会导致某些与硬件绑定的应用许可证(License)失效,请做好检查。 |
前提条件
已开通服务器迁移中心SMC。如果您第一次使用SMC,需要开通相关权限、准备迁移网络、备份数据等操作,请参见相关文档进行迁移前准备。
您可以先通过VPN网关、高速通道物理专线或智能接入网关将本地数据中心和阿里云上专有网络VPC打通,通过私网的方式迁移。如果您需要跨国际地域迁移服务器,由于公网网络环境不稳定,迁移速度可能较慢。可以参考指导评估迁移时间与测试传输速度。
迁移操作
验证迁移结果
当迁移实时状态为已完成时,表示迁移成功。
迁移成功后会生成阿里云容器镜像,您可以通过容器镜像部署容器应用。具体操作如下:
在迁移源的操作列,单击部署应用,系统跳转到ACK集群列表页面。
选择已有的ACK集群或者创建ACK集群。具体操作,请参见创建集群。
进入集群,在左侧导航栏选择工作负载>无状态,单击使用镜像创建来创建应用。其中镜像选择前面迁移生成的容器镜像。具体操作,请参见创建无状态工作负载Deployment。
整机迁移模式启动命令示例说明
在ACK集群部署应用时,您需要在应用生命周期或者应用YAML文件添加源服务器上启动源服务的相关脚本和开发端口,以便拉起服务。请根据实际情况补充脚本。一个YAML添加CMD的示例如下:
spec: containers: - args: - | cd /www/server/panel && chmod +x /www/server/panel/init.sh && echo 3 | sh init.sh && tail -f /dev/null command: - /bin/sh - '-c' image: 'registry-vpc.cn-hangzhou.aliyuncs.com/zi***h/sa***:v1'
应用迁移模式说明
您可以使用
netstat -lptn
查看源服务器的应用服务端口,并在ACK部署应用时开启端口映射。
迁移服务器后,您需要对数据校验和验证,确保数据的完整性和正确性。具体操作,请参见迁移Linux服务器后怎么检查系统?。
如果源服务器已经绑定域名,请将域名解析到新的服务器公网IP地址。具体操作,请参见添加网站解析。
当迁移实时状态为出错时,表示迁移任务出错。此时,您需要排查问题后重试:
修改问题后,在操作列,单击重试迁移。迁移任务会从上一次结束时的进度处继续迁移。
如果中转实例已被释放,需要重新迁移。具体操作,请参见误释放了中转实例怎么办。
清理资源
- 本页导读 (1)
- 简介
- 迁移场景
- 使用限制
- 迁移费用
- 迁移原理
- 迁移影响
- 前提条件
- 迁移操作
- 步骤一:准备工作
- 步骤二:导入迁移源
- 步骤三:迁移配置
- 验证迁移结果
- 清理资源