虚机目录里都有什么
一台 ESXi 虚机在数据存储上是一个独立目录,里面由若干文件分工协作:.vmx 是主配置,.vmdk 系列承载磁盘数据与描述符,.vmsd/.vmsn 描述快照链,.vswp 是开机时申请的内存交换文件,.nvram 保存虚拟固件变量,vmware.log 记录开关机与设备变更。理解每个文件的作用,才能判断哪些可以清理、哪些动了会损坏虚机。
基本信息
| 目录位置 | /vmfs/volumes/<datastore>/<vm-name>/ |
|---|---|
| 核心配置 | .vmx 记录内存、CPU、设备与固件设置 |
| 快照相关 | .vmsd 快照链元数据、.vmsn 快照运行状态 |
| 日志 | vmware.log 主日志,按次滚动 |
| 模板 | 转为模板后目录中出现 .vmtx |
典型使用场景
- 虚机启动失败时先看 vmware.log 的报错段落
- 确认是否存在残留快照链,评估备份与迁移的文件集合
- 数据存储容量告警时定位 .vswp 与增量盘的实际占用
- 迁移或备份虚机时确定需要一并带走的文件范围
- 手工导入虚机前核对文件是否齐全
常见文件
| 文件 | 作用 |
|---|---|
| vm1.vmx | 主配置:内存、CPU、设备与固件设置 |
| vm1.vmdk / -flat / -delta | 磁盘描述符及其分段与增量数据 |
| vm1.vmsd | 快照链元数据(文本可读) |
| vm1-Snapshot*.vmsn | 快照对应的运行状态文件 |
| vm1.vswp | 内存交换文件,开机时生成 |
| vm1.nvram | 虚拟 BIOS/UEFI 变量存储 |
| vmware.log | 主日志,记录开关机与设备变更信息 |
| vm1.vmtx | 转为模板后的注册信息 |
按大小与时间定位文件
按大小与时间定位文件
ls -lht /vmfs/volumes/ds1/vm1/ | head -20 # 最近变化与大体积文件优先看
cat /vmfs/volumes/ds1/vm1/vm1.vmsd | head -30 # 查看快照链元数据
grep -iE 'snapshot|device|error' /vmfs/volumes/ds1/vm1/vmware.log | tail -20 # 关键事件不要把 .vmx 与 .vmdk 描述符搞混:重命名虚机要使用 vSphere 客户端或 vmkfstools 等受支持方式,直接改文件名会让 .vmx 中的引用失配,虚机无法开机。
做备份前确认虚机状态与备份方式匹配:使用存储快照或变更块跟踪时按厂商要求操作,否则备份可能无法可靠回滚。
vmware.log 会随虚机运行滚动生成多份,排查完即可清理旧日志;但 vmkernel.log 位于 ESXi 主机侧(/var/log 或 /scratch/log),虚机目录里看不到,涉及存储与网络问题时需要去主机侧看。