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

一 虚拟磁盘类型

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

创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零


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

创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。创建中会将物理设备上保留数据置零。创建所需的时间可能会比创建其他类型的磁盘长。


3.精简置备       (thin)

使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。

二 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


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


1.3 转换过程中需要用到的文件是vmdk磁盘文件,vmdk有两种,一种是“虚拟机名.vmdk”,vmdk文件很小,存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等);另一种是“虚拟机名-flat.vmdk”,实际数据都存放在flat.vmdk文件中,转换时需要使用vmdk文件而不是flat.vmdk文件。


1.4 开始转换过程

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

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

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

20.0G   converter-two-flat.vmdk

64.0k   converter-two.vmdk

64.0k   converter-two.vmx

64.0k   converter-two.vmxf

7.9G    converter-two_new-flat.vmdk

64.0k   converter-two_new.vmdk

B:将原来的厚模式磁盘文件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  

C:将新生成的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

D:编辑 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"

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

/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


1.5其它方式

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

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

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

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


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

要特�e注意的是,如果此虚拟机已有快照,请先删除所有快照在执行以下操作,否则这个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 调整虚拟磁盘大小

/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

vmkfstools -C --createfs vmfs3

          -b --blocksize #[mMkK]

          -S --setfsname fsName

          -Z --spanfs span-partition

          -G --growfs grown-partition

你可能感兴趣的:(vmware,虚拟磁盘工具)