purestorage.flashblade.purefb_fs 模块 – 管理 Pure Storage FlashBlade 上的文件系统

注意

此模块是 purestorage.flashblade 集合(版本 1.19.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install purestorage.flashblade。您需要其他要求才能使用此模块,有关详细信息,请参见 要求

要在 playbook 中使用它,请指定:purestorage.flashblade.purefb_fs

purestorage.flashblade 1.0.0 中的新增功能

概要

  • 此模块管理 Pure Storage FlashBlade 上的文件系统。

要求

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

  • python >= 3.9

  • py-pure-client

  • purity_fb >= 1.12.2

  • netaddr

  • datetime

  • pytz

  • distro

  • pycountry

  • urllib3

参数

参数

注释

access_control

字符串

用于客户端操作(例如设置文件和目录 ACL)的访问控制样式。

仅在 Purity//FB 3.1.1 及更高版本中可用

选项

  • "nfs"

  • "smb"

  • "shared" ←(默认)

  • "independent"

  • "mode-bits"

api_token

字符串

具有管理员特权用户的 FlashBlade API 令牌。

client_policy

字符串

在 purestorage.flashblade 1.12.0 中添加

要分配给文件系统的 SMB 客户端策略的名称

仅在 REST 2.10 或更高版本中有效

使用空字符串删除策略

continuous_availability

布尔值

在 purestorage.flashblade 1.15.0 中添加

定义在诸如网络中断、刀片故障转移等破坏性情况下文件系统是否将持续可用

选项

  • false

  • true ←(默认)

布尔值

定义是否可以删除文件系统,即使它具有复制链接

选项

  • false ←(默认)

  • true

disable_warnings

布尔值

在 purestorage.flashblade 1.18.0 中添加

禁用不安全证书警告

选项

  • false ←(默认)

  • true

discard_snaps

布尔值

允许降级文件系统。

选项

  • false ←(默认)

  • true

eradicate

布尔值

定义在删除时是否清除文件系统或将其保留在回收站中。

选项

  • false ←(默认)

  • true

export_policy

字符串

在 purestorage.flashblade 1.9.0 中添加

要分配给文件系统的 NFS 导出策略的名称

覆盖 nfs_rules

仅适用于 Purity//FB 3.3.0 或更高版本

fastremove

布尔值

定义是否为文件系统启用快速删除目录。

选项

  • false ←(默认)

  • true

fb_url

字符串

FlashBlade 管理 IP 地址或主机名。

group_ownership

字符串

在 purestorage.flashblade 1.17.0 中添加

文件系统中新文件和目录的组所有权

选项

  • "creator" ←(默认)

  • "parent-directory"

group_quota

字符串

此文件系统下组的默认配额,以 M、G、T 或 P 为单位。

hard_limit

布尔值

定义文件系统的容量是否为硬限制。

警告 如果容量已超过文件系统的逻辑大小,这将导致文件系统进入只读状态。

选项

  • false ←(默认)

  • true

http

布尔值

定义是否为文件系统启用 HTTP/HTTPS 协议。

选项

  • false ←(默认)

  • true

name

字符串 / 必需

文件系统名称。

nfs_rules

字符串

定义正在运行的 NFS 规则。

如果在文件系统创建时未设置,则默认为 *(rw,no_root_squash)

支持的二进制选项有 ro/rw、secure/insecure、fileid_32bit/no_fileid_32bit、root_squash/no_root_squash、all_squash/no_all_squash 和 atime/noatime

支持的非二进制选项有 anonuid=#、anongid=#、sec=(sys|krb5)

如果提供了,则会被 export_policy 取代

nfsv3

布尔值

定义是否为文件系统启用 NFSv3 协议。

选项

  • false

  • true ←(默认)

nfsv4

布尔值

定义是否为文件系统启用 NFSv4.1 协议。

选项

  • false

  • true ←(默认)

policy

字符串

要分配给或从文件系统删除的文件系统策略。

policy_state

字符串

从文件系统添加或删除策略

选项

  • "absent"

  • "present" ←(默认)

promote

布尔值

升级/降级文件系统。

仅当文件系统处于复制链接关系时才能降级它。

选项

  • false

  • true

safeguard_acls

布尔值

保护文件系统上的 ACL。

根据启用的文件系统协议执行不同的角色。

有关详细说明,请参阅 Purity//FB 文档。

仅在 Purity//FB 3.1.1 及更高版本中可用

选项

  • false

  • true ←(默认)

share_policy

字符串

在 purestorage.flashblade 1.12.0 中添加

要分配给文件系统的 SMB 共享策略的名称

仅在 REST 2.10 或更高版本中有效

使用空字符串删除策略

size

字符串

卷大小,以 M、G、T 或 P 为单位。 请参见示例。

如果在文件系统创建时未设置大小,则文件系统大小将变为无限制。

smb

布尔值

定义是否为文件系统启用 SMB 协议。

选项

  • false ←(默认)

  • true

smb_aclmode

字符串

指定 SMB 协议的 ACL 模式。

从 Purity//FB 3.1.1 起已弃用。请改用 access_control

选项

  • "shared" ←(默认)

  • "native"(原生)

快照

布尔值

定义是否为文件系统启用快照目录。

选项

  • false ←(默认)

  • true

状态

字符串

创建、删除或修改文件系统。

选项

  • "present" ←(默认)

  • "absent"

user_quota(用户配额)

字符串

此文件系统下用户的默认配额,单位为 M、G、T 或 P。

可写

布尔值

定义文件系统是否可写。

选项

  • false

  • true

注释

注意

  • 此模块需要 purity_fb Python 库

  • 如果未直接将 fb_urlapi_token 参数传递给模块,则必须设置 PUREFB_URLPUREFB_API 环境变量

示例

- name: Create new filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    size: 1T
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Delete filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    state: absent
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Recover filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Eradicate filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    state: absent
    eradicate: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Promote filesystem named foo ready for failover
  purestorage.flashblade.purefb_fs:
    name: foo
    promote: true
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Demote filesystem named foo after failover
  purestorage.flashblade.purefb_fs:
    name: foo
    promote: false
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

- name: Modify attributes of an existing filesystem named foo
  purestorage.flashblade.purefb_fs:
    name: foo
    size: 2T
    nfsv3: false
    nfsv4: true
    user_quota: 10K
    group_quota: 25M
    nfs_rules: '10.21.200.0/24(ro)'
    snapshot: true
    fastremove: true
    hard_limit: true
    smb: true
    state: present
    fb_url: 10.10.10.2
    api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641

作者

  • Pure Storage Ansible 团队 (@sdodsley)