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"

snapshot

布尔值

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

选项

  • false ← (默认)

  • true

state

字符串

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

选项

  • "present" ← (默认)

  • "absent"

user_quota

字符串

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

writable

布尔值

定义文件系统是否可写。

选项

  • false

  • true

注释

注意

  • 此模块需要 purity_fb Python 库

  • 如果未直接将 *fb_url* 和 *api_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)