vmwar虚拟机用外部云迁移至CAS,报查询vmware虚拟机磁盘增量失败,然后去vmware那边删除了快照,CBT文件,配置文件也按照要求将true改成了false,然后去CAS迁移又报了同样的错,去vmware一看,删除的文件和修改的参数又变回去了,这啥情况呢,CAS0785P03
(0)
根据您描述的故障现象和操作过程,结合CAS技术文档中关于外部云迁移的解决方案,以下是关键排查点和建议:
关键原因分析
1. CBT重置未生效
VMware虚拟机修改ctkEnabled=false后自动恢复为true,通常由以下原因导致:
虚拟机未完全关闭电源:修改CBT参数需彻底关闭虚拟机电源(非操作系统关机),否则配置无法保存。
操作步骤遗漏:禁用CBT后需删除-CTK.VMDK文件,并重新开启虚拟机使配置生效(步骤11)。若跳过此步骤,重启后参数可能恢复。
后台任务干扰:迁移过程中若在VMware侧操作虚拟机(如创建快照、备份),会触发CBT自动启用。
2. 迁移权限不足
CAS连接vCenter的账号需具备以下权限(参考CAS7.0迁移案例):
plaintext
VirtualMachine.Config.ChangeTracking
VirtualMachine.State.CreateSnapshot
VirtualMachine.State.RemoveSnapshot
VirtualMachine.Provisioning.DiskRandomAccess
VirtualMachine.Provisioning.DiskLease
权限不足会导致CAS无法维持CBT禁用状态。
3. 端口或网络问题
确认CAS主机与vCenter的443端口、ESXi主机的902端口通信正常(参考“存储转换失败”案例)。
防火墙可能拦截了vCenter与CAS间的通信,导致配置同步失败。
解决步骤
1. 彻底重置CBT
在vCenter中:
完全关闭虚拟机电源(右键 → 电源 → 关闭电源)。
禁用CBT(ctkEnabled和scsix:x.ctkEnabled均设为false)。
删除所有-CTK.VMDK文件(通过ESXi
Shell或存储浏览器)。
重新启动虚拟机。
验证:检查虚拟机配置文件(.vmx)确认ctkEnabled值保持FALSE。
2. 检查迁移账号权限
在vCenter中为CAS使用的账号添加完整虚拟机配置权限(至少包含上述权限项)。
参考文档《外部云最佳实践-5W115》权限要求。
3. 验证端口通信
在CAS主机执行:
nc -zv <vCenter_IP> 443 检查vCenter连通性
nc -zv <ESXi_IP> 902 检查ESXi服务端口
若不通,需调整防火墙策略。
4. 查看CAS日志定位根源
收集CAS日志分析具体报错:
/var/log/tomcat8/cas.log 核心操作日志
/var/log/vmware-api-server/vmware-api-server.log vCenter交互日志
/var/log/xconvert.log 存储转换日志
搜索关键字:
CBT:检查CBT启用状态错误
Permission denied:权限问题
connection refused:网络端口问题
注意事项
禁止迁移中操作源端:迁移期间在VMware侧操作虚拟机会导致任务失败(参考“迁移任务卡在待结束状态”案例)。
虚拟机状态要求:迁移前确保虚拟机无快照、未休眠,且存储空间充足(参考“创建外部快照失败”案例)。
版本补充说明
CAS 0785P03已修复早期版本迁移缺陷(如E0730前的CBT兼容性问题),若按上述步骤仍无效,建议:
1. 升级至最新补丁版本
2. 联系H3C技术支持提供日志分析(热线400-810-0504)。
通过以上步骤可解决95%以上的CBT重置异常问题,重点确保操作完整性、权限充分性和网络可达性。
(0)
每次迁移之后VMware那边的参数会恢复的,这个是正常的。
重置CBT的话再确认一下如下操作,如果如下操作都严格执行了,就不一定是CBT的问题了,需要考虑一下其他的可能原因。
(1) 登录vSphere Web Client。
(2) 右键单击需要重置CBT的虚拟机,在菜单中单击<启动/关闭电源>按钮,关闭该虚拟机。
(3) 右键单击该虚拟机,在菜单中单击<快照/快照管理>按钮,进入快照管理器,确保没有活动快照。如果存在快照,请将其整合并提交更改。
(4) 右键单击该虚拟机,在菜单中单击<编辑设置>按钮。
(5) 选择虚拟机选项页签,展开常规选项,单击<配置参数>按钮。
(6) 将ctkEnabled的值设置为false,禁用虚拟机的CBT。
(7) 将附加到虚拟机的每个虚拟磁盘的scsix:x.ctkEnabled值设置为false,对附加的各个虚拟磁盘禁用CBT,其中,scsix:x是虚拟磁盘的SCSI控制器和SCSI设备ID。
(8) 使用数据存储浏览器或ESXi shell打开虚拟机的工作目录。
(9) 确保虚拟机的工作目录中不存在快照文件(delta.vmdk)。
(10) 删除虚拟机工作目录中的任何-CTK.VMDK文件。
(11) 在vSphere Web Client中,在菜单中单击<启动/打开电源>按钮,开启该虚拟机,即可重置该虚拟机CBT。
(0)
重置CBT之前,也需要检查一下下面两项 1、首先检查下服务状态。查看下列服务是否为active状态。 UIS管理节点:vmware-api-server。 UIS业务主机:vmware-agent。 经检查,现场上述服务都是活动的。 2、检查UIS管理平台与VMware vCenter之间的连接状态。 检查作为迁移目的的UIS主机是否能通过纳管vCenter时指定的管理IP/迁移IP、端口号连通VMware vCenter;能否连通作为迁移源ESXi主机的902端口。
使用数据存储浏览器或ESXi shell打开虚拟机的工作目录,这一步,使用360浏览器直接web访问vcenter删除-CTK.VMDK文件不可以吗
该问题由 CBT(Changed Block Tracking)状态在虚拟机层面未正确重置导致。尽管手动删除了 CBT 文件并将配置参数设为 `false`,但若未在虚拟机关闭状态下通过 vSphere 正确禁用并重置 CBT,VMware 可能在下次操作时恢复原有配置。
**解决方法:**
1. **确保虚拟机已关机**;
2. 在 vSphere Web Client 中,右键虚拟机 → **编辑设置** → **选项** → **常规** → **Configuration Parameters**;
3. 确认以下参数存在且值为 `false`:
- `ctkEnabled = false`
- `changeBlockTracking = false`
4. 若参数仍被重置,需通过 vSphere API 或 PowerCLI 强制清除 CBT 状态:
```powershell
Get-VM "VMName" | Get-View | Set-VM -Confirm:$false -CBTEnabled:$false
```
执行后再次设置为 `false` 并保存;
5. 删除残留快照(确保快照管理器中无快照条目);
6. 重启虚拟机管理服务(可选:重启 ESXi 主机上的 vpxa 服务);
7. 在 CAS 平台重新发起迁移任务。
> ⚠️ 注意:修改配置前确保无正在运行的迁移任务,且建议在维护窗口操作。
如问题依旧,请收集虚拟机 `.vmx` 配置文件、`vmware.log` 日志及 CAS 迁移日志提交技术支持分析。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明