服务器迁移故障
本文介绍服务器迁移相关的故障问题及解决方案。
日志报错提示Your Account Haven't Completed Real-name Authentication错误,怎么办?
日志报错提示Your Account Haven't Authorized For SMC RAM Role错误,怎么办?
日志报错提示InvalidAccountStatus.SnapshotServiceUnavailable错误,怎么办?
日志报错提示Create transition vpc failed. (QuotaExceeded.Vpc: VPC quota exceeded.)错误,怎么办?
日志报错提示子账号权限不足Forbidden.SubUser,怎么办?
SMC需要使用账号访问密钥AccessKeyID和AccesKeySecret调用ECS API创建中转实例和云盘等资源,该操作属于下单操作。某些服务商账号可能不具备该权限,如果有迁移需求,可以联系我们。
日志报错提示Forbidden.Unauthorized错误,怎么办?
该错误表示您需要为当前RAM用户授予AliyunSMCFullAccess权限。授权方法,具体请参见准备阿里云目标账号。
日志报错提示Your Account Haven't Completed Real-name Authentication错误,怎么办?
该错误表示您的账号需要进行实名认证。实名认证的具体操作,请参见准备阿里云目标账号。
日志报错提示Your Account Haven't Authorized For SMC RAM Role错误,怎么办?
您需要为您的账号授予SMC Role相关权限。授权的具体操作,请参见准备阿里云目标账号。
日志报错提示IllegalTimestamp错误,怎么办?
迁移源的系统时间须和迁移源所在地域的标准时间一致。请检查迁移源的系统时间是否为正确时间。如果是Linux系统,可使用date命令检查时间。如果不准确,可通过ntpdate命令校准时间。本文以0.asia.pool.ntp.org
时间服务器为例。
ntpdate 0.asia.pool.ntp.org
hwclock --systohc
日志报错提示InvalidAccountStatus.NotEnoughBalance错误,怎么办?
中转实例的默认计费方式为按量付费,您的支付方式余额不足时,无法顺利迁移。您需要更新账户状态后重试。按量付费的更多信息,请参见按量付费。
日志报错提示Forbidden.RAM错误,怎么办?
您使用的RAM账号权限不足,无法使用相关API。
您需要为RAM账号授予ECS和VPC访问权限AliyunECSFullAccess
和AliyunVPCFullAccess
。更多信息,请参见账号访问控制。
日志报错提示InvalidImageName.Duplicated错误,怎么办?
您指定的参数image_name不能与您已有的镜像名称重复。
日志报错提示InvalidAccountStatus.SnapshotServiceUnavailable错误,怎么办?
该错误表示您的账号可能未开通快照服务。开通快照服务的具体操作,请参见开通快照。
日志报错提示Connect to Server Failed错误,怎么办?
该错误表示无法连接中转实例。您可以按以下步骤检查:
查看日志文件详细信息。
依次检查:
中转实例状态是否正常。
本地网络服务是否正常。SMC客户端需要访问80、443、8703和8080通信端口,请确保您的服务器已经放行这些端口。
问题解决后,再次运行主程序重试。
日志报错提示Create transition vpc failed. (QuotaExceeded.Vpc: VPC quota exceeded.)错误,怎么办?
该错误表示您的专有网络VPC超出限额。如果您没有为迁移任务设置专有网络VPC和虚拟交换机vSwitch参数,迁移任务运行过程中会自动创建中转VPC和vSwitch,迁移任务运行结束清理中转VPC和vSwitch。
每个阿里云账号在一个地域的VPC限额为10。如果您有批量迁移任务需要同时进行或目标地域的VPC数量已达到限额时,建议您在新建迁移任务时,指定VPC和vSwitch参数,以提高VPC的复用率。配置详情,请参见迁移任务配置项说明表 。
日志报错提示InvalidAccessKeyId.NotFound错误,怎么办?
该错误表示您输入的访问密钥(AccessKey)不正确。您需要通过以下操作修复该错误。
打开user_config.json文件。
删除访问密钥
AccessKeyId
和AccessKeySecret
的值。保存并关闭文件。
运行SMC客户端重新输入AccessKey。
日志报错提示Do Rsync Disk x Failed错误,怎么办?
该错误表示文件传输中断。您可以按以下步骤检查。
查看错误日志文件详细信息。如果错误日志文件中多次出现
return: 3072
或return: 7680
信息提示,请确认源服务器数据库服务或者容器服务是否为开启状态,例如,Oracle、MySQL、MS SQL Server、MongoDB和Docker等服务。您需要先暂停服务或者排除相关数据文件目录后再迁云。依次检查:
中转实例状态是否正常。
本地网络服务是否正常。SMC需要访问80、443、8703和8080通信端口,请确保您的服务器已经放行这些端口。
问题解决后,再次运行主程序重试。
Linux服务器日志错误提示check rsync failed或者rsync not found,怎么办?
请检查迁移源系统是否已安装rsync组件。安装rsync的具体操作,请参见如何安装Rsync?。
Linux服务器日志报错提示check virtio failed错误,怎么办?
请检查迁移源系统是否已安装virtio驱动。安装virtio驱动的具体操作,请参见安装virtio驱动。
Linux服务器日志错误提示check selinux failed,怎么办?
请检查迁移源系统是否已禁用SElinux。禁用SELInux的具体操作,请参见如何关闭SELinux?。
Linux服务器日志错误提示Do Grub Failed,怎么办?
请确保源服务器已经安装了系统引导程序GRUB(GRand Unified Bootloader),并在安装GRUB之后重启SMC客户端和迁移任务。安装GRUB的具体操作,请参见如何为Linux服务器安装GRUB?。
Windows服务器卡在Prepare For Rsync Disk 0阶段,怎么办?
Windows服务器迁云停在Prepare For Rsync Disk 0阶段,查看日志文件后发现显示VssSnapshotul::VssSnapshotul GetSnapshotul Failed: 0x80042308
。此时您可以:
开启Volume Shadow Copy服务。
在服务器中单击开始,在搜索框中输入服务,回车确认。
找到Volume Shadow Copy服务,单击启动此服务。
卸载QEMU Guest Agent软件。
在服务器中单击开始,在搜索框中输入服务,回车确认。
查看是否有QEMU Guest Agent VSS Provider服务,若无该项服务,您可以直接重新运行SMC客户端。
找到卸载脚本,大概位置位于C:\Program Files (x86)\virtio\monitor\uninstall.bat目录,执行脚本卸载QEMU Guest Agent软件。
重新运行SMC客户端。
Windows服务器迁移时,提示Some Src Volume Was Not VSS-Supported,怎么办?
Windows服务器迁云失败,显示类似[2022-10-14 22:03:39][Error] CreatSnapshot 0-0 Failed: Some Src Volume Was Not VSS-Supported
。此时您可以通过以下步骤排查:
查看VSS服务是否异常。
查看Windows事件里面是否有VSS服务异常。
如果事件查看器vss报错拒绝访问,错误码0x80070005,检查是否有安全杀毒软件,如果有,则关闭。
迁移过程中移动硬盘是否弹出。
检查磁盘是否已满,如下图表示D盘已满剩余空间0字节,会导致创建快照失败。
迁移Windows服务器后,启动实例被提示需要激活Windows,怎么办?
您可以重装Windows KMS Client Key后通过KMS激活Windows服务。
远程登录Windows实例。具体操作,请参见连接方式概述ECS远程连接操作指南。
在微软KMS Client Keys页面查询到Windows服务器对应的KMS Client Key,此处假设为xxxx-xxxx-xxxx-xxxx-xxxx。
使用管理员权限打开命令行工具,依次运行以下命令:
slmgr /upk
slmgr /ipk xxxx-xxxx-xxxx-xxxx-xxxx
使用KMS激活Windows。更多信息,请参见VPC环境下ECS Windows系统激活方法。
迁移Windows服务器后,启动实例发现数据盘缺失或者盘符错乱,怎么办?
如果数据盘盘符缺失,您可以打开磁盘管理器,重新添加即可。
打开
。找到并右击盘符缺失的数据盘,单击更改驱动器号和路径。
单击添加并添加数据盘盘符。
如果数据盘盘符错乱,您可以打开磁盘管理器,重新更改即可。
打开
。找到并右击盘符错乱的数据盘,单击更改驱动器和路径。
单击更改并更改数据盘盘符。
迁移Windows服务器后,启动实例发现文件权限异常或部分系统菜单目录显示语言不统一,怎么办?
您需要等待文件系统权限修复操作成功完成。更多信息,请参见迁移Windows服务器后怎么检查系统?。
迁移Linux服务器后,启动实例发现原数据盘目录下没有数据,怎么办?
迁移带有数据盘的Linux服务器后,启动实例时默认不挂载数据盘。您可以在启动ECS实例后运行ls /dev/vd*命令查看数据盘设备,根据实际需要手动挂载,并编辑/etc/fstab配置开机自动挂载。
迁移Linux服务器后,根据该自定义镜像创建的实例为何不能启动?
您需要进行下列检查。
检查驱动。创建I/O优化的实例时,请确保源服务器已经安装virtio驱动。更多信息,请参见virtio驱动。
检查源系统引导配置是否正确。
如果您的源服务器系统是内核版本较低的CentOS 5或者Debian 7,而且自带的GRUB程序版本低于1.9,同时在ECS控制台远程连接实例发现开机界面如下图所示。远程连接的具体操作,请参见远程连接。
您需要升级GRUB系统引导程序至1.9版本以上后,重新迁移。升级GRUB的具体操作,请参见如何为Linux服务器安装GRUB?。
启动Others Linux实例后,网络服务不正常是什么原因?
如果是非主流的Linux系统,可能会被识别为Others Linux类型。迁移后生成的自定义镜像所创建的实例,阿里云不会对该自定义镜像所创建的实例做任何配置工作,包括相关网络配置和SSH配置等。此时,您需要自行修改系统相关网络配置。
自2018年03月31日开始,SMC客户端生成的镜像网络配置有变化,默认以DHCP(Dynamic Host Configuration Protocol)的方式获取IP地址。
迁移后创建的ECS实例hostname依旧保留了其他云平台的名称,如何解决?
该错误是由于ECS实例未安装、未启动cloud-init,或cloud-init版本与阿里云平台不兼容。安装cloud-init后重启实例,hostname即可更新。具体操作,请参见安装cloud-init。