简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用 Ansible 安装 SolidFire ESDS

提供者

您可以使用 Ansible 等自动化工具安装 SolidFire ESDS 。如果您非常熟悉 Ansible ,则可以创建一本 Ansible 攻略手册,该攻略手册将多项任务结合在一起,例如安装 SolidFire ESDS 和创建集群。

您需要什么? #8217 ;将需要什么
  • 您已按照提供的说明在本地服务器上安装 Ansible "此处"

  • 您已熟悉 Ansible 角色。请参见 "此处"

  • 您已执行列出的所有前提条件任务 "此处"

  • 您已对 SolidFire ESDS 运行合规性检查。有关如何运行合规性检查的说明,请参见 "此处"

使用 Ansible Vault 获取敏感信息,例如密码,而不是使用纯文本。有关详细信息,请参见以下链接:

重要 您应在清单文件中指定所有必需的变量,而不是在攻略手册中指定。
步骤
  1. 运行 Ansible galaxy install 命令安装 NAR_solidfire_SDS_install 角色。

    ansible-galaxy install git+https://github.com/NetApp-Automation/nar_solidfire_sds_install.git

    您也可以通过从中复制角色来手动安装该角色 "NetApp GitHub 存储库" 并将角色放置在 ~ /.Ansible 目录中。NetApp 提供了一个自述文件,其中包含有关如何运行角色的信息。

    注 确保您始终下载最新版本的角色。
  2. 将已下载的角色上移一个安装它们的目录。

     $ mv ~/.ansible/roles/ansible/nar_solidfire_sds_* ~/.ansible/roles/
  3. 运行 Ansible - galxy role list 命令,以确保 Ansible 已配置为使用新角色。

     $ ansible-galaxy role list
     # ~/.ansible/roles
     - nar_solidfire_sds_install, (unknown version)
     - nar_solidfire_sds_upgrade, (unknown version)
     - ansible, (unknown version)
     - nar_solidfire_sds_compliance, (unknown version)
     - nar_solidfire_cluster_config, (unknown version)
     - nar_solidfire_sds_uninstall, (unknown version)
    注 与角色关联的 README 文件包含一个列表,其中列出了您应定义的所有必需变量和可选变量,如下所示:
    显示了一个示例攻略手册。

    您应在清单文件中定义这些变量,此文件将在下一步中创建。

  4. 在 Ansible 工作目录中创建清单文件。

    提示 在清单文件中,您应包括要安装 SolidFire ESDS 的所有主机(节点)。通过清单文件,您可以通过攻略手册(您将在下一步创建此攻略手册)使用一个命令来管理多个主机。此外,还应定义变量,例如存储节点的用户名和密码,管理接口和存储接口的名称等。
    重要

    请确保对清单文件遵循以下准则: * 请对设备名称使用正确的拼写。* 在文件中使用正确的格式。确保只有一个 cachDevice 。* 使用列表指定 storage_devices 。

    注 此处提供的示例包含 HPE 服务器的存储和管理接口名称。如果您使用的是 Dell 服务器,则缓存设备名称为 nvme1n1 。对于 Dell 服务器, mgmt_iface 为 team1G , storage_iface 为 team10G 。

    下面显示了一个清单文件示例。它包括四个存储节点。在此示例中,将 * 存储节点 MIP* 替换为存储节点的 MIP 地址,并替换 "&" 以及存储节点的用户名和密码。

    all:
        hosts:
            storage node MIP:
            storage node MIP:
            storage node MIP:
            storage node MIP:
        vars:
            ansible_connection: ssh
            ansible_ssh_common_args: -o StrictHostKeyChecking=no
            ansible_user: *****
            ansible_ssh_pass: *****
            solidfire_element_rpm: http://sf-artifactory.solidfire.net/artifactory/crux/solidfire-element-**.*.*.***-*.***.x86_64.rpm
            mgmt_iface: "team0"
            storage_iface: "team1"
            storage_devices:
              - "/dev/nvme0n1"
              - "/dev/nvme1n1"
              - "/dev/nvme2n1"
              - "/dev/nvme3n1"
              - "/dev/nvme4n1"
              - "/dev/nvme5n1"
              - "/dev/nvme6n1"
              - "/dev/nvme7n1"
              - "/dev/nvme8n1"
            cache_devices:
              - "/dev/nvme9n1"
  5. 对清单文件中定义的主机(节点)执行 Ping 操作,以验证 Ansible 是否可以与其通信。

  6. 将 Red Hat Package Manager ( RPM )文件下载到本地 Web 服务器上的文件目录中,此服务器可从运行 Ansible 的服务器和存储节点访问。

  7. 创建 Ansible 攻略手册。如果您已经有攻略手册,可以对其进行修改。您可以使用 NetApp 提供的 README 文件中的示例。

  8. 运行上一步创建的攻略手册,安装 SolidFire ESDS :

     $ ansible-playbook -i inventory.yaml sample_playbook.yaml

    将 * 样本 _playbook.yaml* 替换为攻略手册的名称,将 * 清单 .yaml* 替换为清单文件的名称。运行攻略手册会在清单文件中列出的每个节点上创建 sf_sSD_config.yaml 文件。它还会在每个存储节点上安装和启动 SolidFire 服务。有关 sf_sSD_config.yaml 的详细信息,请参见 "此处"

  9. 检查控制台中的 Ansible 输出,以确保已在每个节点上启动 SolidFire 服务。

    以下是输出示例:

    TASK [nar_solidfire_sds_install : Ensure the SolidFire eSDS service is started] *********************************************************************************************
    
    changed: [10.61.68.52]
    
    changed: [10.61.68.54]
    
    changed: [10.61.68.51]
    
    changed: [10.61.68.53]
    
    
    
    PLAY RECAP ******************************************************************************************************************************************************************
    
    10.61.68.51                : ok=12   changed=3    unreachable=0
    failed=0    skipped=10   rescued=0    ignored=0
    
    10.61.68.52                : ok=12   changed=3    unreachable=0
    failed=0    skipped=10   rescued=0    ignored=0
    
    10.61.68.53                : ok=12   changed=3    unreachable=0
    failed=0    skipped=10   rescued=0    ignored=0
    
    10.61.68.54                : ok=12   changed=3    unreachable=0
    failed=0    skipped=10   rescued=0    ignored=0
  10. 要验证 SolidFire 服务是否已正确启动,请运行 systemctl status SolidFire 命令,并在输出中检查 Active : active ( exted…​ ) …​