Vmware-vdiskmanager

From VI-Toolkit
Revision as of 14:36, 27 December 2016 by Wila (talk | contribs) (→‎Split disks)
Jump to navigation Jump to search

vmware-vdiskmanager

With this tool that comes with VMware Workstation and VMware Fusion you can perform special disk actions such as:

Peculiarities

  • VMware vdisk manager throws a bogus error in all version from VMware Workstation 7 to Workstation 11, Fusion 3 to Fusion 7

The error looks like:

 VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.

and can be safely ignored.

This has been fixed in Fusion 8 / Workstation 12.0

  • Disk repair option -R was mostly broken from Workstation 8 to Workstation 11.

This works much better since Fusion 8 / Workstation 12.0

  • You cannot reduce the capacity of a virtual disk. Eg. if you have defined a virtual disk of 10GB in size then you cannot change it to be 8GB in size. This is because any resizing the tool does is irregardless of the partition definitions, as this is potentially a destructive operation it is not allowed.

Even if you grow a disk in size you will have to adjust the partitions after the resize.

You can shrink a disk if you have a non pre allocated disk, in this case it will wipe out the unused parts on your disk and give that space back to the host OS.

Command line help

Here's an excerpt from the command line help:

 VMware Virtual Disk Manager - build 3160714.
 Usage: vmware-vdiskmanager.exe OPTIONS <disk-name> | <mount-point>
 Offline disk manipulation utility
   Operations, only one may be specified at a time:
      -c                   : create disk.  Additional creation options must be specified.  Only local virtual disks can be
                             created.
      -d                   : defragment the specified virtual disk. Only local virtual disks may be defragmented.
      -k                   : shrink the specified virtual disk. Only local virtual disks may be shrunk.
      -n <source-disk>     : rename the specified virtual disk; need to specify destination disk-name. Only local virtual
                             disks may be renamed.
      -p                   : prepare the mounted virtual disk specified by the mount point for shrinking.
      -r <source-disk>     : convert the specified disk; need to specify destination disk-type.  For local destination disks
                             the disk type must be specified.
      -x <new-capacity>    : expand the disk to the specified capacity. Only local virtual disks may be expanded.
      -R                   : check a sparse virtual disk for consistency and attempt to repair any errors.
      -e                   : check for disk chain consistency.
      -D                   : make disk deletable.  This should only be used on disks that have been copied from another product.
 
   Other Options:
      -q                   : do not log messages
 
   Additional options for create and convert:
      -a <adapter>         : (for use with -c only) adapter type
                             (ide, buslogic, lsilogic). Pass lsilogic for other adapter types.
      -s <size>            : capacity of the virtual disk
      -t <disk-type>       : disk type id
 
   Disk types:
       0                   : single growable virtual disk
       1                   : growable virtual disk split in 2GB files
       2                   : preallocated virtual disk
       3                   : preallocated virtual disk split in 2GB files
       4                   : preallocated ESX-type virtual disk
       5                   : compressed disk optimized for streaming
       6                   : thin provisioned virtual disk - ESX 3.x and above
 
      The capacity can be specified in sectors, KB, MB or GB.
      The acceptable ranges:
                            ide/scsi adapter : [1MB, 8192.0GB]
                            buslogic adapter : [1MB, 2040.0GB]
         ex 1: vmware-vdiskmanager.exe -c -s 850MB -a ide -t 0 myIdeDisk.vmdk
         ex 2: vmware-vdiskmanager.exe -d myDisk.vmdk
         ex 3: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
         ex 4: vmware-vdiskmanager.exe -x 36GB myDisk.vmdk
         ex 5: vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
         ex 6: vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 4 -h esx-name.mycompany.com \
               -u username -f passwordfile "[storage1]/path/to/targetDisk.vmdk"
         ex 7: vmware-vdiskmanager.exe -k myDisk.vmdk
         ex 8: vmware-vdiskmanager.exe -p <mount-point>
               (A virtual disk first needs to be mounted at <mount-point>)

Split disks

Up until Workstation 11 / Fusion 7 a split disk would never be larger as 2GB.

Due to the virtual disk sizes growing and the extra limitations - such as max open files - that could be hit with larger disks, this is no longer the case for split virtual disks.

Nowadays the split disk size (= extent size) depends on the size you have set your virtual disk to be.

The new split disk scheme


Capacity           Extent size
================================
<=128GB            4GB (increased from 2GB)
>128GB && <2TB     Capacity / 32 (so maximum of 32 extents)
>=2TB              2TB

This means that if you want to keep your Virtual Disks to be transportable via FAT32 that you probably should keep your disk sizes under 128GB.

Note that NTFS or HFS has no such limitation, so choosing your maximum virtual disk size depends on need.

External links