VMware ESXI工具-vmkfstools命令
vmkfstools命令介绍
vmkfstools 是用于管理 VMFS 卷、存储设备和虚拟磁盘的 ESXi Shell 命令之一。可以使用 vmkfstools 命令执行很多存储操作。例如,可以在物理分区上创建和管理 VMFS 数据存储,或操作 VMFS 或 NFS 数据存储中存储的虚拟磁盘文件。
虚拟硬盘类型介绍
VMware 虚拟化平台中虚拟机硬盘有三种类型,它们分别是:厚置备延迟置零(zeroed thick)、厚置备置零(eager zeroed thick)和精简置备(thin)。
-
一、厚置备延迟置零(zeroed thick)
创建虚拟机时硬盘类型默认选择此种类型;创建虚拟机时为虚拟机硬盘分配的存储空间即是物理存储空间,但在分配的过程未将存储空间置零,仅当虚拟机存在写入数据时,再按量将存储空间置零,类似于快速格式化。 -
二、厚置备置零(eager zeroed thick)
创建虚拟机时为虚拟机硬盘分配的存储空间即是物理存储空间,并且在分配的过程将存储空间置零,类似于格式化。此类硬盘类型适用于I/O读写频繁的业务虚拟机,如数据库业务系统。 -
三、精简置备(thin)
创建虚拟机时为虚拟机硬盘分配的存储空间并不等于物理存储空间,虚拟机实际使用的存储空间才是它占用的物理存储空间。当虚拟机写入数据时,才为其分配物理存储空间及置零,待分配空间和置备完成后才能进行操作,这对于IO频繁造成性能会有所下降,但它的好处是节省了存储空间。
vmkfstools命令参数
- 基于ESXI6.7
OPTIONS FOR FILE SYSTEMS:
vmkfstools -C --createfs [vmfs5|vmfs6|vfat]
-S --setfsname fsName
-Y --unmapGranularity #[bBsSkKmMgGtT]
-O --unmapPriority <none|low|medium|high>
-Z --spanfs span-partition
-G --growfs grown-partition
deviceName
-P --queryfs -h --humanreadable
-T --upgradevmfs
vmfsPath
-y --reclaimBlocks vmfsPath [--reclaimBlocksUnit #blocks]
OPTIONS FOR VIRTUAL DISKS:
vmkfstools -c --createvirtualdisk #[bBsSkKmMgGtT]
-d --diskformat [zeroedthick
|thin
|eagerzeroedthick
]
-a --adaptertype [deprecated]
-W --objecttype [file|vsan|vvol|pmem|upit]
--policyFile <fileName>
-w --writezeros
-j --inflatedisk
-k --eagerzero
-K --punchzero
-U --deletevirtualdisk
-E --renamevirtualdisk srcDisk
-i --clonevirtualdisk srcDisk
-d --diskformat [zeroedthick
|thin
|eagerzeroedthick
|rdm:<device>|rdmp:<device>
|2gbsparse]
-W --object [file|vsan|vvol]
--policyFile <fileName>
-N --avoidnativeclone
-X --extendvirtualdisk #[bBsSkKmMgGtT]
[-d --diskformat eagerzeroedthick]
-M --migratevirtualdisk
-r --createrdm /vmfs/devices/disks/...
-q --queryrdm
-z --createrdmpassthru /vmfs/devices/disks/...
-v --verbose #
-g --geometry
-x --fix [check|repair]
-e --chainConsistent
-Q --objecttype name/value pair
--uniqueblocks childDisk
--dry-run [-K]
vmfsPath
OPTIONS FOR DEVICES:
-L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv
] /vmfs/devices/disks/...
-B --breaklock /vmfs/devices/disks/...
OPTIONS FOR VMFS MODULE:
--traceConfig [0|1]
--dataTracing [0|1]
--traceSize <x> (MB)
vmkfstools -H --help
参考实例
- 更改虚拟磁盘(vmdk)大小:
vmkfstools -X 40g converter-one.vmdk
- 精简置备转换至厚置备置零:
vmkfstools --inflatedisk /vmfs/volumes/DatastoreName/VMName/VMName.vmdk
- 厚置备延迟置零转换至厚置备置零:
vmkfstools --eagerzero /vmfs/volumes/DatastoreName/VMName/VMName.vmdk
- 创建虚拟磁盘文件:
vmkfstools -C --createfs vmfs3
- 将虚拟磁盘文件A,克隆为精简置备虚拟磁盘文件B:
vmkfstools -i A.vmdk -d thin B.vmdk
操作实例
- 将操作的虚拟硬盘文件归属虚拟机关机,同时将ESXI主机ssh开启
步骤:主机>操作>服务>开启安全Shell(ssh) - 通过ssh连接至ESXI主机
- 使用cd命令进入虚拟硬盘文件vmdk所属目录
参考示例:
cd /vmfs/volumes/datastore1/Server2016
- 使用ls查看文件/目录,确定操作文件
- 硬盘文件转换-精简置备
vmkfstools -i Server2016.vmdk -d thin Server2016_new.vmdk
- 待进度完成至100%(可能在100%会等比较久),Server2016_new.vmdk为新的精简置备虚拟硬盘文件。
引用
https://docs.vmware.com/cn/VMware-vSphere/6.7/com.vmware.vsphere.storage.doc/GUID-A5D85C33-A510-4A3E-8FC7-93E6BA0A048F.html
https://www.yisu.com/zixun/520966.html
https://zhuanlan.zhihu.com/p/545288996