随着项目的增多 公司磁盘资源越发紧张。检查服务器发现以前的虚拟机的磁盘类型不是精简置备,这样导致很多资源浪费掉
这里介绍一下磁盘的类型:
1、厚置备延迟置零:
默认的创建格式,创建磁盘时,直接从磁盘分配空间,但对磁盘保留数据不置零。所以当有I/O操作时,只需要做置零的操作。
磁盘性能较好,时间短,适合于做池模式的虚拟桌面
2、厚置备置零(thick):
创建群集功能的磁盘。创建磁盘时,直接从磁盘分配空间,并对磁盘保留数据置零。所以当有I/O操作时,不需要等待直接执行。
磁盘性能最好,时间长,适合于做跑运行繁重应用业务的虚拟机
3、精简置备(thin):
创建磁盘时,占用磁盘的空间大小根据实际使用量计算,即用多少分多少,提前不分配空间,对磁盘保留数据不置零,且最大不超过划分磁盘的大小。
所以当有I/O操作时,需要先分配空间,在将空间置零,才能执行I/O操作。当有频繁I/O操作时,磁盘性能会有所下降
I/O不频繁时,磁盘性能较好;I/O频繁时,磁盘性能较差。时间短,适合于对磁盘I/O不频繁的业务应用虚拟机
可以看到 存储类型是 后置备延迟置零 占用空间,因此对于不是很频繁操作磁盘的虚拟机可调整置备类型为 精简置备
通过ssh可以连接到esxi主机 修改虚机配置文件 来实现磁盘类型的更改
打开esxi主机的ssh服务
连接到主机后进入虚拟机的所在目录
# 操作前先关闭虚拟机
cd /vmfs/volumes/datastore1/NJNU-MongoDB-CentOS6.7/
通过vmkfstools命令转换
vmkfstools -i NJNU-MongoDB-CentOS6.7.vmdk -d thin NJNU-MongoDB-CentOS6.7.new.vmdk
转换完成后替换掉为的磁盘文件
mv NJNU-MongoDB-CentOS6.7.new.vmdk NJNU-MongoDB-CentOS6.7.vmdk
mv NJNU-MongoDB-CentOS6.7.new-flat.vmdk NJNU-MongoDB-CentOS6.7-flat.vmdk
更改 NJNU-MongoDB-CentOS6.7.vmdk配置文件中的文件名
去掉中间的"_new"改为 NJNU-MongoDB-CentOS6.7.vmdk
在刷新存储就会发现使用的存储变了 ,但打开虚拟机设置后发现置备类型没有变更过来,
解决办法也很简单 将虚拟机从清单中移除,(注意不是从磁盘删除,这个删除就恢复不了了),然后从磁盘中重新注册就好了
再次查看磁盘置备类型 已经成功修改成精简置备了