Skip to main content
BeeGFS on NetApp with E-Series Storage
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置BeeGFS客户端

贡献者

您必须在需要访问BeeGFS文件系统的任何主机上安装和配置BeeGFS客户端、例如计算或GPU节点。在此任务中、您可以使用Ansible和BeeGFS收集。

步骤
  1. 如果需要、请从Ansible控制节点向要配置为BeeGFS客户端的每个主机设置无密码SSH:

    ssh-copy-id <user>@<HOSTNAME_OR_IP>

  2. 在`host_vars/下、为名为<HOSTNAME>.yml`的每个BeeGFS客户端创建一个包含以下内容的文件、并使用适用于您环境的正确信息填写占位符文本:

    # BeeGFS Client
    ansible_host: <MANAGEMENT_IP>
    # OPTIONAL: If you want to use the NetApp E-Series Host Collection’s IPoIB role to configure InfiniBand interfaces for clients to connect to BeeGFS file systems:
    eseries_ipoib_interfaces:
      - name: <INTERFACE>
        address: <IP>/<SUBNET_MASK> # Example: 100.127.1.1/16
      - name: <INTERFACE>
        address: <IP>/<SUBNET_MASK>
    备注 如果使用双子网寻址方案进行部署、则必须在每个客户端上配置两个InfiniBand接口、两个存储IPoIB子网中的每一个都配置一个。如果为此处列出的每个BeeGFS服务使用示例子网和建议范围,则客户端应在到范围内配置一个接口,而在到范围内配置另一个接口 100.127.1.0 100.127.99.255 100.128.1.0 100.128.99.255
  3. 创建一个新文件`client_inventory.yml`、然后在顶部填充以下参数:

    # BeeGFS client inventory.
    all:
      vars:
        ansible_ssh_user: <USER> # This is the user Ansible should use to connect to each client.
        ansible_become_password: <PASSWORD> # This is the password Ansible will use for privilege escalation, and requires the ansible_ssh_user be root, or have sudo privileges.
    The defaults set by the BeeGFS HA role are based on the testing performed as part of this NetApp Verified Architecture and differ from the typical BeeGFS client defaults.
    备注 请勿以纯文本格式存储密码。请改用Ansible Vault (请参见的Ansible文档) "使用Ansible Vault加密内容")或在运行攻略手册时使用`-ask-pass-pass`选项。
  4. 在`client_inventory.yml`文件中、列出应在`beegfs_clients`组下配置为BeeGFS客户端的所有主机、然后指定构建BeeGFS客户端内核模块所需的任何其他配置。

      children:
        # Ansible group representing all BeeGFS clients:
        beegfs_clients:
          hosts:
            beegfs_01:
            beegfs_02:
            beegfs_03:
            beegfs_04:
            beegfs_05:
            beegfs_06:
            beegfs_07:
            beegfs_08:
            beegfs_09:
            beegfs_10:
          vars:
            # OPTION 1: If you’re using the NVIDIA OFED drivers and they are already installed:
            eseries_ib_skip: True # Skip installing inbox drivers when using the IPoIB role.
            beegfs_client_ofed_enable: True
            beegfs_client_ofed_include_path: "/usr/src/ofa_kernel/default/include"
            # OPTION 2: If you’re using inbox IB/RDMA drivers and they are already installed:
            eseries_ib_skip: True # Skip installing inbox drivers when using the IPoIB role.
            # OPTION 3: If you want to use inbox IB/RDMA drivers and need them installed/configured.
            eseries_ib_skip: False # Default value.
            beegfs_client_ofed_enable: False # Default value.
    备注 使用NVIDIA OFED驱动程序时、请确保 beegfs_client_ofed_include_path 指向适用于您的Linux安装的正确"headerinclude path"。有关详细信息,请参见的BeeGFS文档 "RDMA支持"
  5. 在`client_inventory.yml`文件中、列出要挂载到任何先前定义的`vars`底部的BeeGFS文件系统。

            beegfs_client_mounts:
              - sysMgmtdHost: 100.127.101.0 # Primary IP of the BeeGFS management service.
                mount_point: /mnt/beegfs    # Path to mount BeeGFS on the client.
                connInterfaces:
                  - <INTERFACE> # Example: ibs4f1
                  - <INTERFACE>
                beegfs_client_config:
                  # Maximum number of simultaneous connections to the same node.
                  connMaxInternodeNum: 128 # BeeGFS Client Default: 12
                  # Allocates the number of buffers for transferring IO.
                  connRDMABufNum: 36 # BeeGFS Client Default: 70
                  # Size of each allocated RDMA buffer
                  connRDMABufSize: 65536 # BeeGFS Client Default: 8192
                  # Required when using the BeeGFS client with the shared-disk HA solution.
                  # This does require BeeGFS targets be mounted in the default “sync” mode.
                  # See the documentation included with the BeeGFS client role for full details.
                  sysSessionChecksEnabled: false
    备注 beegfs_client_config`表示已测试的设置。有关所有选项的全面概述、请参见`netapp_eseries.beegfs`集合的`beegfs_client role附带的文档。其中包括有关挂载多个BeeGFS文件系统或多次挂载相同BeeGFS文件系统的详细信息。
  6. 创建新的`client_playbook.yml`文件、然后填充以下参数:

    # BeeGFS client playbook.
    - hosts: beegfs_clients
      any_errors_fatal: true
      gather_facts: true
      collections:
        - netapp_eseries.beegfs
        - netapp_eseries.host
      tasks:
        - name: Ensure IPoIB is configured
          import_role:
            name: ipoib
        - name: Verify the BeeGFS clients are configured.
          import_role:
            name: beegfs_client
    备注 如果您已在相应的IPoIB接口上安装了所需的IB/RDMA驱动程序和配置的IP、请省略导入`NetApp_E系列.host`集合和`IPoIB`角色。
  7. 要安装和构建客户端并挂载BeeGFS、请运行以下命令:

    ansible-playbook -i client_inventory.yml client_playbook.yml
  8. 在将BeeGFS文件系统投入生产之前、我们*强烈*建议您登录到任何客户端并运行`beegfs-fsck -checkfs`以确保所有节点均可访问且未报告任何问题。