最初装虚拟机的时候,缺乏经验,不知道ESXi虚拟机vmdk文件如果拷贝出来的话,即使你用的是thin模式,还是会以置备的大小进行下载,一方 面非常占备份盘空间,另一方面拷贝速度也很低效,其实vmdk内部大部分都是free space,于是想到缩减vmdk硬盘的置备尺寸。
用虚拟机的配置是没办法缩减尺寸的,唯一可行的只有通过vSphere Converter。
1. 关闭虚拟机电源。
2. 打开converter,选择“转换计算机”。
3. source选择“VMWARE Infrastructure”,填入vCenter的地址和账号。
4. 选择需要进行转换的虚拟机。
5. Detisnation也选择
“VMWARE Infrastructure”,填入vCenter的地址和账号。
6. 对目标虚拟机命名
7. 选择目标虚拟机位置
8. 对转换参数进行详细设置
9. 最后就是等待转换完成。
要注意的是,转换的时候,Converter、vCenter、源虚拟机、目标虚拟机最好在同一台主机中,否则转换速度会非常缓慢。
转换完成后,某些用户可能还需要做一下thick到thin的转换,因为converter会把原来是thin的VMDK改成thick,所以我们还要手工再改回来。
方法:
在创建虚拟机时,会有下面三种选项
后置备延迟置零:以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。
厚置备置零:创建支持群集功能的厚磁盘。在创建时为虚拟磁盘分配所需的空间。与平面格式相反,在创建过程中会将物理设备上保留的数据置零。创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。
精简置备:使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。
如果一开始选择后置备延迟置零或者后置备置零,那么ESXi将完全在硬盘上划分出所需要的空间,这样可能会造成硬盘空间的浪费(比方说CUC安装需要80G的空间,但是实际只占用一点点,下图为该虚拟机的配置及占用空间)
以下是把磁盘从后置备转换为精简置备的过程
1.开启ESXi的SSH服务
1.1选择虚拟机所在的ESXi服务器,选择配置选项卡,选择安全配置文件,点击属性
1.2选择SSH,点击选项
1.3选择与主机一起启动和停止,点击启动
2.使用命令行进行转换
2.1登陆到ESXi 的命令行,用户名,密码为ESXi Client登陆的用户名与密码
2.2 进入到需要转换的虚拟机的文件夹下(图为进入Unity Connect目录下的过程),该虚拟机目录下有许多以虚拟机名开头的文件,其中转换过程中需要用到的文件扩展名为vmdk,vmdk有两种,1是“虚拟 机名.vmdk”,2是“虚拟机名-flat.vmdk”,虚拟机名.vmdk文件很小,存放了虚拟磁盘的一些配置信息(如虚拟磁盘数据文件等),儿虚拟 机名-flat.vmdk存放了实际使用的数据,转换时需要转换vmdk文件而不是flat.vmdk文件
2.3使用vmkfstools命令转换磁盘
2.3.1将Unity Connect.vmdk转换为精简置备的Unityconnect-thin.vmdk
使 用命令 vmkfstools �CI “Unity Connet.vmdk” �Cd thin “Unity Connect-thin.vmdk”,将Unity Connect.vmdk转换为精简置备的Unityconnect-thin.vmdk,命令执行效果如下图
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磁盘名;
2.3.3将原厚置备的UnityConnect.vmdk重命名为bak.vmdk,并将刚刚生成的“Unity Connect-thin”与“Unity Connect-flat-thin”重命名为原厚置备磁盘的名字
使用命令
mv “Unity Connect.vmdk” “bak.vmdk”
mv “Unity Connect-flat.vmdk” “bak-flat.vmdk”
mv “Unity Connect-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”
至此,转换完成