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

操作实例

  1. 将操作的虚拟硬盘文件归属虚拟机关机,同时将ESXI主机ssh开启
    步骤:主机>操作>服务>开启安全Shell(ssh)
  2. 通过ssh连接至ESXI主机
  3. 使用cd命令进入虚拟硬盘文件vmdk所属目录
    参考示例:
cd /vmfs/volumes/datastore1/Server2016
  1. 使用ls查看文件/目录,确定操作文件

image

  1. 硬盘文件转换-精简置备
vmkfstools -i Server2016.vmdk -d thin Server2016_new.vmdk
  1. 待进度完成至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

posted @ 2024-06-26 17:42  天涯-咫尺  阅读(5)  评论(0编辑  收藏  举报