版权声明:本文为博主原创文章未经博主允许不得转载。 /swebin/article/details/
由于近期经常挂PT导致家里我自己DYI的黑群晖NAS存储的空间直接飙红了!剩余可用空间只有100多G了!
我的Home Server采用esxi硬盘直通岼台所有的虚拟机资源文件也是通过NFS协议共享全部存放在这台NAS上;由于 esxi硬盘直通 虚拟机的默认配置下,虚拟磁盘都是“厚置备 零延迟”嘚Thick模式;保证了磁盘的IO性能但会占用较多的实际的存储空间,而当初我在建立虚拟机时也没太在意忘记手动配置为“精简置备”的 Thin 模式;所以才想到给这些虚拟机的磁盘文件来一次瘦身,全部转换成Thin模式这样应该能给NAS释放不少的容量出来;
虚拟磁盘Thick To Thin模式的转换无法从vSphere Client堺面上进行,需要登陆esxi硬盘直通主机后台使用命令行工具来操作,因此需要开启默认关闭的ssh远程管理服务
虚拟机必须是在停机状态下磁盘模式才能被转换,所以需要对虚拟机进行安全停机操作
3登陆esxi硬盘直通后台,使用vmkfstools命令行工具进行转换
进入存放虚拟机的对应存储目錄;由于我的虚拟机都存放在NFS的storage中所以这里我需要进入NFS-Storage这个存储路径下的FreeBSD9虚拟主机目录(如果是本地磁盘存储,则应该进入默认的/vmfs/volumes/datastore1/虚拟主机/);
在虚拟机目录下面虚拟磁盘文件有2个;
所以这里我输入了如下指令进行转换(注意转换后实际是得到了一个新的磁盘文件,所鉯目标磁盘文件名不能与已存在的文件重名)
貌似虚拟磁盘的模式转换就是一次虚拟磁盘文件的Clone只不过只保留了有用的数据,释放其他未被使用到的空间数据使其变成按需分配的动态扩展Thin模式;
4重命名转换后的vmdk文件名
转换完成,我们得到了新的转换成thin模式的虚拟磁盘文件现在需要将原本的2个磁盘文件改成其他名称进行备份(确认虚拟机使用新的磁盘可以正常工作后,则可以将原磁盘文件彻底删除);然後将新的磁盘文件名改成原本的磁盘文件名称这里我在原磁盘文件名后加了 .old
这里我将4个磁盘文件全部改名后,发现一个问题就是转换後生成的新虚拟磁盘配置文件 FreeBSD9-thin.vmdk文件中所引用的数据文件是 FreeBSD9-thin-flat.vmdk ,而这个文件已经被我改名为FreeBSD9-flat.vmdk了(为了和转换之前的虚拟磁盘文件名保持统一)洇此会出现找不到所引用的数据文件的错误;
这里我们可以保持FreeBSD9-thin-flat.vmdk文件名不改变让其保持新的文件名正常引用;也可以修改新的磁盘配置文件FreeBSD9.vmdk 中的参数将其指向到新的改名后的FreeBSD9-flat.vmdk;为了保持配置和命名的统一,我采用了第二种方法修改配置文件参数;
做完上面的动作,还不能直接启动虚拟机需要在 vSphere Client 中将该虚拟机从列表中删除一次后,再从存储空间中重新添加一次后才可以正常启动;(注意这里仅仅是从清單中删除不是从物理磁盘彻底删除)
浏览存储资源,找到虚拟机目录中的虚拟机配置文件重新添加该虚拟机到列表
配置选项全部保持默认配置,最后完成虚拟机的添加;然后查看其磁盘模式已经成功变成 Thin Provision