突然发现家里私有云磁盘不足了,停服后,使用Hyper-V自带的磁盘管理压缩一下磁盘,发现并没有什么变化。网上通用的都是使用自带工具,翻了翻很多资料,才发现可以使用 powershell
工具执行命令附加到Windows自带磁盘管理器,然后再压缩才会清理调占用的磁盘。
Linux 虚拟机磁盘压缩
操作前先清理系统中的垃圾文件,然后执行以下命令后再关闭虚拟机或者保存虚拟机(建议关闭虚拟机)
fstrim -a
Hyper-V 服务器打开powershell执行以下命令(建议以管理员权限执行)
# 只读方式附加到本地磁盘
Mount-VHD 'D:\Hyper-V\Virtual Hard Disks\TestNode.vhdx' -ReadOnly
# 压缩硬盘空间
Optimize-VHD 'D:\Hyper-V\Virtual Hard Disks\TestNode.vhdx' -Mode Full
# 卸载附加的磁盘
Dismount-VHD 'D:\Hyper-V\Virtual Hard Disks\TestNode.vhdx'
Windows 虚拟机磁盘压缩
操作前先清理系统中的垃圾文件,关闭虚拟机然后在hyper-v服务器执行以下命令
Hyper-v 服务器打开 powershell 执行以下命令
# 只读方式附加到本地磁盘
Mount-VHD "D:\Hyper-V\Virtual Hard Disks\ServiceServer.vhdx" -ReadOnly
# 压缩硬盘空间
Optimize-VHD -Path "D:\Hyper-V\Virtual Hard Disks\ServiceServer.vhdx" -Mode Full
# 卸载附加的磁盘
Dismount-VHD "D:\Hyper-V\Virtual Hard Disks\ServiceServer.vhdx"
windows的磁盘空间永远都没有够用的时候,我已经扩容了三四次系统盘了。
系统盘创建的时候就应该给大一点,我实体机的系统盘一般都是1T起步的。