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/ /vmfs/volumes/
-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/
一旦文件系统升级的第一步骤完成(使用`-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:|rdmp:|raw:|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:|rdmp:|raw:|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虚拟磁盘.