dellemc.unity.filesystem 模块 – 管理 Unity 存储系统上的文件系统

注意

此模块是 dellemc.unity 集合 (版本 2.0.0) 的一部分。

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

要安装它,请使用:ansible-galaxy collection install dellemc.unity。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定:dellemc.unity.filesystem

dellemc.unity 1.1.0 中的新增功能

概要

  • 管理 Unity 存储系统上的文件系统包括创建新的文件系统、修改文件系统的 snapschedule 属性、修改文件系统属性、显示文件系统详细信息、显示文件系统快照、显示文件系统 snapschedule、删除与文件系统关联的 snapschedule、删除文件系统、创建具有配额配置的新文件系统、启用、修改和禁用复制。

要求

执行此模块的主机需要以下要求。

  • Dell Unity 存储设备版本 5.1 或更高版本。

  • Ansible-core 2.14 或更高版本。

  • Python 3.9、3.10 或 3.11。

  • Storops Python SDK 1.2.11。

参数

参数

注释

access_policy

字符串

文件系统的访问策略。

选项

  • "NATIVE"

  • "UNIX"

  • "WINDOWS"

cap_unit

字符串

文件系统大小的单位。如果未指定,则默认为 GB

选项

  • "GB"

  • "TB"

data_reduction

布尔值

布尔变量,指定是否启用压缩。压缩仅支持精简文件系统。

选项

  • false

  • true

description

字符串

关于文件系统的描述。

可以通过传递空字符串 (“”) 来删除描述。

filesystem_id

字符串

文件系统的 ID。

它只能用于获取、修改或删除操作。

它与 *filesystem_name* 互斥。

filesystem_name

字符串

文件系统的名称。仅在创建操作中必填。所有操作都支持通过 *filesystem_name* 进行。

它与 *filesystem_id* 互斥。

is_thin

布尔值

布尔变量,指定它是否是精简文件系统。

选项

  • false

  • true

locking_policy

字符串

文件系统锁定策略。这些策略选项控制是否必须遵守 NFSv4 范围锁。

选项

  • "ADVISORY"

  • "MANDATORY"

nas_server_id

字符串

将托管文件系统的 NAS 服务器的 ID。

nas_server_name

字符串

将托管文件系统的 NAS 服务器的名称。

password

字符串 / 必需

Unity 管理服务器的密码。

pool_id

字符串

这是将创建文件系统的池的 ID。

必须提供 *pool_name* 或 *pool_id* 来创建新的文件系统。

pool_name

字符串

这是将创建文件系统的池的名称。

必须提供 *pool_name* 或 *pool_id* 来创建新的文件系统。

port

整数

与 Unity 管理服务器通信的端口号。

默认值: 443

quota_config

字典

配额管理的配置。它包含可选参数。

cap_unit

字符串

*default_soft_limit* 和 *default_hard_limit* 大小的单位。

默认单位为 GB

选项

  • "MB"

  • "GB"

  • "TB"

default_hard_limit

整数

用户配额和树形配额的默认硬限制。

如果在创建文件系统时未设置 *default_hard_limit*,则默认情况下它将设置为 0B

default_soft_limit

整数

用户配额和树形配额的默认软限制。

如果在创建文件系统时未设置 *default_soft_limit*,则默认情况下它将设置为 0B

grace_period

整数

达到软限制后在配额配置中设置的宽限期。

如果在创建文件系统期间未设置 *grace_period*,则默认情况下它将设置为 7

grace_period_unit

字符串

宽限期的单位。

默认单位为

选项

  • "分钟"

  • "小时"

  • "天"

is_user_quota_enabled

布尔值

指示用户配额是否启用。

如果在创建文件系统时未设置 *is_user_quota_enabled*,则默认情况下它将设置为 false

参数 *is_user_quota_enabled* 和 *quota_policy* 互斥。

选项

  • false

  • true

quota_policy

字符串

在配额配置中设置的配额策略。

如果在创建文件系统时未设置 *quota_policy*,则默认情况下它将设置为 FILE_SIZE

参数 *is_user_quota_enabled* 和 *quota_policy* 互斥。

选项

  • "FILE_SIZE"

  • "BLOCKS"

replication_params

字典

启用或修改复制所需的设置。

destination_pool_id

字符串

分配目标文件系统的池的 ID。

destination_pool_name

字符串

分配目标文件系统的池的名称。

new_replication_name

字符串

将会话重命名为的复制名称。

remote_system

字典

正在配置复制到的远程系统的详细信息。

如果 *replication_type* 为 remote,则应指定 *remote_system* 选项。

remote_system_host

字符串 / 必需

远程 Unity Unisphere 主机的 IP 或 FQDN。

remote_system_password

字符串 / 必需

远程 Unity Unisphere 主机的密码。

remote_system_port

整数

托管远程 Unity Unisphere 的端口。

默认值: 443

remote_system_username

字符串 / 必需

远程Unity Unisphere主机的用户名。

remote_system_verifycert

布尔值

布尔变量,用于指定是否验证远程Unity Unisphere主机的SSL证书。

true - 表示应验证SSL证书。

false - 表示不应验证SSL证书。

选项

  • false

  • true ← (默认)

replication_mode

字符串

复制模式。

创建复制会话时,这是必填字段。

选项

  • "synchronous"

  • "asynchronous"

  • "manual"

replication_name

字符串

复制会话的名称。

replication_type

字符串

复制类型。

选项

  • "local"

  • "remote"

rpo

整数

系统同步源LUN和目标LUN之前的最大等待时间。

如果replication_modeasynchronous,则应指定rpo选项。

对于asynchronous,值应在51440范围内;对于synchronous,值为0;对于manual,值为-1

replication_state

字符串

复制的状态。

选项

  • "enable"

  • "disable"

size

整数

文件系统的容量。

smb_properties

字典

SMB的高级设置。它包含可选的候选变量。

is_smb_notify_on_access_enabled

布尔值

指示是否启用了目录文件结构更改通知。

选项

  • false

  • true

is_smb_notify_on_write_enabled

布尔值

指示是否在文件系统上启用了文件写入通知。

选项

  • false

  • true

is_smb_op_locks_enabled

布尔值

指示是否在文件系统上启用了机会性文件锁定。

选项

  • false

  • true

is_smb_sync_writes_enabled

布尔值

指示是否在文件系统上启用了同步写入选项。

选项

  • false

  • true

smb_notify_on_change_dir_depth

整数

整型变量,确定启用的通知适用的最低目录级别。

最小值为1

snap_schedule_id

字符串

这是要与文件系统关联的现有快照计划的ID。

这与snapshot_schedule_name互斥。

snap_schedule_name

字符串

这是要与文件系统关联的现有快照计划的名称。

这与snapshot_schedule_id互斥。

state

字符串 / 必需

状态变量,用于确定文件系统是否存在。

选项

  • "absent"

  • "present"

supported_protocols

字符串

文件系统支持的协议。

如果NAS服务器为Multiprotocol,则将被NAS服务器配置覆盖。

选项

  • "NFS"

  • "CIFS"

  • "MULTIPROTOCOL"

tiering_policy

字符串

分层策略选择,用于确定存储资源数据如何在池中可用的层之间分配。

选项

  • "AUTOTIER_HIGH"

  • "AUTOTIER"

  • "HIGHEST"

  • "LOWEST"

unispherehost

字符串 / 必需

Unity管理服务器的IP地址或FQDN。

username

字符串 / 必需

Unity管理服务器的用户名。

validate_certs

别名:verifycert

布尔值

布尔变量,用于指定是否验证SSL证书。

true - 表示应验证SSL证书。

false - 表示不应验证SSL证书。

选项

  • false

  • true ← (默认)

备注

注意

  • 在删除文件系统之前,需要删除与文件系统关联的SMB共享、NFS导出和快照。

  • 可以使用quota_config参数更新默认硬限制和软限制值,以限制可以使用最大空间。默认情况下,在创建文件系统时,两者都设置为0,这意味着无限制。

  • 不支持check_mode

  • 此集合中名为“dellemc.unity”的模块构建为支持Dell Unity存储平台。

示例

- name: Create FileSystem
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    pool_name: "pool_1"
    size: 5
    state: "present"

- name: Create FileSystem with quota configuration
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    pool_name: "pool_1"
    size: 5
    quota_config:
      grace_period: 8
      grace_period_unit: "days"
      default_soft_limit: 10
      is_user_quota_enabled: false
    state: "present"

- name: Expand FileSystem size
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    size: 10
    state: "present"

- name: Expand FileSystem size
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    size: 10
    state: "present"

- name: Modify FileSystem smb_properties
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_name: "ansible_test_fs"
    nas_server_name: "lglap761"
    smb_properties:
      is_smb_op_locks_enabled: true
      smb_notify_on_change_dir_depth: 5
      is_smb_notify_on_access_enabled: true
    state: "present"

- name: Modify FileSystem Snap Schedule
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "fs_141"
    snap_schedule_id: "{{snap_schedule_id}}"
    state: "{{state_present}}"

- name: Get details of FileSystem using id
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "rs_405"
    state: "present"

- name: Delete a FileSystem using id
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "rs_405"
    state: "absent"

- name: Enable replication on the fs
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "rs_405"
    replication_params:
      replication_name: "test_repl"
      replication_type: "remote"
      replication_mode: "asynchronous"
      rpo: 60
      remote_system:
        remote_system_host: '0.1.2.3'
        remote_system_verifycert: false
        remote_system_username: 'username'
        remote_system_password: 'password'
      destination_pool_name: "pool_test_1"
    replication_state: "enable"
    state: "present"

- name: Modify replication on the fs
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "rs_405"
    replication_params:
      replication_name: "test_repl"
      new_replication_name: "test_repl_updated"
      replication_mode: "asynchronous"
      rpo: 50
    replication_state: "enable"
    state: "present"

- name: Disable replication on the fs
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "rs_405"
    replication_state: "disable"
    state: "present"

- name: Disable replication by specifying replication_name on the fs
  dellemc.unity.filesystem:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    filesystem_id: "rs_405"
    replication_params:
      replication_name: "test_replication"
    replication_state: "disable"
    state: "present"

返回值

公共返回值已在此处记录,以下是此模块独有的字段

描述

changed

布尔值

资源是否已更改。

返回:始终

示例:true

filesystem_details

字典

文件系统的详细信息。

返回:文件系统存在时

示例:{"access_policy": "AccessPolicyEnum.UNIX", "cifs_notify_on_change_dir_depth": 512, "cifs_share": null, "data_reduction_percent": 0, "data_reduction_ratio": 1.0, "data_reduction_size_saved": 0, "description": "", "existed": true, "folder_rename_policy": "FSRenamePolicyEnum.SMB_RENAME_FORBIDDEN", "format": "FSFormatEnum.UFS64", "hash": 8735427610152, "health": {"UnityHealth": {"hash": 8735427614928}}, "host_io_size": "HostIOSizeEnum.GENERAL_8K", "id": "fs_65916", "is_advanced_dedup_enabled": false, "is_cifs_notify_on_access_enabled": false, "is_cifs_notify_on_write_enabled": false, "is_cifs_op_locks_enabled": false, "is_cifs_sync_writes_enabled": false, "is_data_reduction_enabled": false, "is_read_only": false, "is_smbca": false, "is_thin_enabled": true, "locking_policy": "FSLockingPolicyEnum.MANDATORY", "metadata_size": 11274289152, "metadata_size_allocated": 4294967296, "min_size_allocated": 0, "name": "test_fs", "nas_server": {"id": "nas_18", "name": "test_nas1"}, "nfs_share": null, "per_tier_size_used": [6979321856, 0, 0], "pool": {"id": "pool_7", "name": "pool 7"}, "pool_full_policy": "ResourcePoolFullPolicyEnum.FAIL_WRITES", "quota_config": {"default_hard_limit": "0B", "default_soft_limit": "0B", "grace_period": "7.0 days", "id": "quotaconfig_171798760421_0", "is_user_quota_enabled": false, "quota_policy": "QuotaPolicyEnum.FILE_SIZE"}, "replication_sessions": {"current_transfer_est_remain_time": 0, "id": "***", "last_sync_time": "2022-05-12 11:20:38+00:00", "local_role": "ReplicationSessionReplicationRoleEnum.SOURCE", "max_time_out_of_sync": 60, "members": null, "name": "local_repl_new", "network_status": "ReplicationSessionNetworkStatusEnum.OK", "remote_system": {"UnityRemoteSystem": {"hash": 8735426929707}}, "replication_resource_type": "ReplicationEndpointResourceTypeEnum.FILESYSTEM", "src_resource_id": "res_66444", "src_status": "ReplicationSessionStatusEnum.OK", "status": "ReplicationOpStatusEnum.AUTO_SYNC_CONFIGURED", "sync_progress": 0, "sync_state": "ReplicationSessionSyncStateEnum.IDLE"}, "size_allocated": 283148288, "size_allocated_total": 4578148352, "size_preallocated": 2401173504, "size_total": 10737418240, "size_total_with_unit": "10.0 GB", "size_used": 1620312064, "snap_count": 2, "snaps_size": 21474869248, "snaps_size_allocated": 32768, "snapshots": [], "supported_protocols": "FSSupportedProtocolEnum.NFS", "tiering_policy": "TieringPolicyEnum.AUTOTIER_HIGH", "type": "FilesystemTypeEnum.FILESYSTEM"}

cifs_notify_on_change_dir_depth

整数

指示启用的通知适用的最低目录级别(如果有)。

返回:成功

description

字符串

关于文件系统的描述。

返回:成功

id

字符串

系统为文件系统生成的ID。

返回:成功

is_cifs_notify_on_access_enabled

布尔值

指示系统是否在用户访问文件系统时生成通知。

返回:成功

is_cifs_notify_on_write_enabled

布尔值

指示系统是否在写入文件系统时生成通知。

返回:成功

is_cifs_op_locks_enabled

布尔值

指示是否为文件系统启用了机会性文件锁。

返回:成功

is_cifs_sync_writes_enabled

布尔值

指示是否为文件系统启用了CIFS同步写入选项。

返回:成功

is_data_reduction_enabled

布尔值

此文件系统上是否启用了压缩。

返回:成功

is_thin_enabled

布尔值

指示是否为此文件系统启用了精简配置。

返回:成功

name

字符串

文件系统的名称。

返回:成功

nas_server

字典

托管此文件系统的NAS服务器详细信息。

返回:成功

id

字符串

分配给NAS服务器的系统ID。

返回:成功

name

字符串

NAS服务器的名称。

返回:成功

pool

字典

分配此文件系统的池。

返回:成功

id

字符串

分配给池的系统ID。

返回:成功

name

字符串

存储池的名称。

返回:成功

quota_config

字典

已创建文件系统的配额配置详细信息。

返回:成功

default_hard_limit

整数

用户配额和树形配额的默认硬限制。

返回:成功

default_soft_limit

整数

用户配额和树形配额的默认软限制。

返回:成功

grace_period

字符串

达到软限制后在配额配置中设置的宽限期。

返回:成功

is_user_quota_enabled

布尔值

指示用户配额是否启用。

返回:成功

quota_policy

字符串

在配额配置中设置的配额策略。

返回:成功

replication_sessions

字典

如果启用了复制,则为复制会话列表。

返回:成功

id

字符串

复制会话的ID

返回:成功

name

字符串

复制会话的名称

返回:成功

remote_system

字典

远程系统

返回:成功

id

字符串

远程系统的ID

返回:成功

size_total_with_unit

字符串

带有实际单位的文件系统大小。

返回:成功

snap_schedule_id

字符串

指示与文件系统关联的快照计划的 ID。

返回:成功

snap_schedule_name

字符串

指示与文件系统关联的快照计划的名称。

返回:成功

快照

列表 / 元素=字符串

此文件系统的快照列表。

返回:成功

id

字符串

赋予文件系统快照的系统 ID。

返回:成功

name

字符串

文件系统快照的名称。

返回:成功

tiering_policy

字符串

应用于此文件系统的分层策略。

返回:成功

作者

  • Arindam Datta (@dattaarindam)

  • Meenakshi Dembi (@dembim)

  • Spandita Panigrahi (@panigs7)