虚拟磁盘 TRIM
如何在 Windows 和 Linux 上对虚拟磁盘执行 TRIM/UNMAP 操作以回收未使用的 vSAN 空间,尤其是在导入厚置备虚拟机之后。
从另一台虚拟化管理器导入虚拟机后,虚拟机内可用的剩余空间有时与 VergeOS 平台报告的可用空间不一致。这种差异通常是由于源 VM 中虚拟磁盘采用了厚置备,导致 VergeOS 无法识别未使用的磁盘空间。要解决此问题,需要在虚拟机内部对虚拟磁盘执行 TRIM/UNMAP 操作。
运行 TRIM 命令的前提条件
在 VergeOS UI 中编辑相关虚拟驱动器,并确保 丢弃 已启用。
确保虚拟驱动器使用的驱动器类型为 virtIO-SCSI 或 SATA.
确保虚拟驱动器分配到 固态层 (通常为 1-3 层)。
为 Windows 驱动器执行 TRIM
要在 Windows 环境中手动执行 TRIM 操作,请按以下步骤操作:
启动 PowerShell ,并使用管理员用户身份运行。
在 PowerShell 提示符下,输入以下命令:
Optimize-Volume -DriveLetter YourDriveLetter -ReTrim -Verbose示例:
Optimize-Volume -DriveLetter E -ReTrim -Verbose按 Enter 并等待命令完成。
随着 TRIM 操作的进行,您可以看到 VergeOS 仪表板中报告的可用空间逐渐增加,因为卷中的空白数据被移除。
如果这不能解决问题,可能是未启用 TRIM。要检查 TRIM 是否已启用:
运行以下 FSUTIL 命令:
fsutil behavior query disabledeletenotify如果值为 1,则该驱动器未启用 TRIM。
要启用 TRIM,请运行:
fsutil behavior set disabledeletenotify 0启用后,请重新运行 TRIM 命令。
为 Linux 驱动器执行 TRIM
较新的 Linux 发行版默认通过 systemd 服务或 cron 作业启用了 TRIM。要检查自动 TRIM 是否已启用,请按以下步骤操作:
确保上面的前提步骤 已完成。
示例: Ubuntu Server
启动终端。
输入以下命令以检查状态:
检查 TRIM 定时器/计划状态:
检查 TRIM 服务状态:
如果已启用 TRIM,操作将在下一个计划时间运行。如果未启用 TRIM,您可以使用以下命令手动执行 TRIM:
要启用自动 TRIM,请运行:
有关 fstrim的更多信息,请访问 man 手册页.
最后更新于
这有帮助吗?