vmware、centos: 快照、redis集群克隆、启动异常
问题描述
提示:这里描述项目中遇到的问题:
启动虚拟机报错:
指定的虚拟磁盘需要进行修复
打不开磁盘“D:\Virtual Machines\CentOS 7 64 位\CentOS 7 64 位-000001.vmdk”或它所依赖的某个快照磁盘。
模块“Disk”启动失败。
未能启动虚拟机
原因分析:
提示:这里填写问题的分析:
从报错分析 磁盘文件异常
看一下虚拟机的虚拟磁盘文件
虚拟机的磁盘文件 .vmdk
后缀为 .vmdk的文件
这里又分成主磁盘文件和快照磁盘文件,一般来说,主磁盘文件会很大,因为它包含完整的虚拟机数据
- 主磁盘文件: 虚拟机名.vmdk(如 CentOS 7 64 位.vmdk)。
正常来说是一个文件,但是因为磁盘文件的分区。这里是众多 CentOS 7 64 位-sxxx.vmdk 组成了主磁盘
CentOS 7 64 位.vmdk 这时候就作为一个配置(只有1kb),配置了这些分区文件的路径
- 快照磁盘文件:虚拟机名-00000X.vmdk
同样因为分区,有很多后缀-sxxx
虚拟机配置文件 .vmx
在 VMware 中,创建快照后,虚拟机会以快照的磁盘文件启动,这是 VMware 快照机制的设计行为
这是因为:
- 在创建快照之后,主磁盘文件 .vmdk 就是只读了
- 后续新的磁盘操作都记录在增量磁盘文件中
打开这个vmx文件,
scsi0:0.fileName = "CentOS 7 64 λ -000001.vmdk"
# 指定了启动时读取的磁盘文件,这里就是指向了快照磁盘文件
# gbk( λ ) = utf8 位
解决方案:
提示:这里填写该问题的具体解决方案:
应该是启动的快照磁盘文件损坏了,这里我就从vmware中删除了快照,重新用主配置文件去启动。可以观察一下vmx中的配置有没有更新。
所有的删除都具有风险,一定要自己评估好
redis 集群克隆
- 正常克隆
- 进入克隆01,当然00必须是关闭的,因为静态ip的原因
docker ps正常,服务开启启动 - 修改静态ip
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
sudo systemctl restart network