.vmdk 磁盘文件是什么
VMDK 磁盘由描述符与数据文件两部分组成:描述符里有 Disk DescriptorFile 段,记录 extent 指向、父盘 CID 与磁盘模式;数据文件按置备类型表现为 -flat(厚盘)、-delta(快照增量)、-sesparse(精简)等形式。磁盘模式(persistent、independent-persistent、nonpersistent 等)决定重启后是否保留写入,选错会让数据在重启后消失。
基本信息
| 描述符 | 含 Disk DescriptorFile 段,引用 extent 与 parentCID |
|---|---|
| 数据文件 | -flat(厚盘)、-delta(快照增量)、-sesparse(精简) |
| 磁盘模式 | persistent、independent-persistent、nonpersistent 等 |
| 常用工具 | vmkfstools -i 克隆、-d 指定置备类型、-X 扩容 |
| 查看方式 | qemu-img info 跨平台查看容量与变体 |
典型使用场景
- 克隆磁盘时在 thin 与 thick 之间选择置备类型
- 扩容磁盘容量后再进 guest 扩展分区与文件系统
- 迁移或备份时确定需要一并带走的文件集合
- 跨平台转换到 qcow2/vhdx 以适配其他虚拟化平台
- 排查磁盘挂载失败时核对描述符与数据文件是否齐全
克隆、扩容与查看
克隆、扩容与查看
cd /vmfs/volumes/ds1
vmkfstools -i src/src.vmdk -d thin dst/dst.vmdk # 克隆并按 thin 置备
vmkfstools -X 100G dst/dst.vmdk # 扩容后还需在 guest 内扩分区
qemu-img info dst/dst.vmdk # 跨平台查看容量与变体
ls -lh dst/ # 确认描述符与数据文件都齐全文件与模式读法
| 文件/模式 | 含义 | 注意 |
|---|---|---|
| 描述符 | 文本头,记录 extent 与父盘关系 | 与数据文件必须成对存在 |
| -flat | 厚置备数据文件 | 占用接近逻辑容量 |
| -delta | 快照或增量数据文件 | 对应快照链,删除会破坏链 |
| -sesparse | 精简置备的数据文件 | 回收依赖 TRIM 与底层存储支持 |
| nonpersistent | 重启后丢弃所有写入 | 只适合临时验证,不能承载业务数据 |
多文件 VMDK 拷贝要带齐描述符与全部分段数据文件:只拷描述符会提示找不到磁盘,只拷数据文件则无法识别磁盘结构。
vmkfstools -X 只改变磁盘的逻辑容量,guest 内的分区与文件系统仍需单独扩展,否则系统里看到的容量不会变化。
操作要点
- 克隆或迁移前先确认磁盘是否挂在快照链上,带增量盘的拷贝不完整
- 置备类型决定空间占用与性能取舍,thin 省空间但有超分风险
- 扩容分两步:先改磁盘容量,再进 guest 扩分区与文件系统
- 拷贝时保持描述符与数据文件的相对路径结构,否则注册失败
- 跨平台转换前先合并快照,导出单一平铺磁盘再转换