Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9268326
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 虚拟化

2013-11-27 15:24:52

VMware ESXI 虚拟磁盘工具 - vmkfstools 使用实例
2012-02-21 15:42:46
标签:虚拟化 VMware vsphere vmkfstools vmdk
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dngood.blog.51cto.com/446195/785770
在介绍 vmkfstools 如何使用之前,需要先了解下 vmware 虚拟磁盘的类型:
 
一 虚拟磁盘类型 
使用vSphere Client创建新的虚拟机在选择虚拟磁盘类型时,将会出现以下三个选项: 
 
厚置备延迟置零 (zeroed thick) //默认选项
厚置备置零    (eager zeroed thick) 
精简置备      (thin) 
 
厚置备延迟置零:以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,
但是以后从虚拟机首次执行写操作时会按需要将其置零。 
 
厚置备置零:创建支持群集功能(如 Fault Tolerance)的厚磁盘。在创建时为虚拟磁盘分配所需的空间。
与平面格式相反,在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。 
 
精简置备:使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,
则它可以增长到为其分配的最大容量。 
 
二 vmkfstools 操作实例
注意事项:
操作前请先关闭虚拟机
操作前需要打开ESXI ssh 服务,并需要登陆到ESXI
用户名:root
密码:使用vSphere Client登录ESX/ESXi的密码
1 虚拟磁盘类型转换,thick to thin 
 
vmkfstools 命令格式 
# vmkfstools -i-d {thin|thick} 
参数解释: 
-i 参数:原vmdk磁盘名 
-d {thin|thick} :目标磁盘的格式,thin或thick; 为要生成的目标vmdk磁盘名; 
 
1.1 进入虚拟机所在的datastore目录,每个目录为一个虚拟机 
~ # cd /vmfs/volumes/datastore1 
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # ls 
cobbler-5.85          converter-two-57.72   datanode2-57.78 
converter-four-57.74  converter-win-xp      ovf-cos-5.7 
 
1.2 此次转换的虚拟机为converter-two-57.72,进入该虚拟机目录 
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404 # cd converter-two-57.72/ 
/vmfs/volumes/4f3cedd3-1b48e924-3d7d-0022195a4404/converter-two-57.72 # du -sh * 
20.0G   converter-two-flat.vmdk 
64.0k   converter-two.nvram 
64.0k   converter-two.vmdk 
0   converter-two.vmsd 
64.0k   converter-two.vmx 
64.0k   converter-two.vmxf 
64.0k   vmware-4.log 
1.0M    vmware-5.log 
1.0M    vmware-6.log 
1.0M    vmware-7.log 
1.0M    vmware-8.log 
64.0k   vmware-9.log 
64.0k   vmware.log 
 
 
1.3 需要注意:转换过程中需要用到的文件是vmdk磁盘文件,vmdk有两种,一种是”虚拟机名.vmdk”,另一种是”虚拟机名-flat.vmdk”,vmdk文件很小,
存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等),实际数据都存放在flat.vmdk文件中,转换时需要使用vmdk文件而不是flat.vmdk文件 
 
1.4 开始转换 
1.4.1 使用vmkfstools将厚模式的vmdk文件克隆为精简的vmdk磁盘文件,转换磁盘完成后将生成两个新的vmdk和flat.vmdk文件 
/vmfs/..../converter-two-57.72 # vmkfstools -i converter-two.vmdk  -d thin converter-two_new.vmdk   
Destination disk format: VMFS thin-provisioned 
Cloning disk 'converter-two.vmdk'... 
Clone: 100% done. 
 
/vmfs/..../converter-two-57.72 # du -sh * 
20.0G   converter-two-flat.vmdk 
64.0k   converter-two.nvram 
64.0k   converter-two.vmdk 
0   converter-two.vmsd 
64.0k   converter-two.vmx 
64.0k   converter-two.vmxf 
7.9G    converter-two_new-flat.vmdk 
64.0k   converter-two_new.vmdk 
64.0k   vmware-4.log 
1.0M    vmware-5.log 
1.0M    vmware-6.log 
1.0M    vmware-7.log 
1.0M    vmware-8.log 
64.0k   vmware-9.log 
64.0k   vmware.log 
 
1.4.2 将原来的厚模式磁盘文件vmdk和flat.vmdk文件备份 
/vmfs/..../converter-two-57.72 # mv converter-two.vmdk converter-two_old.vmdk  
/vmfs/..../converter-two-57.72 # mv converter-two-flat.vmdk converter-two-flat_old.vmdk  
 
1.4.3 将新生成的vmdk和flat.vmdk磁盘文件分别重命名为原有磁盘名称 
/vmfs/..../converter-two-57.72 # mv converter-two_new.vmdk converter-two.vmdk      
/vmfs/..../converter-two-57.72 # mv converter-two_new-flat.vmdk converter-two-flat.vmdk 
 
1.4.4 编辑 vmdk 文件,确保 # Extent description "converter-two-flat.vmdk" 为原有磁盘名称 
/vmfs/..../converter-two-57.72 # cat converter-two.vmdk  
# Disk DescriptorFile 
version=1 
encoding="UTF-8" 
CID=9cad19cd 
parentCID=ffffffff 
isNativeSnapshot="no" 
createType="vmfs" 
 
# Extent description 
RW 41932416 VMFS "converter-two_new-flat.vmdk" 
 
# The Disk Data Base  
#DDB 
 
ddb.deletable = "true" 
ddb.toolsVersion = "0" 
ddb.geometry.biosHeads = "255" 
ddb.geometry.biosSectors = "63" 
ddb.geometry.biosCylinders = "2610" 
ddb.virtualHWVersion = "7" 
ddb.longContentID = "364b422b2ceb3f6f0a4e88d09cad19cd" 
ddb.uuid = "60 00 C2 94 89 93 59 2c-d9 22 d3 e4 e6 b3 a4 22" 
ddb.geometry.cylinders = "2610" 
ddb.geometry.heads = "255" 
ddb.geometry.sectors = "63" 
ddb.thinProvisioned = "1" 
ddb.adapterType = "lsilogic" 
 
1.4.5 启动虚拟机检查是否工作正常,对比精简置备与厚置备大小 
/vmfs/..../converter-two-57.72 # du -sh *500.0M converter-two-326dc793.vswp 
7.9G    converter-two-flat.vmdk 
20.0G   converter-two-flat_old.vmdk 
64.0k   converter-two.nvram 
64.0k   converter-two.vmdk 
0   converter-two.vmsd 
64.0k   converter-two.vmx 
64.0k   converter-two.vmxf 
64.0k   converter-two_old.vmdk 
64.0k   vmware-10.log 
64.0k   vmware-11.log 
1.0M    vmware-6.log 
1.0M    vmware-7.log 
1.0M    vmware-8.log 
64.0k   vmware-9.log 
64.0k   vmware.log 
 
1.5 其它方式 
精简置备转换至厚置备置零: 
vmkfstools --inflatedisk /vmfs/volumes/DatastoreName/VMName/VMName.vmdk 
厚置备延迟置零转换至厚置备置零: 
vmkfstools --eagerzero /vmfs/volumes/DatastoreName/VMName/VMName.vmdk 
 
 
2 更改虚拟磁盘(vmdk)大小 
要特別注意的是,如果此虚拟机已有快照,请先删除所有快照在执行以下操作,否则这个VMDK将出错,內部的资料丢失!!!! 
 
2.1 vmkfstools 命令格式 
vmkfstools -X [新的大小] [目的vmdk文件] 
2.2 当前虚拟机虚拟磁盘大小 
[root@bz-cl2 ~]# fdisk -l /dev/sda 
 
Disk /dev/sda: 21.4 GB, 21469396992 bytes 
255 heads, 63 sectors/track, 2610 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
2.3 关闭虚拟机,登陆ESXI 调整虚拟磁盘大小 
/vmfs/..../converter-two-57.72 # vmkfstools -X 40g converter-two.vmdk
 
2.4 开启虚拟机,验证虚拟磁盘大小 
[root@bz-cl2 ~]# fdisk -l /dev/sda 
 
Disk /dev/sda: 42.9 GB, 42949672960 bytes 
255 heads, 63 sectors/track, 5221 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes 
 
三 vmkfstools 命令参数
/bin # vmkfstools  
No valid command specified 
 
 
OPTIONS FOR FILE SYSTEMS:  
 
vmkfstools -C --createfs vmfs3 
               -b --blocksize #[mMkK] 
               -S --setfsname fsName 
           -Z --spanfs span-partition 
           -G --growfs grown-partition 
   deviceName 
 
           -P --queryfs -h --humanreadable 
           -T --upgradevmfs 
   vmfsPath 
 
OPTIONS FOR VIRTUAL DISKS:  
 
vmkfstools -c --createvirtualdisk #[gGmMkK] 
               -d --diskformat [zeroedthick| 
                                thin| 
                                eagerzeroedthick] 
               -a --adaptertype [buslogic|lsilogic|ide] 
           -w --writezeros 
           -j --inflatedisk 
           -k --eagerzero 
           -K --punchzero 
           -U --deletevirtualdisk 
           -E --renamevirtualdisk srcDisk 
           -i --clonevirtualdisk srcDisk 
               -d --diskformat [zeroedthick| 
                                thin| 
                                eagerzeroedthick| 
                                rdm:|rdmp:
                                2gbsparse] 
           -X --extendvirtualdisk #[gGmMkK] 
               [-d --diskformat eagerzeroedthick] 
           -r --createrdm /vmfs/devices/disks/... 
           -q --queryrdm 
           -z --createrdmpassthru /vmfs/devices/disks/... 
           -v --verbose # 
           -g --geometry 
           -x --fix [check|repair] 
   vmfsPath 
 
OPTIONS FOR DEVICES:  
 
           -L --lock [reserve|release|lunreset|targetreset|busreset|readkeys|readresv] /vmfs/devices/disks/... 
           -B --breaklock /vmfs/devices/disks/... 
参考

http://hi.baidu.com/googleu/blog/item/53763832002b8ae61a4cffc1.html
 
结束
如有问题欢迎到此讨论 37275208
本文出自 “dongnan” 博客,请务必保留此出处http://dngood.blog.51cto.com/446195/785770
阅读(1887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~