VMware ESXI 虚拟磁盘工具 - vmkfstools

简介:

一 虚拟磁盘类型

使用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<source-disk-name.vmdk>-d {thin|thick}<destination-disk-name.vmdk> 

参数解释: 

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

-d {thin|thick}<destination-disk-name.vmdk> :目标磁盘的格式,thin或thick; <destination-disk-name.vmdk>为要生成的目标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:<device>|rdmp:<device>

                                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/... 

本文转自问道博客51CTO博客,原文链接http://blog.51cto.com/450236/1901977如需转载请自行联系原作者

crackernet
相关文章
|
4月前
|
存储 网络协议 虚拟化
如何操作VMware ESXi虚拟机的迁移?
如何操作VMware ESXi虚拟机的迁移?
186 1
|
4月前
|
存储 虚拟化 数据中心
如何操作VMware ESXi虚拟机的克隆?
如何操作VMware ESXi虚拟机的克隆?
84 1
|
7月前
|
存储 安全 Linux
如何安装VMware Esxi 6.7.0(7.x版本同样适用)
如何安装VMware Esxi 6.7.0(7.x版本同样适用)
194 0
|
jenkins Shell 持续交付
vmware esxi堡垒机自动快照
vmware esxi堡垒机自动快照
771 0
|
8月前
|
虚拟化
怎么备份VMware虚拟磁盘文件或移植到其他虚拟机
怎么备份VMware虚拟磁盘文件或移植到其他虚拟机
70 0
|
4月前
|
Ubuntu 网络协议 安全
79.55 Gbps!已经初步测得VMWare ESXi 6.7的vSwitch转发性能
79.55 Gbps!已经初步测得VMWare ESXi 6.7的vSwitch转发性能
57 0
|
4月前
|
存储 网络安全 虚拟化
VMWare ESXi 7.0的磁盘空间莫名少了120 GB?看这里!
VMWare ESXi 7.0的磁盘空间莫名少了120 GB?看这里!
76 1
|
4月前
|
测试技术 网络性能优化 虚拟化
VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!
VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!
53 0
|
4月前
|
网络安全 文件存储 虚拟化
macOS unlocker 4.0.5 for VMware ESXi 7.0
macOS unlocker 4.0.5 for VMware ESXi 7.0
75 0
|
4月前
|
虚拟化
VMWare ESXi接口
VMWare ESXi接口
30 0