24
2024
01
17:30:40

vmware vsphere 精简置备、厚置备转换 thin和thick转换教程



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

Vmware vsphere精简置备和厚置备转换过程记录2021年6月4日

本次版本是vsphere6.5 esxi

本文有两部分,先说下理论,然后过程教程

 

第一部分-理论部分:

关于虚机磁盘类型有三种:精简置备、厚置备置零、厚置备延迟置零

(1) thin provision就是一种按需分配的格式,创建时虚拟磁盘不会分配给所有需要的空间,而是根据需要,vmdk自动增大并一边zero一边使用这些新空间;vmdk文件的真实大小不等于创建的虚拟磁盘的大小,而只是等于实际数据的大小。(zero就是对磁盘空白处写入0,可以理解成或者翻译成初始化)。

(2) zeroedthick格式,在创建时分配给所有空间,vmdk文件大小等于创建的虚拟磁盘大小,虚拟磁盘中的空闲空间被预占,但空闲空间(empty space)并没有zeroed,需要在使用的时候再zero。由于磁盘在第一次写入时必须zero,这个类型的磁盘在第一次磁盘块写入时会有轻微的I/O性能损失。

(3) eagerzeroedthick,在创建时分配给所有空间,vmdk文件大小等于创建的虚拟磁盘大小,虚拟磁盘中的空闲空间被预占。另外,在创建磁盘时,会将所有数据块都初始化(zero),这将花费更多时间。这种格式的磁盘因为已经zero化,使用时不再需要zero,因此第一次写入数据到磁盘块时的性能较好。启用FT必须使用eagerzeoedthick格式的虚拟磁盘(如果原先不是,也会被转换成这种格式)

 

基本用法:

vmkfstools -i <Source-File> -d {thick|thin} <Dest-File>

thick细分为厚置备置零和厚置备延迟置零,即zeroedthick和leagerzeroedthick,因此在-d后面如果是转换为thick,参数不是thick,而是跟zeroedthick或者eagerzeroedthick

删除vmdk

vmkfstools -U xxx.vmdk 删除xxx.vmdk文件

重命名

vmkfstools -E xxx.vmdk  xxx_new.vmdk

或者用rm  mv也可以

 

然后vmkfstools也给出了直接转换,不需要clone,但是直接转换只支持thin转为thick,不支持thick直接转为thin

精简置备转换为厚置备置零: 

         vmkfstools --inflatedisk xxxxx.vmdk   

                           --inflatedisk可以用-j来替代,两个是等同的

厚置备延迟置零转换位厚置备置零: 

         vmkfstools --eagerzero xxxxxx.vmdk 

                          --eagerzero可以用-k来替代,等同的帮助文档里有写

厚置备转换为精简置备,是不可以直接转换的,需要使用clone方式

          vmkfstools -i xxxx.vmdk -d thin xxxx_new.vmdk

转换后可以进行磁盘检查/修复

         vmkfstools -x xxxx.vmdk

 

本次版本是vsphere6.5 esxi

Vmkfstools 语法

然后处理文件,如果原来的不要了,可以直接把原来的两个vmdk删除掉,然后把两个vmdk改名为原来的名字,开机测试。

这边是保留原来的两个vmdk,把新的vmdk移动到其他文件夹,然后再把非vmdk文件复制一份过去,过程如下截图,在存储目录新建了一个vmtemu目录。

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8] du -sh ELK
744.5G    ELK

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8] cd ELK/
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] ls
ELK.nvram         ELK.vmsd          ELK.vmx           ELK.vmxf          ELK_0-flat.vmdk   ELK_0.vmdk        ELK_02-flat.vmdk  ELK_02.vmdk       vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] ls
ELK.nvram         ELK.vmsd          ELK.vmx           ELK.vmxf          ELK_0-flat.vmdk   ELK_0.vmdk        ELK_02-flat.vmdk  ELK_02.vmdk       vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] mv ELK_02-flat.vmdk /vmfs/volumes/datastore1/vmtestmu/ELK_02-flat.vmdk

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] ls
ELK.nvram        ELK.vmsd         ELK.vmx          ELK.vmxf         ELK_0-flat.vmdk  ELK_0.vmdk       ELK_02.vmdk      vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] mv ELK_02.vmdk /vmfs/volumes/datastore1/vmtestmu/ELK_02.vmdk

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] ls
ELK.nvram        ELK.vmsd         ELK.vmx          ELK.vmxf         ELK_0-flat.vmdk  ELK_0.vmdk       vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] cp ELK.nvram  /vmfs/volumes/datastore1/vmtestmu/ELK.nvram

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] cp ELK.vmsd  /vmfs/volumes/datastore1/vmtestmu/ELK.vmsd

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] cp ELK.vmx  /vmfs/volumes/datastore1/vmtestmu/ELK.vmx

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] cp ELK.vmxf  /vmfs/volumes/datastore1/vmtestmu/ELK.vmxf

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] cp vmware.log  /vmfs/volumes/datastore1/vmtestmu/vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] ls
ELK.nvram        ELK.vmsd         ELK.vmx          ELK.vmxf         ELK_0-flat.vmdk  ELK_0.vmdk       vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/ELK] cd ..
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8] ls
ELK            ISO            T100报表       elk            oldvmfiles     storagebackup  vmtestmu

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8]
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8] cd vmtestmu/
[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/vmtestmu] ls
ELK.nvram         ELK.vmsd          ELK.vmx           ELK.vmxf          ELK_02-flat.vmdk  ELK_02.vmdk       vmware.log

[root@localhost:/vmfs/volumes/609aa4ce-ad232f16-1585-0894ef08dcc8/vmtestmu]

 

保持转换后的新的vmdk名字不变,修改配置文件的方式使得该虚机可以正常启动:

查看一下转换前的vmdk文件内容:

 

这个地方有一个参数是displayName =  这个后面的名字就是虚机展示出来的名字,直接修改为ELK_02

在配置里还会看到下面这个截图红色部分,不用修改,因为在后面操作中,选择了“我已移动”或者“我已复制”会自动修改这部分配置,在本文后面也会提到

 

注册虚机,如果你是改为原来名字,那需要取消原来虚机注册,然后重新注册一下,如果是移动到了另外位置,原来虚机保持不动,就像上面那样修改,则不需要取消注册,因为虚机名称已经改了,修改为ELK_02了,即刚displayName这个参数,配置文件也做了部分修改,因此找到虚机文件后直接“注册虚机”。

 

选择“我已复制”


本文链接:https://hqyman.cn/post/4905.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: