3.11. 管理精简配置的 LVM-VDO 卷


可以配置一个精简配置的 LVM-VDO 卷来为以后扩展物理空间做准备,以解决 LVM-VDO 卷的物理空间的使用率接近 100% 的情况。例如,不要在 lvcreate 操作中使用 -l 100%FREE ,而是使用例如 '95%FREE' ,以确保以后在需要时有一些保留的空间。您可以使用同一方法解决以下问题:

  • 卷耗尽空间。
  • 文件系统进入只读模式。
  • 卷报告的 ENOSPC。
注意

解决 LVM-VDO 卷上高物理空间使用率的最佳方法是删除未使用的文件,并使用在线丢弃或 fstrim 程序丢弃这些未使用文件所使用的块。LVM-VDO 卷的物理空间只能增加到 8192 slabs,对于一个默认 slab 大小为 2 GB 的 LVM-VDO 卷为 16 TB,对于最大 slab 大小为 32 GB 的 LVM-VDO 卷为 256 TB。

在以下步骤中,将 myvgmyvdo 分别替换为卷组和 LVM-VDO 名称。

先决条件

  1. 安装 VDO 软件。如需更多信息,请参阅安装 VDO
  2. 在您的系统中有一个有可用存储容量的 LVM 卷组。
  3. 使用 lvcreate --type vdo --name myvdo myvg -l percentage-of-free-space-in-vg --virtualsize virtual-size-of-vdo 命令的精简配置的 LVM-VDO 卷。如需更多信息,请参阅 创建和挂载 LVM-VDO 卷

流程

  1. 确定精简配置的 LVM-VDO 卷的最佳逻辑大小:

    # vdostats myvg-vpool0-vpool
    
    Device               1K-blocks Used     Available  Use% Space saving%
    myvg-vpool0-vpool   104856576  29664088 75192488   28%   69%
    Copy to Clipboard Toggle word wrap

    要计算空间节省率,请使用以下公式:

    Savings ratio = 1 / (1 - Space saving%)
    Copy to Clipboard Toggle word wrap

    在本例中,

    • 大约有 3.22:1 个空间节省率(大约 80 GB)。
    • 如果更多带有同样空间节省的数据写入到 LVM-VDO 卷,将数据集大小乘以比率将产生 256 GB 的潜在逻辑大小。
    • 将这个数字调整到 200 GB 时,如果出现相同的空间节省率,则会产生一个具有安全可用磁盘空间的逻辑大小。
  2. 监控 LVM-VDO 卷中的空闲物理空间:

    # vdostats myvg-vpool0-vpool
    Copy to Clipboard Toggle word wrap

    可定期执行此命令,以提供对 LVM-VDO 卷使用的和空闲的物理空间的监控。

  3. 可选:使用可用的 /usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl 脚本查看 LVM-VDO 卷上物理空间使用情况的警告:

    # /usr/share/doc/vdo/examples/monitor/monitor_check_vdostats_physicalSpace.pl myvg-vpool0-vpool
    Copy to Clipboard Toggle word wrap
  4. 在创建 LVM-VDO 卷时,dmeventd 监控服务监控 LVM-VDO 卷中物理空间的使用情况。当 LVM-VDO 卷被创建或启动时,这默认被启用。

    在监控 LVM-VDO 卷时,使用 journalctl 命令查看日志中 dmeventd 的输出:

    lvm[8331]: Monitoring VDO pool myvg-vpool0-vpool.
    ...
    
    lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 84.63% full.
    lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 91.01% full.
    lvm[8331]: WARNING: VDO pool myvg-vpool0-vpool is now 97.34% full.
    Copy to Clipboard Toggle word wrap
  5. 修复几乎没有可用物理空间的 LVM-VDO 卷。当可以在 LVM-VDO 卷中添加物理空间,但卷空间在可以增大前已满时,可能需要暂时停止到卷的 I/O 。

    要暂时停止到卷的 I/O ,请执行以下步骤,其中 LVM-VDO 卷 myvdo 包含挂载在 /users/homeDir 路径上的文件系统:

    1. 冻结文件系统:

      # xfs_freeze -f /users/homeDir
      
      # vgextend myvg /dev/vdc2
      
      # lvextend -L new-size myvg/vpool0
      
      # xfs_freeze -u /users/homeDir
      Copy to Clipboard Toggle word wrap
    2. 卸载文件系统:

      # umount /users/homeDir
      
      # vgextend myvg /dev/vdc2
      
      # lvextend -L new-size myvg/vpool0
      
      # mount -o discard /dev/myvg/myvdo /users/homeDir
      Copy to Clipboard Toggle word wrap
      注意

      卸载或冻结带有缓存数据的文件系统将导致缓存数据的写入,这可能会填满 LVM-VDO 卷的物理空间。当为 LVM-VDO 卷上的空闲物理空间设置监控阈值时,请考虑缓存的文件系统数据的最大量。

  6. 可以使用 fstrim 程序清理文件系统不再使用的块。对 VDO 卷上挂载的文件系统执行 fstrim 可能会导致该卷的可用空间增加。fstrim 工具将丢弃发送到 LVM-VDO 卷,然后使用这些丢弃删除对之前使用的块的引用。如果这些块中有单一引用,则使用物理空间。

    1. 检查 VDO stats 以查看当前可用空间量:

      # vdostats --human-readable myvg-vpool0-vpool
      
       Device             Size  Used  Available Use%  Space saving%
      myvg-vpool0-vpool  100.0G 95.0G 5.0G      95%   73%
      Copy to Clipboard Toggle word wrap
    2. 丢弃未使用块:

      # fstrim /users/homeDir
      Copy to Clipboard Toggle word wrap
    3. 查看 LVM-VDO 卷的空闲物理空间:

      # vdostats --human-readable myvg-vpool0-vpool
      
       Device             Size    Used   Available Use%  Space saving%
      myvg-vpool0-vpool  100.0G   30.0G  70.0G     30%    43%
      Copy to Clipboard Toggle word wrap

      在这个示例中,在文件系统上执行 fstrim 后,丢弃可以返回可在 LVM-VDO 卷中使用的 65G 的物理空间。

      注意

      丢弃较低级别的重复数据删除和压缩卷时,可能会回收物理空间,而不是丢弃更高水平的重复数据删除和压缩卷。具有高级去重和压缩的卷可能需要更广泛的清理来回收物理空间,而不只是仅仅丢弃未使用的块。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat