netapp.ontap.na_ontap_aggregate 模块 – NetApp ONTAP 管理聚合。

注意

此模块是 netapp.ontap 集合(版本 22.13.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要更多要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_aggregate

netapp.ontap 2.6.0 中的新增功能

概要

  • 在 ONTAP 上创建、删除或管理聚合。

要求

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

  • Ansible 2.9 或更高版本 - 推荐 2.12 或更高版本。

  • Python3 - 推荐 3.9 或更高版本。

  • 当使用 ZAPI 时,netapp-lib 2018.11.13 或更高版本(使用 'pip install netapp-lib' 安装),强烈建议使用 netapp-lib 2020.3.12,因为它为连接问题提供了更好的错误报告。

  • 一个物理或虚拟集群 Data ONTAP 系统,模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。

参数

参数

注释

allow_flexgroups

布尔值

在 netapp.ontap 22.3.0 中添加

此可选参数允许将对象存储附加到包含 FlexGroup 成分的聚合。默认值为 false。

不建议在 FlexGroup 中混合使用 FabricPool 和非 FabricPool。

托管 FlexGroup 成分的所有聚合都应附加到对象存储。

选择

  • false

  • true

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端证书文件(.pem)的路径。

不支持 Python 2.6。

disk_class

字符串

在 netapp.ontap 21.16.0 中添加

用于构建聚合的磁盘类别。

capacity_flash 在 swagger 中列出,但被 ONTAP 拒绝为无效。

选择

  • "capacity"

  • "performance"

  • "archive"

  • "solid_state"

  • "array"

  • "virtual"

  • "data_center"

  • "capacity_flash"

disk_count

整数

要放入聚合中的磁盘数量,包括奇偶校验磁盘。

此新创建的聚合中的磁盘来自备用磁盘池。

此池中最小的磁盘首先加入聚合,除非提供了 disk-size 参数。

必须提供 disk-countdisks。范围 [0..2^31-1]。

state=present 时是必需的。

只有当指定的 disk_count 大于当前的 disk_count 时才能修改。

当使用 raid 类型 raid4 时,不能使用 1 个磁盘创建 raidgroup。

如果 disk_count % raid_size == 1,则只会添加 disk_count/raid_size * raid_size。

如果 disk_count 为 6,raid_type 为 raid4,raid_size 为 4,则会添加所有 6 个磁盘。

如果 disk_count 为 5,raid_type 为 raid4,raid_size 为 4,则会添加 5/4 * 4 = 4。1 将不会被添加。

使用 REST 时,如果存在 disk_count,则需要 nodes

disk_size

整数

在 netapp.ontap 2.7.0 中添加

在 4K 块大小中使用的磁盘大小。将使用指定大小的 10% 以内的磁盘。

使用 REST 时,这将使用 4096 转换为字节。使用 disk_size_with_unit 跳过转换。

disk_size_with_unit

字符串

以指定的单位使用的磁盘大小。

它是一个正整数,后跟 T/G/M/K 单位。例如,72G、1T 和 32M。

或者可以省略字节单位(REST 也接受 B)。

如果通过“disks”参数指定了特定磁盘列表,则此选项将被忽略。

您必须只使用 “disk-size” 或 “disk-size-with-unit” 参数中的一个。

使用 REST 时,这将转换为字节,假设 K=1024。

disk_type

字符串

在 netapp.ontap 2.7.0 中添加

用于构建聚合的磁盘类型。

不支持 REST - 请参阅 disk_class

ONTAP 9.6 中添加了 SSD-NVM、SSD-CAP。

ONTAP 9.9 中添加了 VMLUN。

选择

  • "ATA"

  • "BSAS"

  • "FCAL"

  • "FSAS"

  • "LUN"

  • "MSATA"

  • "SAS"

  • "SSD"

  • "SSD-CAP"

  • "SSD-NVM"

  • "VMDISK"

  • "VMLUN"

  • "VMLUN-SSD"

disks

列表 / 元素=字符串

在 netapp.ontap 2.8.0 中添加

用于新聚合的特定磁盘列表。

要使用特定磁盘列表创建“镜像”聚合,必须同时提供“disks”和“mirror_disks”选项。此外,两个列表中必须提供相同数量的磁盘。

不支持 REST。

encryption

布尔值

在 netapp.ontap 21.14.0 中添加

是否启用软件加密。

这等效于使用 CLI 时的 -encrypt-with-aggr-key。

需要 VE 许可证。

选择

  • false

  • true

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

这可以用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值可能会在不另行通知的情况下更改。未知的键将被忽略。

force_ontap_version

字符串

在 netapp.ontap 21.23.0 中添加

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

当由于权限问题无法读取集群版本时,这被用作一种解决方法。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应该是 9.10 或 9.10.1 的形式,每个元素都是一个整数。

use_rest 设置为自动时,这可能会强制根据版本和平台功能切换到基于 ZAPI。

使用 ZAPI 时忽略。

from_name

字符串

在 netapp.ontap 2.7.0 中添加

要重命名的聚合的名称。

hostname

字符串 / 必需

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口(80 或 443)

https

布尔值

启用和禁用 https。

当使用 REST 时被忽略,因为仅支持 https。

当使用 SSL 证书身份验证时,此选项将被忽略,因为它需要 SSL。

选择

  • false ← (默认)

  • true

ignore_pool_checks

布尔值

在 netapp.ontap 20.8.0 中添加

仅当使用 disks 选项时有效。

一个 plex 中的磁盘应属于同一个备用池,并将镜像磁盘放到另一个备用池。

设置为 true 时,将忽略这些检查。

使用 REST 时忽略,因为不支持 disks

选择

  • false

  • true

is_mirrored

布尔值

在 netapp.ontap 2.8.0 中添加

指定新聚合是否为镜像(具有两个 plex)。

如果设置为 true,则指定的磁盘将分布在两个 plex 中。默认情况下,新聚合不进行镜像。

当使用 ‘disks’ 或 ‘mirror_disks’ 选项提供特定磁盘列表时,不能使用此选项。

选择

  • false

  • true

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端密钥文件的路径。

mirror_disks

列表 / 元素=字符串

在 netapp.ontap 2.8.0 中添加

要使用的镜像磁盘列表。它必须包含与 ‘disks’ 中指定的磁盘数量相同的磁盘。

不支持 REST。

name

字符串 / 必需

要管理的聚合的名称。

nodes

列表 / 元素=字符串

要在其上创建聚合的节点。如果未指定节点,则将使用管理 LIF 的主节点。

仅限 ZAPI - 如果指定了多个节点,则将创建一个聚合条带。

使用 REST 时,只能指定一个节点。如果存在 disk_count,则需要节点名称。

object_store_name

字符串

在 netapp.ontap 2.9.0 中添加

附加到聚合的对象存储配置的名称。

ontapi

整数

要使用的 ONTAP API 版本

password

别名: pass

字符串

指定用户的密码。

raid_size

整数

在 netapp.ontap 2.7.0 中添加

设置每个 RAID 组的最大驱动器数。

raid_type

字符串

在 netapp.ontap 2.7.0 中添加

指定在新聚合中使用的 RAID 组的类型。

raid_0 仅在 ONTAP Select 上可用。

选择

  • "raid4"

  • "raid_dp"

  • "raid_tec"

  • "raid_0"

service_state

字符串

指定聚合应启用还是禁用。如果聚合不存在则会创建。

在 REST 中,从 9.11.1 或更高版本开始支持。

选择

  • "online"

  • "offline"

snaplock_type

字符串

在 netapp.ontap 20.1.0 中添加

正在创建的聚合的 SnapLock 类型。

选择

  • "compliance"

  • "enterprise"

  • "non_snaplock"

spare_pool

字符串

在 netapp.ontap 2.8.0 中添加

指定用于创建新聚合的备用磁盘的备用池。

不支持 REST。

选择

  • "Pool0"

  • "Pool1"

state

字符串

指定聚合应该存在还是不存在。

选择

  • "present" ← (默认)

  • "absent"

tags

列表 / 元素=字符串

在 netapp.ontap 22.6.0 中添加

标签是跟踪资源用途的可选方式。

标签值必须格式化为 key:value 字符串,例如 [“team:csi”, “environment:test”]

time_out

整数

在 netapp.ontap 2.8.0 中添加

等待聚合创建的超时时间,以秒为单位。

默认设置为 100 秒。

默认值: 100

unmount_volumes

布尔值

如果设置为“true”,则此选项指定在执行脱机操作之前,应卸载给定聚合托管的所有卷。

默认情况下,系统将拒绝任何尝试使托管一个或多个在线卷的聚合脱机的操作。

REST 不支持此选项,默认情况下,REST 在尝试使聚合脱机时会卸载卷。

选择

  • false

  • true

use_rest

字符串

是否使用 REST 或 ZAPI。

always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。

never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。

auto – 如果模块支持 REST 且模块选项受支持,则尝试使用 REST API。否则,恢复为 ZAPI。

默认值: "auto"

username

别名: user

字符串

这可以是集群范围的帐户,也可以是 SVM 范围的帐户,具体取决于需要集群级别还是 SVM 级别的 API。

有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码,

  2. SSL 证书身份验证,使用 SSL 客户端证书文件,以及可选的私钥文件。

要使用证书,必须已在 ONTAP 集群中安装证书,并且必须已启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

只有在个人控制的站点上使用自签名证书时,才应将其设置为 False

选择

  • false

  • true ← (默认)

wait_for_online

布尔值

在 netapp.ontap 2.8.0 中添加

将此参数设置为“true”以便在创建期间同步执行(等待直到聚合状态为 online)。

将此参数设置为“false”以便异步执行。

对于异步执行,一旦发送请求,执行就会退出,而无需检查聚合状态。

REST 中忽略(始终等待)。

选择

  • false ← (默认)

  • true

说明

注意

  • 支持 check_mode。

  • 支持 ZAPI 和 REST。

  • 前缀为 na_ontap 的模块旨在支持 ONTAP 存储平台。

  • 默认启用 https 并推荐使用。要在集群上启用 http,必须运行以下命令 ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

示例

- name: Create Aggregates and wait 5 minutes until aggregate is online in ZAPI.
  netapp.ontap.na_ontap_aggregate:
    state: present
    service_state: online
    name: ansibleAggr
    disk_count: 10
    wait_for_online: True
    time_out: 300
    snaplock_type: non_snaplock
    use_rest: never
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Create Aggregates in REST.
  netapp.ontap.na_ontap_aggregate:
    state: present
    service_state: online
    name: ansibleAggr
    disk_count: 10
    nodes: ontap-node
    snaplock_type: non_snaplock
    use_rest: always
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Manage Aggregates in ZAPI, modify service state.
  netapp.ontap.na_ontap_aggregate:
    state: present
    service_state: offline
    unmount_volumes: true
    name: ansibleAggr
    disk_count: 10
    use_rest: never
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Manage Aggregates in REST, increase disk count.
  netapp.ontap.na_ontap_aggregate:
    state: present
    name: ansibleAggr
    disk_count: 20
    nodes: ontap-node
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Attach object store
  netapp.ontap.na_ontap_aggregate:
    state: present
    name: aggr4
    object_store_name: sgws_305
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Rename Aggregates
  netapp.ontap.na_ontap_aggregate:
    state: present
    service_state: online
    from_name: ansibleAggr
    name: ansibleAggr2
    disk_count: 20
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Delete Aggregates
  netapp.ontap.na_ontap_aggregate:
    state: absent
    service_state: offline
    unmount_volumes: true
    name: ansibleAggr
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

作者

  • NetApp Ansible 团队 (@carchi8py)