community.general.vdo 模块 – 用于控制 VDO 的模块

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: community.general.vdo

概要

  • 此模块控制 VDO 去重和压缩设备。

  • VDO 或虚拟数据优化器,是一种设备映射器目标,可为主要存储提供内联块级去重、压缩和精简配置功能。

要求

以下要求需要在执行此模块的主机上满足。

  • PyYAML

  • kmod-kvdo

  • vdo

参数

参数

注释

ackthreads

字符串

指定用于确认已请求 VDO I/O 操作完成的线程数。有效值是从 1 到 100 的整数值(由于开销,较低的数字更可取)。默认值为 1。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

activated

布尔值

VDO 卷的“激活”状态。如果将其设置为 false,则无法启动 VDO 卷,并且它不会在系统启动时启动。但是,在初始创建时,将“activated”设置为“off”的 VDO 卷将运行,直到停止。这是“vdo create”命令的默认行为;它为用户提供了一个机会,可以在停止卷之前向 VDO 卷写入基本数量的元数据(文件系统、LVM 标头等),并使其处于非活动状态,直到准备好使用为止。

选项

  • false

  • true

biothreads

字符串

指定用于将 I/O 操作提交到存储设备的线程数。有效值是从 1 到 100 的整数值(由于开销,较低的数字更可取)。默认值为 4。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

blockmapcachesize

字符串

为缓存块映射页分配的内存量,以兆字节为单位(或可以使用 LVM 样式后缀 K、M、G 或 T 发出)。默认值(和最小值)为 128M。该值指定缓存的大小;有 15% 的内存使用开销。每 1.25G 的块映射覆盖 1T 的逻辑块,因此少量块映射缓存内存可以缓存大量的块映射数据。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

compression

字符串

配置是否启用压缩。创建卷的默认设置为“enabled”。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

选项

  • "disabled"

  • "enabled"

cputhreads

字符串

指定用于 CPU 密集型工作(例如哈希或压缩)的线程数。有效值是从 1 到 100 的整数值(由于开销,较低的数字更可取)。默认值为 2。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

deduplication

字符串

配置是否启用去重。创建卷的默认设置为“enabled”。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

选项

  • "disabled"

  • "enabled"

device

字符串

用于 VDO 存储的设备的完整路径。

如果“state”为“present”,则此为必需。

emulate512

布尔值

启用 512 字节模拟模式,允许驱动程序或文件系统以 512 字节的粒度访问 VDO 卷,而不是默认的 4096 字节粒度。默认值为“disabled”;仅当驱动程序或文件系统需要对设备的 512 字节扇区级访问时才建议使用。此选项仅在创建新卷时可用,并且不能更改现有卷。

选项

  • false ←(默认)

  • true

force

布尔值

在 community.general 2.4.0 中添加

创建卷时,忽略存储设备中已存在的任何文件系统或 VDO 签名。停止或删除 VDO 卷时,如果已挂载,则先卸载存储在设备上的文件系统。

警告:由于此参数会删除所有安全检查,因此务必确保提供的所有参数都是准确且有意的。

选项

  • false ←(默认)

  • true

growphysical

布尔值

指定是否尝试执行 growphysical 操作,如果设备上有足够的未使用空间。如果相对于受影响的 VDO 卷的先前物理大小,至少有 64 GB 的可用空间,则将执行 growphysical 操作。

选项

  • false ←(默认)

  • true

indexmem

字符串

指定索引内存量(以 GB 为单位)。默认值为 0.25。可以使用特殊的十进制值 0.25、0.5 和 0.75,也可以使用任何正整数。此选项仅在创建新卷时可用,并且不能更改现有卷。

indexmode

字符串

指定 Albireo 索引的索引模式。默认值为“dense”,其去重窗口为每 1 TB 的传入数据占用 1 GB 的索引内存,需要在持久存储上使用 10 GB 的索引数据。“sparse”模式的去重窗口为每 10 TB 的传入数据占用 1 GB 的索引内存,但需要在持久存储上使用 100 GB 的索引数据。此选项仅在创建新卷时可用,并且不能更改现有卷。

选项

  • "dense"

  • "sparse"

logicalsize

字符串

VDO 卷的逻辑大小(以兆字节为单位,或使用 LVM 后缀格式)。如果未为新卷指定,则默认为与底层存储设备相同的大小,该大小在“device”参数中指定。如果未指定 logicalsize 参数,或该参数小于或等于当前大小,则现有卷将保持其大小。如果指定的大小大于当前大小,则将执行 growlogical 操作。

logicalthreads

字符串

指定用于细分基于逻辑块地址的 VDO 处理部分的线程数。有效值是 1 到 100 的整数值(由于开销,较低的数字更好)。默认值为 1。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

name

字符串 / 必需

VDO 卷的名称。

physicalthreads

字符串

指定用于细分基于物理块地址的 VDO 处理部分的线程数。有效值是 1 到 16 的整数值(由于开销,较低的数字更好)。VDO 卷使用的物理空间必须大于 (slabsize * physicalthreads)。默认值为 1。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

readcache

字符串

启用或禁用读取缓存。默认值为“disabled”。选择“enabled”将启用读取缓存,这可以提高高重复数据删除、高压缩级别的读取工作负载或硬盘存储的性能。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

读取缓存功能在 VDO 6.1 及更旧版本中可用。

选项

  • "disabled"

  • "enabled"

readcachesize

字符串

指定额外的 VDO 设备读取缓存大小,以兆字节为单位。这是在系统定义的最小值之外的。可选地,可以使用带有 K、M、G 或 T 后缀的值。默认值为 0。每个指定的 1 MB 读取缓存,每个 bio 线程将使用 1.125 MB 的内存(例如,配置了 4 个 bio 线程的 VDO 卷,其读取缓存内存使用开销为每个指定的 1 MB 读取缓存 4.5 MB)。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

读取缓存功能在 VDO 6.1 及更旧版本中可用。

running

布尔值

此 VDO 卷是否正在运行。

必须激活 VDO 卷才能启动。

选项

  • false

  • true

slabsize

字符串

VDO 卷物理大小增长的增量大小,以兆字节为单位(也可以使用 LVM 样式的 K、M、G 或 T 后缀)。必须是 128M 到 32G 之间的 2 的幂。默认值为 2G,支持物理大小最大为 16T 的卷。最大值 32G,支持物理大小最大为 256T。此选项仅在创建新卷时可用,并且不能更改现有卷。

state

字符串

此 VDO 卷应该是“present”还是“absent”。如果不存在“present”的 VDO 卷,将创建它。如果“present”的 VDO 卷已存在,将通过更新配置来修改它,这将在 VDO 卷重新启动时生效。并非现有 VDO 卷的所有参数都可以修改;“statusparamkeys”列表包含创建后可以修改的参数。如果不存在“absent”的 VDO 卷,则不会删除它。

选项

  • "absent"

  • "present" ← (默认)

writepolicy

字符串

指定 VDO 卷的写入策略。“sync”模式仅在数据位于稳定存储上后才确认写入。“async”模式在数据被缓存以写入稳定存储时确认写入。默认(强烈推荐)的“auto”模式检查存储设备以确定其是否支持刷新。支持刷新的设备将导致 VDO 卷处于“async”模式,而不支持刷新的设备将在 sync 模式下运行。除非在 playbook 中指定了不同的值,否则现有卷将保持其先前配置的设置。

选项

  • "async"

  • "auto"

  • "sync"

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行并返回已更改状态预测,而无需修改目标。

diff_mode

支持:

在 diff 模式下运行时,将返回已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

注释

注意

  • 通常,应使用默认的线程配置。

示例

- name: Create 2 TB VDO volume vdo1 on device /dev/md0
  community.general.vdo:
    name: vdo1
    state: present
    device: /dev/md0
    logicalsize: 2T

- name: Remove VDO volume vdo1
  community.general.vdo:
    name: vdo1
    state: absent

作者

  • Bryan Gurney (@bgurney-rh)