Vmkfstools: Difference between revisions

1,362 bytes added ,  27 November 2014
Line 68: Line 68:


=== Examples ===
=== Examples ===
==== Export a VM disk ====
Export a VM disk in 2GB chunks, note that since [[Esxcli#enable_2GB_Sparse_disks|ESXi 5.1+ the 2GB sparse driver is disabled]].
Export a VM disk in 2GB chunks, note that since [[Esxcli#enable_2GB_Sparse_disks|ESXi 5.1+ the 2GB sparse driver is disabled]].
  vmkfstools -i /vmfs/volumes/storagename/YourVM/YourVM.vmdk -d 2gbsparse /vmfs/volumes/storage2/YourVM/YourVM.vmdk
  vmkfstools -i /vmfs/volumes/storagename/YourVM/YourVM.vmdk -d 2gbsparse /vmfs/volumes/storage2/YourVM/YourVM.vmdk


==== Check or repair a disk ====
  -x, --fix -[check|repair]
  -x, --fix -[check|repair]
This option will check and/or repair the virtual disk in case of an unclean shutdown.
This option will check and/or repair the virtual disk in case of an unclean shutdown.
Line 78: Line 80:
  Disk is error free
  Disk is error free


==== Set a UUID ====
  -J, --miscop [setuuid | getuuid]
  -J, --miscop [setuuid | getuuid]
'setuuid´ option creates a unique identifier (UUID) for the virtual disk and stores the UUID in the descriptor file of the
'setuuid´ option creates a unique identifier (UUID) for the virtual disk and stores the UUID in the descriptor file of the
Line 86: Line 89:
´getuuid´ option displays the UUID of the virtual disk.
´getuuid´ option displays the UUID of the virtual disk.


 
==== dumpfs ====
dumpfs can be used by specifying either "-D | --dumpfs" and specifying a VMFS volume, file or folder.
dumpfs can be used by specifying either "-D | --dumpfs" and specifying a VMFS volume, file or folder.


Line 96: Line 99:
  Addr <4, 0, 0>, gen 1, links 4, type dir, flags 0, uid 0, gid 0, mode 1755
  Addr <4, 0, 0>, gen 1, links 4, type dir, flags 0, uid 0, gid 0, mode 1755
  len 1260, nb 1 tbz 0, cow 0, zla 1, bs 1048576
  len 1260, nb 1 tbz 0, cow 0, zla 1, bs 1048576
==== activehosts ====
activehosts can be used by specifying "--activehosts" and specifying a VMFS volume
activehosts can be used by specifying "--activehosts" and specifying a VMFS volume


Line 103: Line 106:
  Found 1 actively heartbeating hosts on volume '/vmfs/volumes/esx4-1-local-storage-1/'
  Found 1 actively heartbeating hosts on volume '/vmfs/volumes/esx4-1-local-storage-1/'
  (1): MAC address 00:50:56:92:3f:86
  (1): MAC address 00:50:56:92:3f:86
==== punchzero ====
Since vSphere 5.1 there's an option to shrink disks besides the normally required storage vmotion.
With the guest shut down you can run vmkfstools with the punchzero option.
Reclaim disk space by returning unused blocks of data in the virtual disk to the host OS.
Note that this will only work if your virtual disk is of type thin.
You will also need to zero out the unused blocks of data in the guest OS.
For a windows VM, you can use Microsoft's tool [http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx sdelete].
Run it as
sdelete -z c:
Note that the -z option is needed as of sdelete version 1.6
For a linux based VM, run a command like:
cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill
to zero out the unused space.
Note of warning that you should stop database -and other disk intensive- services before running the above.


Reclaim disk space by returning unused blocks of data in the virtual disk to the host OS. This will only work if your virtual disk is of type thin.


Example:
Example:
  # vmkfstools --punchzero myvm.vmdk
  # vmkfstools --punchzero disk.vmdk
  vmfsDisk: 1, rdmDisk: 0, blockSize: 1048576  
  vmfsDisk: 1, rdmDisk: 0, blockSize: 1048576  
  Hole Punching: 3% done.
  Hole Punching: 3% done.
After you're done and list the VM from within the console, it looks like nothing has changed, in this example the disk is 10GB in size.
# ls -lh *.vmdk
-rw-------    1 root    root      10.0G Nov 27 20:58 disk-flat.vmdk
-rw-------    1 root    root        527 Nov 27 21:02 disk.vmdk
If you use the command du however then you can see the difference:
# du -hs *.vmdk
4.3G    disk-flat.vmdk
0      disk.vmdk
You can also use the vSphere Client data browser to see the effect of reclaiming disk space


=== Links ===
=== Links ===
1,274

edits