云迁移工具常见问题以及解决方法
各个模块的日志文件:
a. conductor(控制服务):
/var/log/cmigrate/conductor.log
/var/log/cmigrate/stdout.log # 所有发到安超的openapi请求(包括参数,返回值)都记录在这里。
/var/log/cmigrate/stderr.log
b. transport(中转服务):
/var/log/cmigrate/transport.log
/var/log/cmigrate/transport_stdout.log
/var/log/cmigrate/transport_stderr.log
/var/log/cmigrate/v2v/${taskId}.log # 如果需要执行v2v的话,每个任务都有一个
c. vmware(vmware 无代理日志, 和transport部署在同一台虚机中):
/var/log/cmigrate/vmware.log
/var/log/cmigrate/vmware_stdout.log
/var/log/cmigrate/vmware_stderr.log
/var/log/cmigrate/vixDiskLib-*.log (vmware接口调用相关的一些日志)
d. packer(linux源端代理):
/var/log/cmigrate/packer.log
/var/log/cmigrate/stdout.log
e. packer(windows源端代理):
C:\cmigrate\log\packer.log
C:\cmigrate\log\packer_stdout.log
C:\cmigrate\log\packer_stderr.log
离线迁移,日志在 X: 盘。
windows离线迁移时,系统内有安装PuTTY、WinSCP、AnyDesk等工具,可以通过windows开始菜单进入。
1、无代理迁移计算数据大小失败,“Error caused by file /vmfs/volumes/e24134fd-e433sdw2/samplevm/samplevm.vmdk”
原因:querychangeddiskareas接口失败,一般出现这种故障是因为vadp开启cbt时要求虚机之前没有任何快照
解决方法:
1. Disable CBT using tools in http://220.231.216.27/cmigrate/tools/cbt
2. Take a snapshot
3. Delete all snapshot
示例:
1. 在云迁移部署的虚机内执行wget http://220.231.216.27/cmigrate/tools/cbt
2. chmod 777 cbt
3. ./cbt 出现使用方式
4. ./cbt -vcenter=172.16.9.200 -user=administrator@vsphere.local -passwd=Huayun@123 -uuid=4221d200-fc6a-5ac2-9f4f-55ed194811e9 -op=disable
5. 然后到vcenter上为该虚机创建快照,然后删除所有快照。
如何查找上述第4步中的虚机uuid:
A. 在云迁移平台,点击源主机的更新按钮
B. 到transport日志查找对应的虚机uuid
2、无代理静创建默快照失败
原因:
导致这个问题的原因可能有多种,下列仅仅是已知的可能原因。
1. vmware虚拟机没有虚拟机光驱设备,添加后即可创建静默快照。
3、windows迁移后目标端dhcp不到ip
原因:
源端配置了静态ip,所以没打开dhcp client服务
解决方法:
目标机器的服务里面打开dhcp client服务
4、Windows迁移后目标端磁盘offline
云迁移时的现象:
windows迁移到目标端后,cmd终端一直卡在“3. start to correct volume letter” 阶段。
原因:
源端san策略没有配置成onlineall
解决方法:
在磁盘管理器中手动对目标端进行磁盘上线操作。
5、windows 2003 迁移后目标端分区不自动分配盘符
原因:
注册表子项HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Mountmgr\NoAutoMount没有关闭
解决方法:
手动分配盘符
6、迁移到云平台的windows 2008/7 及更高版本的windows系统,启动时报错,错误代码是 0xc0000428,并且错误内容是windows无法验证\windows\system32\winload.exe的数字签名
原因:
这种场景由于windows操作系统一直在更新,无法做到持续更新迁移工具的windows boot分区数据以及mbr信息
解决方法:
1. 下载 windows packer离线iso镜像(核心是win10 pe),上传到云平台iso镜像
[下载地址](http://10.192.13.183/cmigrate/v2.0.0/packer-offline-windows-2.0.0.iso)
3. 对迁移云平台上的目标云主机挂载该iso镜像,开机进入win10pe
4. 打开cmd命令行,执行 "bcdboot.exe C:\windows /s D:\ " 进行boot的修复。
注: 该命令中C:\是指云主机的windows系统分区,D:\是指云主机的windows启动分区,两个盘符都可能会发生变化
5. 关闭云主机,卸载iso镜像,然后开机,此时系统如果没有其他问题可以正常启动
7、windows离线迁移时,v2v报错 "The disk contains an unclean file system (0, 0)." 或者 "read-only file system."
原因:
1. 强制关机导致文件系统中的数据没有完全刷新到硬盘中。
2. win10等具有fastboot功能的系统,正常关机时并不会把所有数据都刷新的文件系统中。
解决办法:
1. 强制关机的情况下,重新启动到源系统,正常关机。
2. 对于win10等具有fastboot功能的系统,启动到源系统,使用命令行 `powercfg /h off` 关闭fastboot,然后关机。
备注:
迁移完成后,使用命令行 `powercfg /h on` 开启fastboot。
8、windows无代理迁移时,v2v报错 "The disk contains an unclean file system (0, 0)." 或者 "read-only file system."
原因:
有可能是未安装vm-tools导致内存中的数据没有完全刷新到硬盘中。
解决办法:
虚机安装vm-tools。
9、windows 系统分区不是C分区迁移时,目标虚机启动报 "在系统启动时至少有一个服务或驱动程序产生错误"
原因:
虚拟化引入的virt tools first boot service 固定从c:/Program Files目录启动,系统分区不是C分区的时候会找不到相应的目录导致服务启动失败。
解决方法:
1. 在dos命令行,进入系统分区下的Program Files\Guestfs\Firstboot目录,手动执行“rhsrvany.exe -s firstboot”
2. 服务管理中将这个服务禁用
10、exsi/vmware上的 windows2003使用离线iso迁移时,离线镜像无法启动
原因:
由于windows 2003中只有 vmware ide驱动,并且此驱动在win10中不再支持,所以离线无法启动。
解决办法:
windows2003关机后,更改vmware上磁盘驱动为scsi,在从离线镜像启动。
备注:
迁移完成后,关闭离线镜像系统,然后更改vmware上磁盘驱动为ide,再启动windows2003。
11、windows系统迁移到云平台后报 0x0000007B 蓝屏
可能原因:
1、windows上有杀毒软件,请关闭杀毒软件后再次尝试。
2、windows2008及以上版本可能开启了相关的policy,详见解决办法。
3、windows2003 SP1,详见第12条case。
4、源端是位于xen等半虚拟化平台的虚机,云迁移不支持该种情况。
解决方法:
对于windows2008开启了相关policy的处理方式,详见如下链接:
https://docs.microsoft.com/uk-UA/troubleshoot/windows-server/deployment/stop-0x0000007b-error-group-policy-setting
https://docs.microsoft.com/en-us/windows/client-management/manage-device-installation-with-group-policy
12、windows 2003 sp1迁移到云平台后,报 0x0000007B 蓝屏
原因:
目前云迁移工具使用的virt-v2v中的virtio驱动版本为 0.1.141,该驱动有问题,导致蓝屏,需要更换virtio驱动为0.1.100。
解决方法:
在云迁移工具 transport服务器上更换win virtio驱动板本,操作如下:
wget http://220.231.216.27/cmigrate/virtio-win-0.1.141_Add_0.1.100_Win2k3Drv.iso.tar.bz2
tar xf virtio-win-0.1.141_Add_0.1.100_Win2k3Drv.iso.tar.bz2
cp /usr/share/virtio-win/virtio-win-0.1.141.iso /usr/share/virtio-win/virtio-win-0.1.141.iso.org
cp -f virtio-win-0.1.141_Add_0.1.100_Win2k3Drv.iso /usr/share/virtio-win/virtio-win-0.1.141.iso
操作完成后,需要重新执行迁移。
13、windows 迁移到云平台后,发生黑屏:
原因:
下列仅为可能的已知的原因。
1. 该虚机中显卡驱动不支持,可以先把平台上该虚机的显卡改为qxl试一下。
14、linux xorg桌面无法启动错误修复方案:
原因:
可能是xorg的显卡配置不适合
解决方法:
重新生成 xorg.conf 配置文件
1. cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
2. Xorg -configure
3. cp -f `pwd`/xorg.conf.new /etc/X11/xorg.conf
如果还有问题,需要找stack组的同事支持。