VMware ESXI 虚拟磁盘工具 - vmkfstools 使用实例

在介绍 vmkfstools 如何使用之前,需要先了解下 vmware 虚拟磁盘的类型:


一 虚拟磁盘类型

 
 
  1. 使用vSphere Client创建新的虚拟机在选择虚拟磁盘类型时,将会出现以下三个选项:

  2. 厚置备延迟置零 (zeroed thick)//默认选项

  3. 厚置备置零    (eager zeroed thick)

  4. 精简置备      (thin)

  5. 厚置备延迟置零:以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,

  6. 但是以后从虚拟机首次执行写操作时会按需要将其置零。

  7. 厚置备置零:创建支持群集功能(如 Fault Tolerance)的厚磁盘。在创建时为虚拟磁盘分配所需的空间。

  8. 与平面格式相反,在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。

  9. 精简置备:使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,

  10. 则它可以增长到为其分配的最大容量。


二 vmkfstools 操作实例

注意事项:
操作前请先关闭虚拟机
操作前需要打开ESXI ssh 服务,并需要登陆到ESXI
用户名:root
密码:使用vSphere Client登录ESX/ESXi的密码

 
 
  1. 1 虚拟磁盘类型转换,thick to thin


  2. vmkfstools 命令格式

  3. # vmkfstools -i<source-disk-name.vmdk>-d {thin|thick}<destination-disk-name.vmdk>

  4. 参数解释:

  5. -i <source-disk-name.vmdk>参数:原vmdk磁盘名

  6. -d {thin|thick}<destination-disk-name.vmdk> :目标磁盘的格式,thin或thick; <destination-disk-name.vmdk>为要生成的目标vmdk磁盘名;

  7. 1.1 进入虚拟机所在的datastore目录,每个目录为一个虚拟机

  8. ~ # cd /vmfs/volumes/datastore1

  9. /vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # ls

  10. cobbler-5.85          converter-two-57.72   datanode2-57.78

  11. converter-four-57.74  converter-win-xp      ovf-cos-5.7

  12. 1.2 此次转换的虚拟机为converter-two-57.72,进入该虚拟机目录

  13. /vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # cd converter-two-57.72/

  14. /vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404/converter-two-57.72 # du -sh *

  15. 20.0G   converter-two-flat.vmdk

  16. 64.0k   converter-two.nvram

  17. 64.0k   converter-two.vmdk

  18. 0   converter-two.vmsd

  19. 64.0k   converter-two.vmx

  20. 64.0k   converter-two.vmxf

  21. 64.0k   vmware-4.log

  22. 1.0M    vmware-5.log

  23. 1.0M    vmware-6.log

  24. 1.0M    vmware-7.log

  25. 1.0M    vmware-8.log

  26. 64.0k   vmware-9.log

  27. 64.0k   vmware.log

  28. 1.3 需要注意:转换过程中需要用到的文件是vmdk磁盘文件,vmdk有两种,一种是”虚拟机名.vmdk”,另一种是”虚拟机名-flat.vmdk”,vmdk文件很小,

  29. 存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等),实际数据都存放在flat.vmdk文件中,转换时需要使用vmdk文件而不是flat.vmdk文件

  30. 1.4 开始转换

  31. 1.4.1 使用vmkfstools将厚模式的vmdk文件克隆为精简的vmdk磁盘文件,转换磁盘完成后将生成两个新的vmdk和flat.vmdk文件

  32. /vmfs/..../converter-two-57.72 # vmkfstools -i converter-two.vmdk  -d thin converter-two_new.vmdk  

  33. Destination disk format: VMFS thin-provisioned

  34. Cloning disk 'converter-two.vmdk'...

  35. Clone: 100% done.

  36. /vmfs/..../converter-two-57.72 # du -sh *

  37. 20.0G   converter-two-flat.vmdk

  38. 64.0k   converter-two.nvram

  39. 64.0k   converter-two.vmdk

  40. 0   converter-two.vmsd

  41. 64.0k   converter-two.vmx

  42. 64.0k   converter-two.vmxf

  43. 7.9G    converter-two_new-flat.vmdk

  44. 64.0k   converter-two_new.vmdk

  45. 64.0k   vmware-4.log

  46. 1.0M    vmware-5.log

  47. 1.0M    vmware-6.log

  48. 1.0M    vmware-7.log

  49. 1.0M    vmware-8.log

  50. 64.0k   vmware-9.log

  51. 64.0k   vmware.log

  52. 1.4.2 将原来的厚模式磁盘文件vmdk和flat.vmdk文件备份

  53. /vmfs/..../converter-two-57.72 # mv converter-two.vmdk converter-two_old.vmdk  

  54. /vmfs/..../converter-two-57.72 # mv converter-two-flat.vmdk converter-two-flat_old.vmdk  

  55. 1.4.3 将新生成的vmdk和flat.vmdk磁盘文件分别重命名为原有磁盘名称

  56. /vmfs/..../converter-two-57.72 # mv converter-two_new.vmdk converter-two.vmdk      

  57. /vmfs/..../converter-two-57.72 # mv converter-two_new-flat.vmdk converter-two-flat.vmdk

  58. 1.4.4 编辑 vmdk 文件,确保 # Extent description "converter-two-flat.vmdk" 为原有磁盘名称

  59. /vmfs/..../converter-two-57.72 # cat converter-two.vmdk  

  60. # Disk DescriptorFile

  61. version=1

  62. encoding="UTF-8"

  63. CID=9cad19cd

  64. parentCID=ffffffff

  65. isNativeSnapshot="no"

  66. createType="vmfs"

  67. # Extent description

  68. RW 41932416 VMFS "converter-two_new-flat.vmdk"

  69. # The Disk Data Base  

  70. #DDB

  71. ddb.deletable = "true"

  72. ddb.toolsVersion = "0"

  73. ddb.geometry.biosHeads = "255"

  74. ddb.geometry.biosSectors = "63"

  75. ddb.geometry.biosCylinders = "2610"

  76. ddb.virtualHWVersion = "7"

  77. ddb.longContentID = "364b422b2ceb3f6f0a4e88d09cad19cd"

  78. ddb.uuid = "60 00 C2 94 89 93 59 2c-d9 22 d3 e4 e6 b3 a4 22"

  79. ddb.geometry.cylinders = "2610"

  80. ddb.geometry.heads = "255"

  81. ddb.geometry.sectors = "63"

  82. ddb.thinProvisioned = "1"

  83. ddb.adapterType = "lsilogic"

  84. 1.4.5 启动虚拟机检查是否工作正常,对比精简置备与厚置备大小

  85. /vmfs/..../converter-two-57.72 # du -sh *500.0M converter-two-326dc793.vswp

  86. 7.9G    converter-two-flat.vmdk

  87. 20.0G   converter-two-flat_old.vmdk

  88. 64.0k   converter-two.nvram

  89. 64.0k   converter-two.vmdk

  90. 0   converter-two.vmsd

  91. 64.0k   converter-two.vmx

  92. 64.0k   converter-two.vmxf

  93. 64.0k   converter-two_old.vmdk

  94. 64.0k   vmware-10.log

  95. 64.0k   vmware-11.log

  96. 1.0M    vmware-6.log

  97. 1.0M    vmware-7.log

  98. 1.0M    vmware-8.log

  99. 64.0k   vmware-9.log

  100. 64.0k   vmware.log

  101. 1.5 其它方式

  102. 精简置备转换至厚置备置零:

  103. vmkfstools --inflatedisk /vmfs/volumes/DatastoreName/VMName/VMName.vmdk

  104. 厚置备延迟置零转换至厚置备置零:

  105. vmkfstools --eagerzero /vmfs/volumes/DatastoreName/VMName/VMName.vmdk

  106. 2 更改虚拟磁盘(vmdk)大小

  107. 要特�e注意的是,如果此虚拟机已有快照,请先删除所有快照在执行以下操作,否则这个VMDK将出错,�炔康淖柿隙�失!!!!

  108. 2.1 vmkfstools 命令格式

  109. vmkfstools -X [新的大小] [目的vmdk文件]

  110. 2.2 当前虚拟机虚拟磁盘大小

  111. [root@bz-cl2 ~]# fdisk -l /dev/sda

  112. Disk /dev/sda: 21.4 GB, 21469396992 bytes

  113. 255 heads, 63 sectors/track, 2610 cylinders

  114. Units = cylinders of 16065 * 512 = 8225280 bytes

  115. 2.3 关闭虚拟机,登陆ESXI 调整虚拟磁盘大小

  116. /vmfs/..../converter-two-57.72 # vmkfstools -X 40g converter-two.vmdk

  117. 2.4 开启虚拟机,验证虚拟磁盘大小

  118. [root@bz-cl2 ~]# fdisk -l /dev/sda

  119. Disk /dev/sda: 42.9 GB, 42949672960 bytes

  120. 255 heads, 63 sectors/track, 5221 cylinders

  121. Units = cylinders of 16065 * 512 = 8225280 bytes


三 vmkfstools 命令参数

 
 
  1. /bin # vmkfstools  

  2. No valid command specified

  3. OPTIONS FOR FILE SYSTEMS:  

  4. vmkfstools -C --createfs vmfs3

  5.               -b --blocksize #[mMkK]

  6.               -S --setfsname fsName

  7.           -Z --spanfs span-partition

  8.           -G --growfs grown-partition

  9.   deviceName

  10.           -P --queryfs -h --humanreadable

  11.           -T --upgradevmfs

  12.   vmfsPath

  13. OPTIONS FOR VIRTUAL DISKS:  

  14. vmkfstools -c --createvirtualdisk #[gGmMkK]

  15.               -d --diskformat [zeroedthick|

  16.                                thin|

  17.                                eagerzeroedthick]

  18.               -a --adaptertype [buslogic|lsilogic|ide]

  19.           -w --writezeros

  20.           -j --inflatedisk

  21.           -k --eagerzero

  22.           -K --punchzero

  23.           -U --deletevirtualdisk

  24.           -E --renamevirtualdisk srcDisk

  25.           -i --clonevirtualdisk srcDisk

  26.               -d --diskformat [zeroedthick|

  27.                                thin|

  28.                                eagerzeroedthick|

  29.                                rdm:<device>|rdmp:<device>|

  30.                                2gbsparse]

  31. -X --extendvirtualdisk #[gGmMkK]

  32.               [-d --diskformat eagerzeroedthick]

  33.           -r --createrdm /vmfs/devices/disks/...

  34.           -q --queryrdm

  35.           -z --createrdmpassthru /vmfs/devices/disks/...

  36.           -v --verbose #

  37.           -g --geometry

  38.           -x --fix [check|repair]

  39.   vmfsPath

  40. OPTIONS FOR DEVICES:  

  41.           -L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv] /vmfs/devices/disks/...

  42.           -B --breaklock /vmfs/devices/disks/...

参考
http://vaemon.com/article/910.html
http://hi.baidu.com/googleu/blog/item/53763832002b8ae61a4cffc1.html


结束

如有问题欢迎到此讨论 37275208


你可能感兴趣的:(vmware,esxi,使用实例,vmkfstools,虚拟磁盘工具)