迁移对磁盘数量、大小是否有限制?
· 不进行磁盘分区调整时,主机迁移服务磁盘要求:
- 目的端虚拟机的磁盘数量大于或等于源端的磁盘数量。
- 目的端每块磁盘空间都要大于或等于源端对应磁盘的空间。
· 选择调整磁盘分区时,主机迁移服务磁盘要求:
- 目的端虚拟机的磁盘数量大于或等于调整后的磁盘数量。
- 目的端每块磁盘空间都要大于或等于对应磁盘调整后的空间。
迁移过程中目的端为什么多出来一个40G的磁盘?
主机迁移服务在迁移过程中会在目的端服务器临时创建并挂载一个容量为40GB的磁盘,用于辅助迁移,该磁盘会在迁移结束后自动删除。迁移期间,请勿对该磁盘进行删除操作或将计费模式转为包周期操作,否则会导致迁移失败。
目的端系统盘无法挂载该如何处理?
问题现象
迁移任务失败后,目的端系统盘是以SMS为开头的临时系统盘,而非目的端本身系统盘,目的端本身系统盘无法被挂载上去。
问题原因
任务失败后,迁移过程中原有的卸载临时镜像的步骤未执行,导致系统盘仍为SMS创建的临时镜像盘。需要手动卸载临时镜像。
解决方案
以linux系统为例,说明如何处理该问题
若Agent没有卸载,可执行以下操作,挂载系统盘。
- 使源端状态为在线状态:在源端SMS-Agent目录下运行
./agent-cli
,然后输入connect
回车。
- 在
agent-cli
命令行下输入clear
。约一分钟后,目的端服务器上的临时镜像盘会被卸载删除,原系统盘会被重新挂载上。
若Agent已卸载,则需要手动调用云主机API,弹性云主机 > 磁盘管理,AttachServerVolume,手动挂载系统盘。
“源端磁盘信息发生变化,任务执行失败,请删除任务重新启动源端agent”该如何处理?
问题现象
开始服务器复制时提示“SMS.0515 源端磁盘信息发生变化,任务执行失败,请删除任务重新启动源端agent”。
问题分析
Agent会每隔1个小时收集一次源端服务器的磁盘信息,如果在最后一次收集源端服务器信息到开始服务器复制这段时间内,源端服务器磁盘发生变化,就会提示该错误。主要变化包括以下方面:
- 源端挂载、卸载磁盘和分区
- 源端分区扩容导致目的端磁盘大小不够
- 源端分区新增大量数据导致目的端分区容量不够
- 源端分区文件系统类型发生变化
解决方案
- 登录目的端管理控制台。
- 在左侧导航树中,选择“迁移服务器”。在服务器列表页面选择该服务器,单击“操作”列下“更多 > 删除”。
- 登录源端服务器,重新启动Agent,Agent会自动更新磁盘信息。
- 重新设置目的端并启动迁移。
迁移Windows服务器时如何调整分区、磁盘?
背景说明
存在以下情况时需要手动调整源端分区:
- 系统盘超过1T。
- 存在不支持的文件系统。
- 存在不想迁移的数据分区或者有其他调整分区的需求。
场景一
假设源端系统所在磁盘为1.1T:系统分区和启动分区总大小为 100G,数据盘 D盘:1024G。迁移到目的端后要拆分成两个磁盘:第一块盘100G,第二块盘1024G。
操作步骤为:
- 打开源端Agent config目录。Python3版本为:
C:\SMS-Agent-Py3\config
,Python2版本为:C:\SMS-Agent-Py2\config
。 - 按如下所示修改
disk.cfg
文件并保存。[vol_mount_modify] D = 2
说明
D = 2表示D盘迁移到目的端第二块磁盘。
若源端有多个分区,迁移到目的端后想拆分为多个盘,可按照D=2、E=3、F=4…修改disk.cfg文件。
- 在RDA管理控制台中删除服务器。
- 重新启动agent,去源端服务器详情中验证磁盘信息是否发生更改。
说明源端系统分区和启动分区只能迁移到第一块盘,所以对于系统分区和启动分区不能使用这种方式。
场景二
假设源端数据盘 D盘:为FAT32文件系统,源端校验不通过,想通过配置文件屏蔽此分区。
操作步骤为:
- 打开源端Agent config目录。Python3版本为:
C:\SMS-Agent-Py3\config
,Python2版本为:C:\SMS-Agent-Py2\config
。 - 按如下所示修改
disk.cfg
文件并保存。[vol_mount_modify] D = -1
说明D = -1表示不会迁移D盘。
- 在主机迁移服务管理控制台中删除服务器。
- 重新启动agent,可以看到源端服务器详情中磁盘信息中已经没有D盘。
场景三
假设源端有两块数据盘 :第二块磁盘D和第三块磁盘E,系统盘为第一块磁盘,需要将两块数据盘合并迁移到同一块磁盘。
操作步骤为:
- 打开源端Agent config目录。Python3版本为:
C:\SMS-Agent-Py3\config
,Python2版本为:C:\SMS-Agent-Py2\config
。 - 按如下所示修改
disk.cfg
文件并保存。[vol_mount_modify] E = 2
说明E = 2表示将E盘迁移到目的端第二块磁盘。
- 在主机迁移服务管理控制台中删除服务器。
- 重新启动agent,可以看到源端服务器详情中磁盘信息数据盘只有一块分别为D分区和E分区。
如何压缩Windows系统源端服务器的磁盘分区?
问题描述
使用主机迁移服务迁移Windows系统的源端服务器时,要求目的端服务器的磁盘大小不小于“源端管理”中相对应的源端服务器“推荐规格”大小,否则迁移可能失败。若您已创建Windows系统的目的端服务器,且目的端服务器的磁盘大小小于推荐规格,您可以参见本章,将源端服务器的推荐规格调至小于或者等于目的端服务器的磁盘大小。
问题分析
对于Windows系统的源端服务器,主机迁移服务“源端管理”中的“推荐规格”是磁盘中所有被分区的空间大小之和。例如一块40GB的磁盘上有35GB被分区,那么推荐规格应该是36GB。因此只要压缩源端服务器中的磁盘分区,再重启Agent,将源端服务器信息重新上报至主机迁移服务,令“源端管理”中的推荐规格小于或者等于目的端服务器的磁盘大小就可以迁移了。
操作步骤
- 打开“开始”菜单,输入“
diskmgmt.msc
”。进入“磁盘管理”界面。 - 右键选中待压缩磁盘的最后一个分区,单击“压缩卷”。进入“压缩”界面。
- 在“输入压缩空间量(MB)(E)”中输入需要压缩的大小。
- 单击“压缩”。待压缩的磁盘会出现相应大小的未分配区。
- 登录RDA管理控制台。
- 在左侧导航树中,选择“迁移服务器”。进入服务器列表页面。
- 在服务器列表页面选择需要删除服务器,单击“操作”列下“更多 > 删除”。或勾选需要删除的服务器,单击服务器列表上方的“更多 > 删除”。
- 在弹出的“删除”页面,单击“是”。
- 将源端服务器信息重新上报至主机迁移服务。
- 若您已将源端服务器中的迁移Agent卸载,请您重新安装迁移Agent。
- 若您的源端服务器中已安装迁移Agent,请您重新启动迁移Agent,启动成功后,迁移Agent会给主机迁移服务上传源端服务器信息。
目的端配置文件修改失败如何处理?
问题描述
Linux迁移,目的端配置文件修改报错,提示“SMS.3101 修改目的端配置文件失败”。
问题分析
该问题可能是 /etc/default/grub
文件配置错误导致。
解决方案
- 在天翼云下发一台与目的端服务器相同操作系统、相同区域、相同可用区的临时服务器。
- 在天翼云控制台,将目的端服务器关机并卸载系统盘,将该系统盘挂载到临时服务器作为数据盘(比如:vdb)。
- 登录临时服务器,执行以下命令:
mount /dev/vdbx /mnt(vdbx为目的端系统盘中根分区设备,例如:vdb1,vdb2...) cp -f /etc/default/grub /mnt/etc/default/grub umount /mnt
- 在天翼云控制台,将目的端系统盘(即挂载到临时服务器上作为数据盘的vdbx)从临时服务器上卸载下来,挂载回目的端服务器,然后重试。请勿将临时服务器的系统盘挂载到目的端服务器。
“创建快照失败”怎么办?
问题描述
迁移过程中提示“SMS.1904 创建快照失败”。
问题分析
Windows迁移在迁移数据前会使用VSS模块制作快照以保证数据在同一时间点,如果源端VSS模块存在问题,会导致快照制作失败。跳过制作快照可能会导致迁移时目的端与源端数据不在同一时间点,目的端业务可能无法正常启动。可以在源端没有业务时停止源端软件运行,然后执行同步操作,这样就能保证目的端和源端数据在同一时间点。
处理步骤
- 打开源端Agent config目录。Python3版本为:
C:\SMS-Agent-Py3\config
,Python2版本为:C:\SMS-Agent-Py2\config
。 - 打开
g-property.cfg
文件,将enablesnapshot
参数改成False
。然后重启迁移任务,这样迁移任务将跳过制作快照。
如何处理“挂载分区XXX到目录XXX失败”?
问题描述
Linux文件级迁移过程中,在任务详情页面显示迁移失败,失败原因为:“sms.3205 挂载分区 /dev/vdc1
到目录 /mnt/vdc1
失败”。
问题分析
源端存在文件系统不在兼容列表范围内,导致无法成功挂载。
解决方案
检查源端文件系统类型,目前主机迁移服务支持的Linux文件系统类型包括:ext2,ext3、ext4、xfs、vfat、btrfs。reiserfs等文件系统暂不支持。
对于不支持的文件系统,可以将文件拷贝到其他文件系统,然后卸载不支持的文件系统后再进行迁移。
如果源端服务器不方便上述操作,您可以采用以下方式:
- 使用镜像服务,通过外部镜像文件创建Windows系统盘镜像或通过外部镜像文件创建Linux系统盘镜像。
- 不迁移源端服务器,直接使用公有镜像或市场镜像创建目的端服务器,然后重新部署源端服务器的应用。
- 使用甄选商城上云迁移专家服务。
“迁移分区到目的端失败”或“同步分区到目的端失败”怎么处理?
问题描述
迁移过程中提示“SMS.0805 迁移分区XXX到目的端XXX失败”或“SMS.0806 同步分区XXX到目的端XXX失败”。
问题分析
迁移分区数据到目的端失败可能有如下几种原因:
- 源端到目的端网络不通
- 目的端该分区磁盘被写满
- 目的端磁盘被卸载
- 源端
/etc/ssh/ssh_config
配置错误 - tar进程退出
解决方案
- 请先排查是否是网络原因导致的,如果网络不通请先解决网络问题。
- 请查看目的端该分区是否被占满,如果该分区被占满可删除目的端部分无用文件,然后重试。也可删除源端该分区部分无用文件,然后重新迁移。确保分区磁盘留有足够空间。
- 查看目的端该分区磁盘是否被卸载,如果被卸载请重新挂载。登录主机迁移服务控制台,单击左侧导航栏的“迁移服务器”,单击要迁移的服务器操作列的“开始”。
- 请查看
/root/f2f_migrate_error.log
。如果有类似/etc/ssh/ssh_config:line 69: Bad configuration option: clientactiveinterval
。表明配置有问题,请更正ssh_config
配置后重试。 - 检查源端或目的端是否存在tar进程,如果不存在说明tar进程被终止。请登录主机迁移服务控制台,单击左侧导航栏的“迁移服务器”,单击要迁移的服务器操作列的“开始”。
如何解决Linux在迁移复制过程中,源端创建文件失败?
问题描述
在迁移复制过程中控制台报错,提示“SMS.1204 在源端创建文件失败,失败原因:/bin/sh: line 0: echo: write error: No space left on device
”。
问题分析
源端磁盘使用率过高导致没有剩余可写入的空间,因而源端创建新文件失败。
解决方案
1.执行 df -Th
查看挂载的各个磁盘分区使用率情况。
2.若磁盘剩余空间不足,请清理磁盘空间或者进行扩容,保证各分区剩余空间不低于1G。
3.在SMS控制台上删除此服务器,然后在源端重新注册Agent,重新进行迁移。
“读取源端文件(/etc/fstab)失败”怎么处理?
问题描述
启动目的端时提示“SMS.3104 读取源端文件(/etc/fstab
)失败”。
问题原因
该问题是因为源端服务器缺少fstab文件,在配置修改的时候读取该文件报错。
解决方案
- 登录源端服务器,修复
/etc/fstab
文件。 - 登录主机迁移服务控制台,单击左侧导航栏的“迁移服务器”。
- 单击要迁移的服务器操作列的“开始”,重新开始迁移。
如何处理“目的端磁盘个数不够”?
问题描述
配置目的端或启动目的端时提示“SMS.1311 目的端磁盘个数不够”。
问题原因
- 在配置目的端服务器过程中,会校验目的端磁盘数量是否和源端一致。当出现该错误时,检查目的端服务器磁盘数量是否少于源端服务器磁盘数量,或目的端服务器中的硬盘有没有人为删除或卸载。
- 源端Agent启动后,在源端新增或删除了磁盘,导致Agent无法识别磁盘变化。
检查目的端磁盘数量与源端服务器磁盘数量
- 登陆RDA控制台。
- 在左侧导航树中,选择“迁移服务器”。
- 进入服务器列表页面。
- 在服务器列表页面,单击“更多 > 删除目的端配置”。
- 在目的端重新挂载磁盘,保证不少于源端磁盘数量。
- 在服务器列表页面,单击目的端服务器下的“点击设置”,重新设置目的端并开始迁移任务。
检查源端是否新增或删除了磁盘
- 登陆RDA控制台。
- 在左侧导航树中,选择“迁移服务器”。进入服务器列表页面。
- 在服务器列表页面,单击“更多 > 删除目的端配置”。
- 在目的端重新挂载磁盘,保证不少于源端磁盘数量。
- 在服务器列表页面,单击目的端列的“设置目的端”,重新设置目的端并开始迁移任务。
如何解决“SMS.1105”创建磁盘失败问题?
问题描述
创建目的端时提示“SMS.1105 创建磁盘失败,失败原因:volume gigabytes exceeded volume gigabytes quota!
”。
问题分析
为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限制,比如您可以创建的云硬盘数量、云硬盘容量以及快照数量。
解决方案
向云硬盘EVS服务申请扩大云硬盘配额,申请完成后重试。
如何解决执行“df -TH”命令失败?
问题描述
Linux服务器安装解压Agent后,运行Agent时:执行 startup.sh
脚本报错,错误提示为“SMS.5108: 执行“df -TH
”命令失败”。
问题分析
在源端执行 df -TH
, 然后执行 echo $?
。如果结果不是0,表明该命令执行异常。
出现该问题可能的原因是挂载了不存在或已经离线的设备。
解决方案
可以尝试将其 umount
,使得执行 df-TH
后,执行 echo $?
的结果是0。
迁移对磁盘数量、大小是否有限制?
- 不进行磁盘分区调整时,主机迁移服务磁盘要求:
- 目的端虚拟机的磁盘数量大于或等于源端的磁盘数量。
- 目的端每块磁盘空间都要大于或等于源端对应磁盘的空间。
- 选择调整磁盘分区时,主机迁移服务磁盘要求:
- 目的端虚拟机的磁盘数量大于或等于调整后的磁盘数量。
- 目的端每块磁盘空间都要大于或等于对应磁盘调整后的空间。
如何处理“错误码SMS.1106 删除磁盘***失败”?
问题描述
迁移完成后,提示“SMS.1106 ”删除磁盘***失败,失败原因:periodic volume can not be deleted!
说明:出现该问题时,实际的迁移任务已经完成,目的端服务器可以正常登录验证并使用。如您后续还有同步增量数据的需求,需要按照解决方案处理后,再进行迁移。
问题分析
迁移期间系统会自动给目的端服务器挂载一个名称为“SMS-临时磁盘-自动创建-迁完自动删除”按需计费的系统盘,迁移结束后系统会自动卸载并删除该磁盘。如果在迁移期间手动将该磁盘的计费模式转为包周期(包年/包月),在迁移“卸载代理镜像”阶段系统就无法自动删除该磁盘。
解决方案
- 根据迁移失败原因中的磁盘ID,在云硬盘 EVS服务的磁盘界面,找到对应磁盘。
- 联系天翼云客服将该磁盘退订。
- 退订后,在迁移任务界面单击“开始”继续迁移即可。
配置目的端时,提示“您选择目的端的某些磁盘比源端对应要迁移磁盘小,不能满足要求,请重新选择”怎么处理?
问题描述
目的端配置完成,单击“下一步:确认配置”时提示“您选择目的端的某些磁盘比源端对应要迁移磁盘小,不能满足要求,请重新选择”。
问题分析
主机迁移服务选择目的端磁盘需要同时满足以下条件:
- 条件一:目的端磁盘数量要大于或等于源端磁盘数量。
- 条件二:目的端每块磁盘空间都要大于或等于源端对应属性的磁盘空间。
出现上述提示,是因为目的端磁盘未满足条件二。
解决方案
- 检查目的端每块磁盘空间,排查出不满足条件二的磁盘,在弹性云服务器ECS控制台扩容该磁盘空间,保证该磁盘空间大于或等于源端对应磁盘空间。可根据目的端配置界面推荐目的端的磁盘空间进行扩容。
如果通过调整磁盘挂载顺序即可满足条件二,您可以通过以下步骤进行调整。
a.前往弹性云服务器 ECS控制台,将目的端服务器关机。
b.在云硬盘页签,手动卸载目的端所有数据盘。
c.按照主机迁移服务,目的端配置界面推荐目的端中数据盘顺序,重新手动挂载目的端数据盘。 - 返回RDA控制台,重新设置目的端。
主机迁移服务是否支持目的端使用本地磁盘
主机迁移服务暂不支持目的端使用本地磁盘进行迁移,建议更换为云硬盘 EVS。
为什么阿里云Windows系统的GPT磁盘,迁移到天翼云时对应磁盘容量需要大1G?
源端阿里云Windows系统,有一个GPT磁盘,全盘分区后大小为40 G。注册源端并配置目的端服务器,确认配置时,提示“您选择目的端的某些磁盘比源端对应要迁移磁盘小,不能满足要求,请重新选择”。推荐目的端处显示,目的端服务器对应的磁盘大小需要41 G。
问题分析
当磁盘格式转换成GPT格式时,会自动生成一个MSR分区,该分区用户看不到,只能通过Diskpart工具查看。其中,阿里云MSR分区大小默认是15 M。天翼云MSR分区大小默认是128 M。因此,当阿里云的GPT磁盘迁移到天翼云时,需要为MSR分区多提供113 MB的空间。因虚拟机磁盘最小单位是1G,所以目的端磁盘容量需要多1G。
解决方案
- 方案一:
扩容目的端该对应磁盘容量,保证目的端该磁盘容量不小于“推荐目的端”中推荐的磁盘容量。
- 方案二:
压缩源端磁盘分区。
Linux系统调整磁盘分区时,为什么物理卷是否迁移无法选择?
- 情况一:物理卷“是否迁移”灰置,并显示为“否”。
若逻辑卷全部不迁,则卷组以及对应的物理卷也全部不迁移。若要重新选择迁移,请单击“全部迁移”再进行调整。
- 情况二:物理卷“是否迁移”灰置,并显示为“是”。
若有不迁移的物理卷,请先调大其他物理卷或调小/不迁移某个逻辑卷,确保卷组大小大于逻辑卷的总大小。
- 情况三:Linux块级迁移,只能选择全部迁移或暂不迁移。
LVM场景不支持物理卷或逻辑卷调整。
Linux系统调整磁盘分区时,为什么逻辑卷是否迁移无法选择?
- 情况一:逻辑卷无挂载点。
- 情况二:逻辑卷“是否迁移”灰置,并显示为“否”。
若需要迁移该逻辑卷,请先调大卷组大小,确保卷组大小大于逻辑卷的总大小。
- 情况三:Linux块级迁移,只能选择全部迁移或暂不迁移。
LVM场景不支持物理卷或逻辑卷调整。
如何卸载目的端临时系统盘并挂载自身系统盘?
在迁移任务失败/暂停状态下,删除控制台任务,迁移过程中原有的卸载临时镜像的步骤未执行,导致系统盘仍为SMS创建的临时镜像盘。需要手动卸载临时镜像。
先在控制台界面卸载临时系统盘,再卸载目的端自身系统盘,最后再重新挂载目的端自身系统盘。
迁移完成后,为什么已迁移数据量小于总数据量?
问题描述
迁移完成后,已迁移数据量小于总数据量。
问题分析
源端总数据量是通过迁移Agent执行 df-Th
命令搜集得到的,已迁移数据量是通过记录实际已迁移文件的大小累计得到的。
出现已迁移数据量小于总数据量,可能是因为以下几种情况:
- 情况一:源端有文件被删除,但进程依然存在
出现这种情况,是因为源端经常使用 rm
命令或其它软件删除文件,虽然文件被成功删除,但是文件进程依然存在,还占用着磁盘空间。
- 情况二:有目录不会被迁移
Linux系统,如下文件夹中的文件不会被迁移:
/proc/*
/sys/*
/lost+found/*
/var/lib/ntp/proc/*
总数据量包含以上文件夹内的文件大小,但迁移时不会迁移这些文件。因此会造成已迁移数据量小于总数据量的情况。
- 情况三:迁移时,源端有数据发生改变
迁移时,迁移Agent通过 df -Th
命令获取每个分区挂载的根目录,遍历根目录进行迁移。
在迁移时,已迁移的数据不会因为源端数据改变而改变;未迁移的数据如果发生改变,则会迁移改变后的最新数据。
总数据量记录的数值是第一次扫描源端搜集的信息。在迁移时,源端可能有大量的数据改变(比如源端大量还未迁移的数据被删除),则会造成已迁移数据量小于总数据量的情况。
您可以在源端与目的端,分别输入 df -Th
命令 , 比对源端信息和目的端信息。
- 情况四:源端存在大量空洞文件
迁移时会忽略空洞文件,如果源端存在大量空洞文件,迁移结束后,已迁移数据量小于总数据量则属于正常迁移,可忽略。Linux系统产生空洞文件的途径有很多种,常见如 dd
命令等。