使用VMware vCenter Converter 和vmkfstools减少ESXi中虚拟机磁盘占用空间.docx
《使用VMware vCenter Converter 和vmkfstools减少ESXi中虚拟机磁盘占用空间.docx》由会员分享,可在线阅读,更多相关《使用VMware vCenter Converter 和vmkfstools减少ESXi中虚拟机磁盘占用空间.docx(14页珍藏版)》请在冰豆网上搜索。
使用VMwarevCenterConverter和vmkfstools减少ESXi中虚拟机磁盘占用空间
减少ESXi中虚拟机磁盘占用空间(磁盘ThicktoThin转换)
方法一使用VMwarevCenterConverterStandalone转化虚拟机
由于部署虚拟机时采用的默认空间分配方式,即厚置备置零方式,后期空间无法更改,甚至导致虚拟机启动报错,存储空间不足。
注意几点:
1)选择源系统
power-onmachine
VMwareInfrastructurevirtualmachine
VMwareWorkstationorotherVMwarevirtualmachine
Backupimageorthird-partyvirtualmachine
ConvertavirtualmachinefromMicrosoftHyper-VServer
每种选项下面都有详细的解释,这里我们是从ESXI里面的某台虚拟机转换应选择VMwareInfrastructurevirtualmachine
2)选择目标系统
注意磁盘选项应选择thin模式,其他使用默认值,这样才能让空间缩减。
另外注意选择虚拟机版本,不要比源系统虚拟机版本高。
下图右上角虚拟机版本8
附注:
1、厚置备延迟置零:
默认的创建格式,创建过程中为虚拟磁盘分配所需空间。
创建时不会擦除物理设备上保留的任何数据,没有置零操作,当有IO操作时,需要等待清零操作完成后才能完成IO,
即:
分配好空间,执行写操作时才会按需要将其置零。
2、厚置备置零(thick):
创建支持群集功能的厚磁盘。
在创建时为虚拟磁盘分配所需的空间。
并将物理设备上保留的数据置零。
创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。
即:
分配好空间并置零操作,有IO的时无需等待任何操作直接执行。
3、精简置备(thin):
精简配置就是无论磁盘分配多大,实际占用存储大小是现在使用的大小,即用多少算多少。
当客户机有输入输出的时候,VMkernel首先分配需要的空间并进行清零操作,也就是说如果使用精简配置在有IO的时候需要:
等待分配空间和清零,这两个步骤完成后才能进行操作,对于IO叫频繁的应用这样性能会有所下降,虽然节省了存储空间。
方法二:
(此方法适用于虚拟机空间足够的情况)
在创建虚拟机时,会有下面三种选项
后置备延迟置零:
以默认的厚格式创建虚拟磁盘。
创建过程中为虚拟磁盘分配所需空间。
创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。
厚置备置零:
创建支持群集功能的厚磁盘。
在创建时为虚拟磁盘分配所需的空间。
与平面格式相反,在创建过程中会将物理设备上保留的数据置零。
创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。
精简置备:
使用精简置备格式。
最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。
如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。
如果一开始选择后置备延迟置零或者后置备置零,那么ESXi将完全在硬盘上划分出所需要的空间,这样可能会造成硬盘空间的浪费(比方说CUC安装需要80G的空间,但是实际只占用一点点,下图为该虚拟机的配置及占用空间)
以下是把磁盘从后置备转换为精简置备的过程
1.开启ESXi的SSH服务
1.1选择虚拟机所在的ESXi服务器,选择配置选项卡,选择安全配置文件,点击属性
1.2选择SSH,点击选项
1.3选择与主机一起启动和停止,点击启动
2.使用命令行进行转换
2.1登陆到ESXi的命令行,用户名,密码为ESXiClient登陆的用户名与密码
2.2进入到需要转换的虚拟机的文件夹下(图为进入UnityConnect目录下的过程),该虚拟机目录下有许多以虚拟机名开头的文件,其中转换过程中需要用到的文件扩展名为vmdk,vmdk有两种,1是“虚拟机名.vmdk”,2是“虚拟机名-flat.vmdk”,虚拟机名.vmdk文件很小,存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等),儿虚拟机名-flat.vmdk存放了实际使用的数据,转换时需要转换vmdk文件而不是flat.vmdk文件
2.3使用vmkfstools命令转换磁盘
2.3.1将UnityConnect.vmdk转换为精简置备的Unityconnect-thin.vmdk
使用命令vmkfstools–I“UnityConnet.vmdk”–dthin“UnityConnect-thin.vmdk”,将UnityConnect.vmdk转换为精简置备的Unityconnect-thin.vmdk,命令执行效果如下图
Vmkfstools命令格式
#vmkfstools-i-d{thin|thick}
参数解释:
-i参数:
原vmdk磁盘名
-d{thin|thick}:
目标磁盘的格式,thin或thick;转换后vmdk磁盘名;
2.3.3将原厚置备的UnityConnect.vmdk重命名为bak.vmdk,并将刚刚生成的“UnityConnect-thin”与“UnityConnect-flat-thin”重命名为原厚置备磁盘的名字
使用命令
mv“UnityConnect.vmdk”“bak.vmdk”
mv“UnityConnect-flat.vmdk”“bak-flat.vmdk”
mv“UnityConnect-thin.vmdk”“UnityConnect.vmdk”
2.4将虚拟机从清单中移除
2.5将存储中的vmx文件添加到清单
2.5.1打开存储
选择虚拟机所在的ESXi服务器,选择配置选项卡,选择存储器,点击浏览数据存储
2.5.2添加vmx到清单
2.3.4在命令行删除备份的厚置备磁盘文件
rm-f“bak.vmdk”
rm-f“bak-flat.vmdk”
至此,转换完成