因Xen环境裁撤项目、ECS过保迁移、经典网络迁移到VPC等涉及虚拟化环境迁移需求,可能会导致一部分实例系统在迁移后出现kernel panic宕机、蓝屏、找不到引导设备(INACCESSIBLE_BOOT_DEVICE)等问题。本文主要为您介绍这些问题的解决方案。
背景信息
阿里云为您提供了丰富的实例规格族以及主流操作系统镜像。不同实例规格实现的虚拟化技术不同:
以已经停售的ecs.t1和ecs.s1规格族为例,该规格族基于Xen虚拟化技术,需要操作系统镜像内有Xen等相关驱动。
以ecs.g5规格为例,该规格基于KVM虚拟化技术,需要操作系统镜像有virtio驱动。
以ecs.g7规格为例,该规格基于神龙架构的虚拟化技术,该规格实例同样需要操作系统镜像有virtio驱动。
这些驱动由ECS镜像中的内核提供,内核版本不同,驱动支持的ECS规格也不同。一些旧版本系统的内核可能没有相关驱动,需要用户自行安装,或者版本较低的内核的驱动不支持一些新版本的实例规格。
迁移前注意事项
如果您的实例系统环境异常,Xen迁移到KVM环境后实例可能会出现注册表损坏、文件系统损坏、系统启动异常等问题。因此建议您在迁移前做好准备工作,确保迁移正常。
建议在迁移前重启实例,确保系统和业务正常。
建议在迁移前为实例创建快照备份重要数据。
您也可以对原有实例创建自定义镜像并使用自定义镜像创建KVM规格的实例。具体操作,请参见使用实例创建自定义镜像和使用自定义镜像创建实例。
神龙环境不兼容部分旧版本操作系统
已知旧版本操作系统列表如下:
Windows Server 2003及以下版本(Windows Server 2008 标准版本支持,但是需要清理Xen注册表信息)
CentOS/RedHat 5.8及以下版本,包括基于CentOS/RedHat 5内核系统(内核版本2.6.18-348及以下)
Debian 6.09以下版本(6.09以下版本对KVM支持也存在一定问题,建议升级到6.09以上版本)
FreeBSD 11以下版本(FreeBSD 11/12版本需要安装对应的阿里云补丁。具体操作,请参见使用实例时镜像相关问题。)
Ubuntu 10及以下版本(Ubuntu 12基于内核3.2可以正常启动,官方镜像未提供过低于Ubuntu 12的版本)
SUSE Linux Enterprise Server 10及以下版本(官方镜像未提供过低于SUSE Linux Enterprise Server 11的版本)
OpenSUSE 13以下版本(官方镜像未提供过低于OpenSUSE 13的版本)
Gentoo(阿里云提供的Gentoo只支持Xen版本,如果需要支持KVM,建议升级到最新版本,阿里云于2016年后未再提供Gentoo操作系统)
上述仅是6代实例规格的神龙环境不兼容情况,对于7代及以上版本实例规格的约束会更高一些。
解决方案一:更换系统盘升级系统
以上涉及的旧版本操作系统很早就已经停止维护更新,面临各种功能和安全风险,阿里云建议您尽快升级操作系统版本。更多信息,请参见操作系统生命周期。
阿里云官方提供的公共镜像覆盖了主流Linux和Windows操作系统 。更多信息,请参见公共镜像概述。
ECS支持更换系统盘操作,您可以一键更换实例的系统盘,完成系统升级。具体操作,请参见更换操作系统(更换系统盘)。
原系统盘数据如何拷贝出来?
您可以通过卸载系统盘并将其挂载为数据盘的方式将原实例系统盘内容拷贝出来。具体操作,请参见卸载或挂载系统盘。
原系统盘中部署的服务应用怎么迁移出来?
在新的系统盘中重新部署服务。
迁移数据库等应用。
采用方案一的优点和缺点如下:
优点:方便易操作,阿里云有丰富的公共镜像可以选择,一键切换到新版本操作系统。
缺点:原系统盘中的数据需要客户自行备份处理, 一些应用服务可能需要重新部署。
解决方案二:升级系统到OS的最高版本
您可以进行系统升级,将系统版本升级到该OS的最高版本。例如,可以将CentOS 5升级到CentOS 5的最高版本CentOS 5.11。更多信息,请参见:
采用方案二的优点和缺点如下:
优点:原系统中的数据及服务不受影响。
缺点:即使升级到OS的最高版本(例如CentOS 5升级到CentOS 5.11),该版本仍然是不再维护更新的版本,系统漏洞风险依然存在,无法使用新OS发行版(例如CentOS 7/8)上的新特性和功能。
解决方案三:使用旧版本的实例规格
您可以尝试非神龙MOC环境的5代旧版本实例规格,例如ecs.n、ecs.xn、ecs.c5系列。更多信息,请参见实例规格族。
虚拟化virtio驱动安装配置不成功
系统从Xen迁移到KVM后,如果未安装或配置KVM virtio驱动,可能导致系统宕机或蓝屏。可能有以下原因:
Linux系统未安装配置virtio驱动。
Windows ISO阶段驱动安装失败。
Windows系统注册表损坏。
Windows安装有360软件等安全软件限制。
解决方案
在某些情况下,迁移可能导致内核损坏,需要重新安装官方内核。
Windows请联系售后技术支持挂载Winpe 3.0 ISO,启动Winpe环境后,使用设备管理器检查virtio驱动状态。如果驱动未安装或损坏,请手动安装virtio驱动。
Windows建议迁移前用SFC(System File Checker)检查系统的完整性,包括注册表等,并卸载可能干扰迁移过程的第三方安全软件(如360安全卫士)。