Class: Ansible::Ruby::Modules::Vdo

Inherits:
Base show all
Defined in:
lib/ansible/ruby/modules/generated/system/vdo.rb

Overview

This module controls the VDO dedupe and compression device. VDO, or Virtual Data Optimizer, is a device-mapper target that provides inline block-level deduplication, compression, and thin provisioning capabilities to primary storage.

Instance Method Summary collapse

Methods inherited from Base

#ansible_name, #to_h

Methods inherited from Ansible::Ruby::Models::Base

attr_option, attr_options, attribute, fix_inclusion, #initialize, remove_existing_validations, #to_h, validates

Constructor Details

This class inherits a constructor from Ansible::Ruby::Models::Base

Instance Method Details

#ackthreadsObject?

Returns Specifies the number of threads to use for acknowledging completion of requested VDO I/O operations. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 1. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    Specifies the number of threads to use for acknowledging completion of requested VDO I/O operations. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 1. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



75
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 75

attribute :ackthreads

#activated:yes, ...

Returns The “activate” status for a VDO volume. If this is set to “no”, the VDO volume cannot be started, and it will not start on system startup. However, on initial creation, a VDO volume with “activated” set to “off” will be running, until stopped. This is the default behavior of the “vdo create” command; it provides the user an opportunity to write a base amount of metadata (filesystem, LVM headers, etc.) to the VDO volume prior to stopping the volume, and leaving it deactivated until ready to use.

Returns:

  • (:yes, :no, nil)

    The “activate” status for a VDO volume. If this is set to “no”, the VDO volume cannot be started, and it will not start on system startup. However, on initial creation, a VDO volume with “activated” set to “off” will be running, until stopped. This is the default behavior of the “vdo create” command; it provides the user an opportunity to write a base amount of metadata (filesystem, LVM headers, etc.) to the VDO volume prior to stopping the volume, and leaving it deactivated until ready to use.



20
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 20

attribute :activated

#biothreadsObject?

Returns Specifies the number of threads to use for submitting I/O operations to the storage device. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 4. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    Specifies the number of threads to use for submitting I/O operations to the storage device. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 4. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



78
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 78

attribute :biothreads

#blockmapcachesizeObject?

Returns The amount of memory allocated for caching block map pages, in megabytes (or may be issued with an LVM-style suffix of K, M, G, or T). The default (and minimum) value is 128M. The value specifies the size of the cache; there is a 15% memory usage overhead. Each 1.25G of block map covers 1T of logical blocks, therefore a small amount of block map cache memory can cache a significantly large amount of block map data. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    The amount of memory allocated for caching block map pages, in megabytes (or may be issued with an LVM-style suffix of K, M, G, or T). The default (and minimum) value is 128M. The value specifies the size of the cache; there is a 15% memory usage overhead. Each 1.25G of block map covers 1T of logical blocks, therefore a small amount of block map cache memory can cache a significantly large amount of block map data. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



44
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 44

attribute :blockmapcachesize

#compression:enabled, ...

Returns Configures whether compression is enabled. The default for a created volume is ‘enabled’. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (:enabled, :disabled, nil)

    Configures whether compression is enabled. The default for a created volume is ‘enabled’. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



40
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 40

attribute :compression

#cputhreadsObject?

Returns Specifies the number of threads to use for CPU-intensive work such as hashing or compression. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 2. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    Specifies the number of threads to use for CPU-intensive work such as hashing or compression. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 2. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



81
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 81

attribute :cputhreads

#deduplication:enabled, ...

Returns Configures whether deduplication is enabled. The default for a created volume is ‘enabled’. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (:enabled, :disabled, nil)

    Configures whether deduplication is enabled. The default for a created volume is ‘enabled’. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



36
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 36

attribute :deduplication

#deviceString?

Returns The full path of the device to use for VDO storage. This is required if “state” is “present”.

Returns:

  • (String, nil)

    The full path of the device to use for VDO storage. This is required if “state” is “present”.



28
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 28

attribute :device

#emulate512Symbol?

Returns Enables 512-byte emulation mode, allowing drivers or filesystems to access the VDO volume at 512-byte granularity, instead of the default 4096-byte granularity. Default is ‘disabled’; only recommended when a driver or filesystem requires 512-byte sector level access to a device. This option is only available when creating a new volume, and cannot be changed for an existing volume.

Returns:

  • (Symbol, nil)

    Enables 512-byte emulation mode, allowing drivers or filesystems to access the VDO volume at 512-byte granularity, instead of the default 4096-byte granularity. Default is ‘disabled’; only recommended when a driver or filesystem requires 512-byte sector level access to a device. This option is only available when creating a new volume, and cannot be changed for an existing volume.



54
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 54

attribute :emulate512

#growphysicalSymbol?

Returns Specifies whether to attempt to execute a growphysical operation, if there is enough unused space on the device. A growphysical operation will be executed if there is at least 64 GB of free space, relative to the previous physical size of the affected VDO volume.

Returns:

  • (Symbol, nil)

    Specifies whether to attempt to execute a growphysical operation, if there is enough unused space on the device. A growphysical operation will be executed if there is at least 64 GB of free space, relative to the previous physical size of the affected VDO volume.



58
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 58

attribute :growphysical

#indexmemObject?

Returns Specifies the amount of index memory in gigabytes. The default is 0.25. The special decimal values 0.25, 0.5, and 0.75 can be used, as can any positive integer. This option is only available when creating a new volume, and cannot be changed for an existing volume.

Returns:

  • (Object, nil)

    Specifies the amount of index memory in gigabytes. The default is 0.25. The special decimal values 0.25, 0.5, and 0.75 can be used, as can any positive integer. This option is only available when creating a new volume, and cannot be changed for an existing volume.



69
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 69

attribute :indexmem

#indexmodeObject?

Returns Specifies the index mode of the Albireo index. The default is ‘dense’, which has a deduplication window of 1 GB of index memory per 1 TB of incoming data, requiring 10 GB of index data on persistent storage. The ‘sparse’ mode has a deduplication window of 1 GB of index memory per 10 TB of incoming data, but requires 100 GB of index data on persistent storage. This option is only available when creating a new volume, and cannot be changed for an existing volume.

Returns:

  • (Object, nil)

    Specifies the index mode of the Albireo index. The default is ‘dense’, which has a deduplication window of 1 GB of index memory per 1 TB of incoming data, requiring 10 GB of index data on persistent storage. The ‘sparse’ mode has a deduplication window of 1 GB of index memory per 10 TB of incoming data, but requires 100 GB of index data on persistent storage. This option is only available when creating a new volume, and cannot be changed for an existing volume.



72
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 72

attribute :indexmode

#logicalsizeString?

Returns The logical size of the VDO volume (in megabytes, or LVM suffix format). If not specified for a new volume, this defaults to the same size as the underlying storage device, which is specified in the ‘device’ parameter. Existing volumes will maintain their size if the logicalsize parameter is not specified, or is smaller than or identical to the current size. If the specified size is larger than the current size, a growlogical operation will be performed.

Returns:

  • (String, nil)

    The logical size of the VDO volume (in megabytes, or LVM suffix format). If not specified for a new volume, this defaults to the same size as the underlying storage device, which is specified in the ‘device’ parameter. Existing volumes will maintain their size if the logicalsize parameter is not specified, or is smaller than or identical to the current size. If the specified size is larger than the current size, a growlogical operation will be performed.



32
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 32

attribute :logicalsize

#logicalthreadsObject?

Returns Specifies the number of threads across which to subdivide parts of the VDO processing based on logical block addresses. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 1. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    Specifies the number of threads across which to subdivide parts of the VDO processing based on logical block addresses. Valid values are integer values from 1 to 100 (lower numbers are preferable due to overhead). The default is 1. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



84
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 84

attribute :logicalthreads

#nameString

Returns The name of the VDO volume.

Returns:

  • (String)

    The name of the VDO volume.



12
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 12

attribute :name

#physicalthreadsObject?

Returns Specifies the number of threads across which to subdivide parts of the VDO processing based on physical block addresses. Valid values are integer values from 1 to 16 (lower numbers are preferable due to overhead). The physical space used by the VDO volume must be larger than (slabsize * physicalthreads). The default is 1. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    Specifies the number of threads across which to subdivide parts of the VDO processing based on physical block addresses. Valid values are integer values from 1 to 16 (lower numbers are preferable due to overhead). The physical space used by the VDO volume must be larger than (slabsize * physicalthreads). The default is 1. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



87
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 87

attribute :physicalthreads

#readcache:enabled, ...

Returns Enables or disables the read cache. The default is ‘disabled’. Choosing ‘enabled’ enables a read cache which may improve performance for workloads of high deduplication, read workloads with a high level of compression, or on hard disk storage. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (:enabled, :disabled, nil)

    Enables or disables the read cache. The default is ‘disabled’. Choosing ‘enabled’ enables a read cache which may improve performance for workloads of high deduplication, read workloads with a high level of compression, or on hard disk storage. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



47
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 47

attribute :readcache

#readcachesizeObject?

Returns Specifies the extra VDO device read cache size in megabytes. This is in addition to a system-defined minimum. Using a value with a suffix of K, M, G, or T is optional. The default value is 0. 1.125 MB of memory per bio thread will be used per 1 MB of read cache specified (for example, a VDO volume configured with 4 bio threads will have a read cache memory usage overhead of 4.5 MB per 1 MB of read cache specified). Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (Object, nil)

    Specifies the extra VDO device read cache size in megabytes. This is in addition to a system-defined minimum. Using a value with a suffix of K, M, G, or T is optional. The default value is 0. 1.125 MB of memory per bio thread will be used per 1 MB of read cache specified (for example, a VDO volume configured with 4 bio threads will have a read cache memory usage overhead of 4.5 MB per 1 MB of read cache specified). Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



51
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 51

attribute :readcachesize

#running:yes, ...

Returns Whether this VDO volume is running. A VDO volume must be activated in order to be started.

Returns:

  • (:yes, :no, nil)

    Whether this VDO volume is running. A VDO volume must be activated in order to be started.



24
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 24

attribute :running

#slabsizeObject?

Returns The size of the increment by which the physical size of a VDO volume is grown, in megabytes (or may be issued with an LVM-style suffix of K, M, G, or T). Must be a power of two between 128M and 32G. The default is 2G, which supports volumes having a physical size up to 16T. The maximum, 32G, supports a physical size of up to 256T. This option is only available when creating a new volume, and cannot be changed for an existing volume.

Returns:

  • (Object, nil)

    The size of the increment by which the physical size of a VDO volume is grown, in megabytes (or may be issued with an LVM-style suffix of K, M, G, or T). Must be a power of two between 128M and 32G. The default is 2G, which supports volumes having a physical size up to 16T. The maximum, 32G, supports a physical size of up to 256T. This option is only available when creating a new volume, and cannot be changed for an existing volume.



62
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 62

attribute :slabsize

#state:present, :absent

Returns Whether this VDO volume should be “present” or “absent”. If a “present” VDO volume does not exist, it will be created. If a “present” VDO volume already exists, it will be modified, by updating the configuration, which will take effect when the VDO volume is restarted. Not all parameters of an existing VDO volume can be modified; the “statusparamkeys” list contains the parameters that can be modified after creation. If an “absent” VDO volume does not exist, it will not be removed.

Returns:

  • (:present, :absent)

    Whether this VDO volume should be “present” or “absent”. If a “present” VDO volume does not exist, it will be created. If a “present” VDO volume already exists, it will be modified, by updating the configuration, which will take effect when the VDO volume is restarted. Not all parameters of an existing VDO volume can be modified; the “statusparamkeys” list contains the parameters that can be modified after creation. If an “absent” VDO volume does not exist, it will not be removed.



16
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 16

attribute :state

#writepolicy:auto, ...

Returns Specifies the write policy of the VDO volume. The ‘sync’ mode acknowledges writes only after data is on stable storage. The ‘async’ mode acknowledges writes when data has been cached for writing to stable storage. The default (and highly recommended) ‘auto’ mode checks the storage device to determine whether it supports flushes. Devices that support flushes will result in a VDO volume in ‘async’ mode, while devices that do not support flushes will run in sync mode. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.

Returns:

  • (:auto, :sync, :async, nil)

    Specifies the write policy of the VDO volume. The ‘sync’ mode acknowledges writes only after data is on stable storage. The ‘async’ mode acknowledges writes when data has been cached for writing to stable storage. The default (and highly recommended) ‘auto’ mode checks the storage device to determine whether it supports flushes. Devices that support flushes will result in a VDO volume in ‘async’ mode, while devices that do not support flushes will run in sync mode. Existing volumes will maintain their previously configured setting unless a different value is specified in the playbook.



65
# File 'lib/ansible/ruby/modules/generated/system/vdo.rb', line 65

attribute :writepolicy