For the complete documentation index, see llms.txt. This page is also available as Markdown.

虚拟磁盘 TRIM

如何在 Windows 和 Linux 上对虚拟磁盘执行 TRIM/UNMAP 操作以回收未使用的 vSAN 空间,尤其是在导入厚置备虚拟机之后。

从另一台虚拟化管理器导入虚拟机后,虚拟机内可用的剩余空间有时与 VergeOS 平台报告的可用空间不一致。这种差异通常是由于源 VM 中虚拟磁盘采用了厚置备,导致 VergeOS 无法识别未使用的磁盘空间。要解决此问题,需要在虚拟机内部对虚拟磁盘执行 TRIM/UNMAP 操作。

运行 TRIM 命令的前提条件

  1. 在 VergeOS UI 中编辑相关虚拟驱动器,并确保 丢弃 已启用。

  2. 确保虚拟驱动器使用的驱动器类型为 virtIO-SCSISATA.

  3. 确保虚拟驱动器分配到 固态层 (通常为 1-3 层)。

为 Windows 驱动器执行 TRIM

要在 Windows 环境中手动执行 TRIM 操作,请按以下步骤操作:

  1. 启动 PowerShell ,并使用管理员用户身份运行。

  2. 在 PowerShell 提示符下,输入以下命令:

    Optimize-Volume -DriveLetter YourDriveLetter -ReTrim -Verbose

    示例:

    Optimize-Volume -DriveLetter E -ReTrim -Verbose
  3. Enter 并等待命令完成。

随着 TRIM 操作的进行,您可以看到 VergeOS 仪表板中报告的可用空间逐渐增加,因为卷中的空白数据被移除。

如果这不能解决问题,可能是未启用 TRIM。要检查 TRIM 是否已启用:

  1. 运行以下 FSUTIL 命令:

    fsutil behavior query disabledeletenotify

    如果值为 1,则该驱动器未启用 TRIM。

  2. 要启用 TRIM,请运行:

    fsutil behavior set disabledeletenotify 0

    启用后,请重新运行 TRIM 命令。

为 Linux 驱动器执行 TRIM

较新的 Linux 发行版默认通过 systemd 服务或 cron 作业启用了 TRIM。要检查自动 TRIM 是否已启用,请按以下步骤操作:

  1. 确保上面的前提步骤 已完成。

示例: Ubuntu Server

  1. 启动终端。

  2. 输入以下命令以检查状态:

    • 检查 TRIM 定时器/计划状态:

    • 检查 TRIM 服务状态:

如果已启用 TRIM,操作将在下一个计划时间运行。如果未启用 TRIM,您可以使用以下命令手动执行 TRIM:

建议启用自动 TRIM,以确保 VergeOS 与来宾操作系统之间的数据使用情况能够准确反映。

要启用自动 TRIM,请运行:

有关 fstrim的更多信息,请访问 man 手册页.


文档信息

  • 最后更新:2024-09-03

  • VergeOS 版本:4.12.6

最后更新于

这有帮助吗?