vmkfstools – VMware ESX Server文件系统管理工具

 

语法:
     vmkfstools OPTIONS
     vmkfstools OPTIONS PARTITION
     vmkfstools OPTIONS DEVICE
     vmkfstools OPTIONS PATH

vmkfstools是一个创建和维护在VMware ESX Server上的虚拟磁盘,文件系统,逻辑卷和物理存储设备的程序.他支持创建在一磁盘分区上创建VMFS,和管理保存在VMFS上的文件(如虚拟磁盘).
                            OPTIONS是指定操作的一个或多个命令行选项.被操作的文件或者VMFS文件系统可指定在选项后,基于/vmfs目录的相对或绝对的文件路径.

PARTITION参数用于指定分区, 应该以vmhbaA:T:L:P的形式,其中A表示适配器,T表示目标,L表示LUN(逻辑单位编号),P表示分区.P为0表示整个磁盘.
例: vmhba0:2:3:1指向第一个适配器,目标为2,LUN为3上面的第一个分区.

DEVICE参数用于指定设备,并且是一个以/vmfs/devices(设备文件系统的挂载点)开始的路径名.下面的子挂载点为每个设备.例如: /vmfs/devices/disks为本地或其于SAN的磁盘, /vmfs/devices/lvm为VMKernel逻辑卷,/vmfs/device/generic为通用SCSI设备,如磁带机,等等.

PATH参数用于指定VMFS文件系统或文件,为基于/vmfs目录下的相对或绝对路径或者文件名.

文件系统选项
长和短形式的命令选项是相等的.如:

vmkfstools -C –createfs vmfs3
                -b –blocksize #[mMkK]
                -S –setfsname fsName
                -Z –extendfs extension-partition
   deviceName
                -P –queryfs -h –humanreadable
                -T –tovmfs3
                -x –upgradetype [zeroedthick|eagerzeroedthick|thin]
                -u –upgradefinish
   vmfsPath

    -C, –createfs vmfs3
    -b, –blocksize #[mMkK]
    -S, –setfsname fsName

  文件块大小通过选项-b指定,默认文件块大小为1MB,文件块大小必须为1MB,2MB,4MB或8MB.在ESX Server 3下,VMFS-2文件系统为只读的,用户不允许创建和修改.VMFS-3文件系统ESX 2.X不可用.
  -s选项设置VMFS文件系统标签, 该选项只能与选项’-C’关联使用.标签可容纳128字符,头尾不能包含空格. 可通过如下命令修改已创建的文件系统标签:
    ln -sf /vmfs/volumes/<FS UUID> /vmfs/volumes/<New label>  
   
  -Z, –extendfs  扩展分区
  通过增加其它分区扩展已经存在的VMFS-3文件系统.一个VMFS-3文件系统最多可以有32个分区.该选项不能用于ESX Server 3下的VMFS-2文件系统.
   
    -P, –queryfs
    -h, –human-readable

  列出当一个VMFS文件系统上有任何文件和目录时的文件系统属性,列出了VMFS版本号,构成指定VMFS文件系统的分区号,文件系统标签(如果有的话),文件系UUID,可用空间,并列出文件系统关联所有分区的设备名称.选项’-h’为可读的打印格式大小(如5k,12.1M或2.1G)
   
文件系统升级选项  VMFS-2升级到VMFS-3文件系统需两个步骤.升级前必须卸下`vmfs2`和`vmfs3`驱动,并装载辅助文件系统驱动程序’fsaux’.升级第一步使用’-T’选项,完成后,卸下辅助文件系统’fsaux’,重新装入vmfs2和vmfs3驱动.升级第二步使用’-u’选项.

 

  -T, –tovmfs3
   -x, –pgradetype [zeroedthick|eagerzeroedthick|thin]

    转换VMFS-2文件系统至VMFS-3格式,对于文件系统保存所有文件.只有文件块大小为8MB或更小的文件系统能被转换.转换是单向的,不能回滚.

  -u, –upgradefinish /vmfs/volumes/<file system label|file system UUID>
  一旦文件系统升级的第一步骤完成(使用`-T`), `vmfs2`和`vmfs3`模块必须被重新装载,选项`-u`用以完成文件系统的升级.

虚拟磁盘选项vmkfstools -c –createvirtualdisk #[gGmMkK]
                -d –diskformat [zeroedthick|eagerzeroedthick|thick|thin]
                -a –adapterType [buslogic|lsilogic]
                -w –writezeros
                -j –inflatedisk
                -U –deletevirtualdisk
                -E –renamevirtualdisk srcDisk
                -i –clonevirtualdisk srcDisk
                -d –diskformat [rdm:<device>|rdmp:<device>|raw:<device>|thin|2gbsparse|monoflat|monosparse]
                -X –extendvirtualdisk #[gGmMkK]
                -M –migratevirtualdisk
                -r –createrdm /vmfs/devices/disks/…
                -q –queryrdm
                -z –createrdmpassthru /vmfs/devices/disks/…
                -v –verbose #
                -g –geometry
                -J –miscop [setuuid | getuuid]
   vmfsPath


  -c, –createvirtualdisk #[gGmMkK]
  -a, –adaptertype [
buslogic|lsilogic] srcFile

  -d, –diskformat [
zeroedthick|eagerzeroedthick|thick|thin]
     在VMFS文件系统上以指定大小创建一虚拟磁盘.大小选项默认单位为字节,但可以分别通过后缀’k',’m',或’g'指定为kb,Mb或Gb.’adaptertype’选项允许用户去指定使用哪种设备驱动程序与虚拟磁盘通讯.’-d’选项表示虚拟磁盘格式.默认磁盘格式为’zeroedthick’.具体详见’SUPPORTED DISK FORMATS’章节.
   -U, –deletevirtualdisk
   删除指定虚拟磁盘以及关联的文件.
  
   -E, –renamevirtualdisk srcDisk
   重命名指定虚拟磁盘关联的文件名称。
  
   
-i, –clonevirtualdisk srcDisk
   -d, –diskformat
[rdm:<device>|rdmp:<device>|raw:<device>|thin|2gbsparse|monosparse|monoflat]
   创建虚拟磁盘或raw磁盘的一个拷贝(克隆).
  
   -e, –exportvirtualdisk dstDisk
   不赞成该操作.可以使用’-i srcDisk -d 2gbsparse’达到相同效果.
  
   -x, –extendvirtualdisk #[gGmMkK]
   扩展指定的VMFS虚拟盘至指定的大小.
  
   -M, –migratevirtualdisk
   迁移ESX2虚拟磁盘到ESX3虚拟磁盘.
  
   -r, –createrdm /vmfs/devices/disks/…
   在VMFS文件系统上影射一个raw磁盘到一个文件.一旦影射被确定,可以象控制一个普通的VMFS虚拟磁盘一样控制raw磁盘.
  
   -q, –queryrdm
   列出关于raw磁盘影射的属性.
  
   -z, –createdmpassthru /vmfs/devices/disks/…
   在VMFS文件系统上影射一个passthrougn raw磁盘到一个文件.这允许虚拟机器跳过 VMKernel SCSI命令过虑的没用的VMFS虚拟磁盘.
  
   -v, –verbose #
  
   -g, –geometry
   获取虚拟磁盘物理信息(柱面,磁头数,扇区)
  
   -w, –writezeros
   虚拟磁盘写0.原存储的数据丢失.
  
   -j, –inflatedisk
   转换一个thin虚拟磁盘到预分配大小.原来数据和块会受到保护.
  
   -J, –miscop [setuuid | getuuid]
   ’setuuid’选项为虚拟磁盘创建一个唯一的标识符(UUID),并保存UUID在虚拟磁盘的一个描述文件里.如果描述文件中已包含一个UUID,将被新的覆盖.请确保虚拟磁盘没有一个UUID才使用该项.’getuuid’项将显示虚拟磁盘的UUID.

 

例子:
     vmkfstools -C vmfs3 -b 1m -S myVMFS vmhba1:3:0:1
    在vmhba适配器1,目标3,LUN编号0上的第一个磁盘分区上创建一个文件块大小为1MB,标签为’myVMFS’的VMFS3文件系统

     vmkfstools -Z vmhba0:1:2:4 vmhba1:3:0:1
     扩展分区,原来文件系统将跨越两个分区.vmhba0:1:2:4 和vmhba1:3:0:1.在这里vmhba1:3:0:1是做为文件系统的头部分区得到了扩展.     

     vmkfstools -c 2048m /vmfs/volumes/myVMFS/myOS.vmdk
    在名为’myVMFS’的VMFS文件系统上创建一个文件名为’myOS.vmdk’的,容量大小为2GB的VMFS虚拟磁盘.