操作系统迁移及升级

当操作系统因生命周期、第三方支持、开源计划演进等原因停止技术支持后,如果您的操作系统后续想得到维护和技术支持且同时需要保留ECS实例系统盘数据时,可以将操作系统迁移或升级至稳定的软件版本。本文介绍如何通过ECS控制台迁移或升级操作系统。

背景信息

  • CentOS 6已于20201130日停止维护、CentOS 8已于20211231日停止维护、CentOS 7已于20240630日停止维护。建议您将CentOS上运行的工作负载迁移到替代的操作系统,以继续获取软件更新和安全补丁。

  • Alibaba Cloud Linux 2已于20240331日停止维护,并为用户提供延保服务至20250331日。延保结束后,Alibaba Cloud Linux将停止对Alibaba Cloud Linux 2的技术支持。建议您将Alibaba Cloud Linux 2上运行的工作负载迁移到Alibaba Cloud Linux 3,以继续获取软件更新和安全补丁。

  • 微软已经于20200114日停止对Windows Server 2008/2008 R2操作系统提供支持,并于20231010日停止对Windows Server 2012/2012 R2操作系统提供支持,阿里云不再提供软件更新和安全补丁。建议您将Windows Server 2008/2008 R2/2012/2012 R2迁移到替代的操作系统,以继续获取软件更新和安全补丁。

更多信息,请参见镜像维护周期和EOL应对方案

迁移及升级场景

ECS支持将以下源操作系统迁移或升级到目标操作系统:

Windows

迁移Windows Server 2008 R2

操作系统架构

源操作系统

目标操作系统

X86

Windows Server 2008 R2 标准版 64位中文版/英文版

Windows Server 2012 R2 数据中心版 64位中文版/英文版

Windows Server 2008 R2 企业版 64位中文版/英文版

迁移Windows Server 2012 R2

操作系统架构

源操作系统

目标操作系统

X86

Windows Server 2012 R2 标准版 64位中文版/英文版

  • Windows Server 2016数据中心版 64位中文版/英文版

  • Windows Server 2019数据中心版 64位中文版/英文版

Windows Server 2012 R2 数据中心版 64位中文版/英文版

迁移Windows Server 2016

操作系统架构

源操作系统

目标操作系统

X86

Windows Server 2016 标准版 64位中文版/英文版

  • Windows Server 2019数据中心版 64位中文版/英文版

  • Windows Server 2022数据中心版 64位中文版/英文版

Windows Server 2016 数据中心版 64位中文版/英文版

迁移Windows Server 2019

操作系统架构

源操作系统

目标操作系统

X86

Windows Server 2019数据中心版 64位中文版/英文版

Windows Server 2022数据中心版 64位中文版/英文版

Linux

迁移CentOS 7/8

操作系统架构

源操作系统

目标操作系统

X86

CentOS 7.x

  • AnolisOS 7

  • AnolisOS 8

  • Alibaba Cloud Linux 2

  • Alibaba Cloud Linux 3

    说明

    更多有关Alibaba Cloud Linux信息,请参见什么是Alibaba Cloud Linux

CentOS 7.9

RedHat 7

说明

该功能目前仅对部分用户开放,如果您想体验此功能,可以提交工单申请开通白名单。

CentOS 8.5

RedHat 8

说明

该功能目前仅对部分用户开放,如果您想体验此功能,可以提交工单申请开通白名单。

CentOS 8.x

  • AnolisOS 8

  • Alibaba Cloud Linux 3

ARM64

CentOS 7.x

  • AnolisOS 7

  • AnolisOS 8

  • Alibaba Cloud Linux 3

CentOS 8.x

  • AnolisOS 8

  • Alibaba Cloud Linux 3

升级Alibaba Cloud Linux 2

操作系统架构

源操作系统

目标操作系统

x86

Alibaba Cloud Linux 2

Alibaba Cloud Linux 3

迁移RedHat 7/8

操作系统架构

源操作系统

目标操作系统

x86

RedHat 7.9

Alibaba Cloud Linux 3

RedHat 8.x

  • RedHat 9

  • Alibaba Cloud Linux 3

迁移限制

您可以根据待迁移的操作系统选择查看对应的迁移限制。

Windows

  • 不支持Windows跨语言迁移。

  • 待迁移的Windows实例规格必须为2 vCPU 2 GiB及以上。

  • 操作系统迁移工具在迁移过程中涉及软件包的下载与安装,会产生一定的资源消耗。因此,迁移前您需要确保实例内C盘未使用空间至少20 GiB,且未使用空间大于C:\Windows目录的大小。

  • 仅支持以下地域进行Windows操作系统迁移。

    亚太-中国

    亚太-其他

    欧洲与美洲

    中东

    • 华东1(杭州)

    • 华东2(上海)

    • 华北1(青岛)

    • 华北2(北京)

    • 华北3(张家口)

    • 华北5(呼和浩特)

    • 华北6(乌兰察布)

    • 华南1(深圳)

    • 华南2(河源)

    • 华南3(广州)

    • 西南1(成都)

    • 中国(香港)

    • 华中1(武汉-本地地域)

    • 日本(东京)

    • 韩国(首尔)

    • 新加坡

    • 马来西亚(吉隆坡)

    • 印度尼西亚(雅加达)

    • 菲律宾(马尼拉)

    • 泰国(曼谷)

    • 德国(法兰克福)

    • 英国(伦敦)

    • 美国(硅谷)

    • 美国(弗吉尼亚)

    沙特(利雅得)

Linux

限制类别

限制说明

通用限制

  • Anolis OSAlibaba Cloud Linux系统不提供i686架构的软件包,如您的系统上安装了CentOSi386(包括i686)架构的软件包,则无法正常迁移。

  • 操作系统迁移工具在迁移过程中涉及软件包的下载与安装,会产生一定的资源消耗。因此,迁移前您需要确保实例内保留了以下可用的资源容量:

    • 内存大小:600 MiB

    • 云盘容量:

      • /usr目录需要250 MiB

      • /var目录需要4 GiB

      • /boot目录需要100 MiB

    说明

    如果您的实例对应的计算资源(vCPU与内存)、存储资源(系统盘与数据盘)较小,建议您停止实例内的业务再进行操作系统迁移,避免因资源不足而导致迁移失败。

CentOS 7迁移至Alibaba Cloud Linux 2

Alibaba Cloud Linux 2使用4.19内核,CentOS 7使用3.10内核,两个版本的内核无法相互兼容。对于依赖于内核接口编程的业务,例如涉及内核OOT模块开发、硬件使能等,需要提前做好评估,明确是否适合直接迁移,以免操作系统迁移后业务无法运行。

CentOS 7迁移至Alibaba Cloud Linux 3

CentOS 7使用3.10内核,Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为Alibaba Cloud Linux 3的内核,并选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链。两个版本的内核无法相互兼容,依赖于内核接口编程的业务,例如涉及内核OOT模块开发、硬件使能等,需提前做好评估,明确是否适合直接迁移,以免操作系统迁移后业务无法正常运行。

CentOS 8迁移至Alibaba Cloud Linux 3

Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为Alibaba Cloud Linux 3的内核,并选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链。在软件包生态上与CentOS 8兼容。当您使用本文介绍的操作系统迁移工具将CentOS 8迁移为Alibaba Cloud Linux 3时,工具会对待迁移的操作系统进行基础判断。

您还需要注意以下操作系统相关特性或软件的迁移限制:

特性或软件

支持情况

是否影响操作系统迁移流程

说明

i386架构的软件包

不支持

Alibaba Cloud Linux不提供i386架构的软件包。如果您当前使用的CentOS 7/8系统内带有i386架构的软件包,则不支持使用迁移工具迁移操作系统。您需要先删除这些软件包,然后再进行迁移操作,以免迁移时系统发生异常。

epel-modular

不支持

CentOS 7/8EPEL源所依赖的platformAlibaba Cloud Linux 3不同。因此,您可以迁移操作系统,但需要注意迁移后无法安装基于epel-modular的软件包。

C/C++语言程序兼容性

不保证

Alibaba Cloud Linux 3选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链,且系统自身的软件包已经做了兼容性处理。操作系统迁移后,建议您基于新的基础工具链重新对您的C/C++语言程序进行编译验证,避免出现兼容性问题。

内核模块兼容性

不支持

Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为内核,在软件包生态上与CentOS 8兼容,但您需要注意,Alibaba Cloud Linux 3无法完全兼容CentOS 73.10内核和CentOS 84.18内核。因此,依赖于内核接口编程的业务(例如内核OOT模块开发、硬件使能等业务场景),您需要在迁移前自行做好迁移评估,避免迁移后业务无法正常运行。

MySQL数据库

仅支持向同版本或更高版本的MySQL迁移

  • 如果向同版本或更高版本的MySQL迁移则不影响

  • 如果向低版本的MySQL迁移则影响

Alibaba Cloud Linux 3支持MySQL数据库,但您需要注意,由于MySQL不支持降低版本,当Alibaba Cloud Linux 3提供的MySQL版本低于待迁移的CentOS 7/8内的MySQL版本时,不支持使用迁移工具完成操作系统迁移。

操作系统热迁移

不支持

使用操作系统工具迁移操作系统时涉及软件包的重新安装,会引起系统内服务重启,进而造成业务中断。因此,您需要在迁移前创建快照做好数据备份并隔离待迁移的操作系统环境,避免影响正常业务。

迁移前须知

Windows

须知项

说明

评估业务迁移对的影响

  • 迁移过程中请勿人工或通过运维脚本对ECS云服务器执行停止、重启、释放等操作,否则可能会导致迁移失败。

  • 迁移演练或取消迁移可能会触发自动回滚迁移前快照的操作,迁移期间产生的数据将丢失。

  • 迁移升级过程中,源实例系统会被安装或更新系统内核及软件包,并自动重启多次,期间业务无法正常运行,建议评估影响暂停业务后再进行操作。

备份数据

迁移过程会对ECS云服务器进行创建普通云盘快照、操作系统内核版本转换、软件包重新安装升级、停止、启动等操作。建议提前做好重要数据备份,合理安排迁移窗口期,避免因上述操作对业务造成影响。

确保没有正在创建中的快照

如果有正在创建中的快照会导致迁移失败,请您等待快照创建完成后,再开始迁移。

全面测试验证

在迁移前,强烈建议您预先在目标操作系统环境下完成所有业务应用程序的全面测试验证,以确保应用程序与目标操作系统之间的兼容性及性能表现,从而有效避免迁移后可能出现的业务运行不畅或功能失效等问题。

同时,迁移升级前和迁移过程中,系统会对源实例进行迁移条件检测及迁移预评估。如果源系统不满足迁移条件或迁移预评估失败,迁移会出错中断,并不能保证一定能迁移升级成功,建议您提前熟悉迁移条件限制及出错排查文档并进行测试。迁移问题,请参见操作系统迁移中问题(Windows)

勿操作中转云盘

Windows迁移的过程中,会自动给迁移的阿里云账号共享Windows安装介质快照资源,并用该快照创建并挂载一块中转云盘挂载到实例,迁移的过程中注意不要操作这个云盘,在迁移完成后会自动卸载释放这个中转云盘。

操作系统属性

ECS云服务器操作系统迁移后,实例镜像ID会保持不变,操作系统会变更为迁移后的操作系统。

Linux

须知项

说明

评估迁移对业务的影响

  • 迁移过程中请勿人工或通过运维脚本对ECS云服务器执行停止、重启、释放等操作,否则可能会导致迁移失败。

  • 迁移演练或取消迁移可能会触发自动回滚迁移前快照的操作,迁移期间产生的数据将丢失。

  • 迁移升级过程中,源实例系统会被安装或更新系统内核及软件包,并自动重启多次,期间业务无法正常运行,建议评估影响暂停业务后再进行操作。

数据备份

迁移过程会对ECS云服务器进行创建普通云盘快照、操作系统内核版本转换、软件包重新安装升级、停止、启动等操作。建议提前做好重要数据备份,合理安排迁移窗口期,避免因上述操作对业务造成影响。

确保没有正在创建中的快照

如果有正在创建中的快照会导致迁移失败,请您等待快照创建完成后,再开始迁移。

全面测试验证

  • 在迁移前,强烈建议您预先在目标操作系统环境下完成所有业务应用程序的全面测试验证,以确保应用程序与目标操作系统之间的兼容性及性能表现,从而有效避免迁移后可能出现的业务运行不畅或功能失效等问题。

  • 迁移升级前和迁移过程中,系统会对源实例进行迁移条件检测及迁移预评估。如果源系统不满足迁移条件或迁移预评估失败,迁移会出错中断,并不能保证一定能迁移升级成功,建议您提前熟悉迁移条件限制及出错排查文档并进行测试。

操作系统属性

ECS云服务器操作系统迁移后,实例镜像ID会保持不变,操作系统会变更为迁移后的操作系统。

前提条件

  • 确保阿里云账号余额大于等于100元。

  • 确保您已开通RAM服务并授权。

    若未授权,请登录RAM控制台,单击同意授权完成授权。

    说明

    如果您使用的是RAM用户,使用阿里云账号(主账号)登录RAM访问控制台,为RAM用户授予AliyunSMCFullAccess权限。

  • 迁移中会对ECS实例创建快照,请确保您已开通快照服务。具体操作,请参见开通快照

  • ECS实例处于运行中状态且已安装云助手,并且24小时内运行过云助手服务。

    如果没有安装,请参见安装云助手Agent

  • 待迁移ECS实例需为VPC网络实例。如果是经典网络实例,需先迁移到VPC网络环境。具体操作,请参见ECS实例从经典网络迁移到专有网络

  • 迁移过程依赖于yum或者dnf,需确保这两个组件能够正常运行。

操作步骤

  1. (条件必选)如果您需要迁移CentOS 7/8RedHat 7/8,则必须完成以下操作,否则请跳过此步骤。

    1. 如果源系统已安装云安全中心客户端,则需要先卸载。

      说明

      迁移升级完成后可再安装。具体操作,请参见手动安装

      客户端卸载后会有一段保护期。如果您需要再次为服务器安装客户端,您必须在客户端卸载超过24小时后,重新安装客户端。如果您不想等待,可在服务器上重复执行3次以上安装命令才能重新安装成功(忽略其间的报错),否则重新安装的客户端会被自动卸载。

      1. 阿里云云安全客户端卸载界面,选择实例进行卸载。具体操作,请参见卸载客户端

      2. 使用远程连接工具连接服务器,执行以下命令。

        wget "http://update2.aegis.aliyun.com/download/uninstall.sh" && chmod +x uninstall.sh && ./uninstall.sh
        if ! lsmod | grep AliSecGuard; then echo 'Uninstall Success'; else echo "Uninstall Failed"; fi

        如果返回Uninstall Success,表示云安全中心客户端已成功卸载。

    2. 执行以下命令,将源系统升级至最新内核版本。

      CentOS 7

      #备份原yum软件源并更新为阿里云CentOS 7源
      mv /etc/yum.repos.d/ /etc/yum.repos.d.backup/
      mkdir -p /etc/yum.repos.d/
      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
      yum clean all
      yum makecache
      #更新系统并重启
      yum -y update
      reboot

      CentOS 8

      #备份原yum软件源并更新为阿里云CentOS 8源
      mv /etc/yum.repos.d/ /etc/yum.repos.d.backup/
      mkdir -p /etc/yum.repos.d/
      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-8.repo
      wget -O /etc/yum.repos.d/epel-archive-8.repo http://mirrors.cloud.aliyuncs.com/repo/epel-archive-8.repo
      yum clean all
      yum makecache
      #更新系统并重启
      yum -y update
      reboot
  2. 进入操作系统迁移页面。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择实例与镜像 > 实例

    3. 在顶部菜单栏处,选择目标ECS实例所在地域。image.png

    4. ECS实例的操作列,选择image > 云盘与镜像 > 更换操作系统

      说明

      如果您需要批量迁移操作系统,可以同时选中多个ECS实例,在底部菜单选择更多 > 云盘与镜像 > 更换操作系统

  3. 迁移前置检查。

    1. 更换操作系统对话框,选中操作系统迁移

      image

    2. 系统自动进行操作系统迁移前置检查,大约需要10s,请您耐心等待。

      • 当前置检测状态由image变为image,表示前置检查通过。

      • 当前置检测状态由image变为image,表示前置检查不通过,您可以根据界面提示修复问题后重新迁移。

  4. 仔细阅读操作系统迁移事项后,选中我已知晓以上风险,同意并授权阿里云为该实例的全部云盘创建快照,并单击下一步

    说明

    如果是批量迁移,您还需选中待迁移的ECS实例。

  5. 在弹出的更换操作系统对话框中,按需选择目标操作系统。

    • 统一迁移至同一目标操作系统:如果执行批量迁移,您可以将不同实例统一迁移至同一个操作系统。

    • 按实例选择目标操作系统:如果执行批量迁移,您可以按需将不同实例迁移至不同的操作系统。

    image

  6. 单击检测是否可迁移,查看迁移检测结果。

    检测大约需要30s,请您耐心等待。

    • image:表示操作系统可以迁移。

    • image:表示不支持迁移。您可以根据界面提示,查看不支持迁移的原因。

  7. 单击确定迁移

    image

  8. 查看操作系统是否迁移成功。

    1. 在弹出的更换操作系统对话框中,单击实例ID。

      image

    2. 实例详情页签下的实例状态区域,查看操作系统是否迁移成功。

      迁移预计需要15~30分钟(不包含创建云盘快照耗时),请您耐心等待更换结果。

      • ECS实例状态由运行中正在更换操作系统)变为运行中时,表示操作系统迁移成功。

        说明
        • 迁移过程中,您可以将鼠标悬浮在系统更换中上,查看操作系统迁移进度。

        • 迁移时系统会自动为ECS实例创建快照,迁移成功后如果您不再需要这些快照,为避免造成费用浪费,请您及时删除快照。具体操作,请参见删除快照。关于快照的计费详情,请参见快照计费

      • ECS实例状态由运行中正在更换操作系统)变为运行中操作系统更换失败),表示操作系统迁移失败。

        说明

        您可以将鼠标悬浮在操作系统更换失败,查看异常原因,单击问题排查&联系我们,待问题解决后,单击重试更换,再次迁移操作系统。

相关操作

操作系统迁移及升级是服务器迁移中心SMC的功能,如果您需要查询和管理操作系统迁移及升级任务的历史记录,可以前往SMC控制台操作。您也可以直接在SMC控制台执行操作系统迁移及升级,具体操作,请参见操作系统迁移