Skip to main content
BeeGFS on NetApp with E-Series Storage
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

BeeGFSクライアントを導入します

共同作成者

また、Ansibleを使用してBeeGFSクライアントを設定し、ファイルシステムをマウントすることもできます。

概要

BeeGFSファイルシステムにアクセスするには、ファイルシステムをマウントする必要のある各ノードにBeeGFSクライアントをインストールして設定する必要があります。このセクションでは、使用可能なを使用してこれらのタスクを実行する方法について説明します "Ansibleのロール"

手順

クライアントインベントリファイルを作成します

  1. 必要に応じて、Ansibleコントロールノードから、BeeGFSクライアントとして設定する各ホストにパスワードなしのSSHを設定します。

    ssh-copy-id <user>@<HOSTNAME_OR_IP>
  2. の下 host_vars/`をクリックし、という名前のBeeGFSクライアントごとにファイルを作成します `<HOSTNAME>.yml 次の内容を使用して、プレースホルダテキストに環境に適した情報を入力します。

    # BeeGFS Client
    ansible_host: <MANAGEMENT_IP>
  3. NetApp Eシリーズホストコレクションのロールを使用して、クライアントがBeeGFSファイルノードに接続するためのInfiniBandインターフェイスまたはイーサネットインターフェイスを設定する場合は、オプションで次のいずれかを指定します。

    1. ネットワークタイプがの場合 "InfiniBand(IPoIBを使用)"

      eseries_ipoib_interfaces:
      - name: <INTERFACE>  # Example: ib0 or i1b
        address: <IP/SUBNET> # Example: 100.127.100.1/16
      - name: <INTERFACE>  # Additional interfaces as needed.
        address: <IP/SUBNET>
    2. ネットワークタイプがの場合 "RDMA over Converged Ethernet(RoCE)"

      eseries_roce_interfaces:
      - name: <INTERFACE>  # Example: eth0.
        address: <IP/SUBNET> # Example: 100.127.100.1/16
      - name: <INTERFACE>  # Additional interfaces as needed.
        address: <IP/SUBNET>
    3. ネットワークタイプがの場合 "イーサネット(TCPのみ、RDMAなし)"

      eseries_ip_interfaces:
      - name: <INTERFACE>  # Example: eth0.
        address: <IP/SUBNET> # Example: 100.127.100.1/16
      - name: <INTERFACE>  # Additional interfaces as needed.
        address: <IP/SUBNET>
  4. 新しいファイルを作成します client_inventory.yml さらに、Ansibleが各クライアントに接続するために使用するユーザを指定します。また、パスワードがAnsibleで権限の昇格(これにはが必要です ansible_ssh_user rootにするか、sudo権限を持っているか):

    # BeeGFS client inventory.
    all:
      vars:
        ansible_ssh_user: <USER>
        ansible_become_password: <PASSWORD>
    重要 パスワードをプレーンテキストで保存しないでください。代わりにAnsible Vaultを使用します(を参照してください) "Ansibleのドキュメント" Ansible Vaultを使用してコンテンツを暗号化する場合)またはを使用します --ask-become-pass プレイブックを実行する際のオプション。
  5. を参照してください client_inventory.yml ファイルに、の下でBeeGFSクライアントとして設定する必要があるすべてのホストをリストします beegfs_clients グループ化し、インラインコメントを参照して、BeeGFSクライアントカーネルモジュールをシステムに構築するために必要な追加設定のコメントを外します。

    children:
        # Ansible group representing all BeeGFS clients:
        beegfs_clients:
          hosts:
            <CLIENT HOSTNAME>:
            # Additional clients as needed.
    
          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のインストールに適した「ヘッダーインクルードパス」を指定していることを確認してください。詳細については、BeeGFSのドキュメントを参照してください "RDMAのサポート"
  6. を参照してください client_inventory.yml ファイルで、以前に定義した任意の下にマウントするBeeGFSファイルシステムを一覧表示します vars

            beegfs_client_mounts:
              - sysMgmtdHost: <IP ADDRESS>  # 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
            # Specify additional file system mounts for this or other file systems.
  7. BeeGFS 7.2.7および7.3.1以降で"接続認証"は、設定または明示的に無効にする必要があります。を指定するときに接続ベースの認証を設定する方法によっては"共通ファイルノード構成"、クライアント設定の調整が必要になる場合があります。

    1. デフォルトでは、HAクラスタ環境で自動的に接続認証が設定され、が生成されます connauthfile に配置/管理されます <INVENTORY>/files/beegfs/<sysMgmtdHost>_connAuthFile。デフォルトでは、BeeGFSクライアントの役割は、で定義したクライアントにこのファイルを読み取り/配布するように設定されています `client_inventory.yml`追加のアクションは必要ありません。

      1. 詳細オプションについては、に付属のすべてのデフォルト設定を参照してください "BeeGFSクライアントの役割"

    2. でカスタムシークレットを指定する場合は、を使用します beegfs_ha_conn_auth_secret で指定します client_inventory.yml ファイルも同様:

      beegfs_ha_conn_auth_secret: <SECRET>
    3. で接続ベースの認証を完全に無効にする場合は、を使用します beegfs_ha_conn_auth_enabled`で、を指定します `client_inventory.yml ファイルも同様:

      beegfs_ha_conn_auth_enabled: false

サポートされるパラメータの一覧およびその他の詳細については、を参照してください "BeeGFSクライアントの完全なドキュメント"。クライアントインベントリの完全な例については、をクリックしてください "こちらをご覧ください"

BeeGFS Client Playbookファイルを作成します

  1. 新しいファイルを作成します client_playbook.yml

    # BeeGFS client playbook.
    - hosts: beegfs_clients
      any_errors_fatal: true
      gather_facts: true
      collections:
        - netapp_eseries.beegfs
        - netapp_eseries.host
      tasks:
  2. オプション:NetApp Eシリーズホストコレクションのロールを使用して、クライアントがBeeGFSファイルシステムに接続するためのインターフェイスを設定する場合は、設定するインターフェイスタイプに対応するロールをインポートします。

    1. InfiniBand(IPoIB)を使用している場合は、次の手順を実行します。

          - name: Ensure IPoIB is configured
            import_role:
              name: ipoib
    2. を使用している環境でRDMA over Converged Ethernet(RoCE)を使用している場合:

          - name: Ensure IPoIB is configured
            import_role:
              name: roce
    3. 使用しているネットワークがイーサネット(TCPのみ、RDMAはなし)の場合:

          - name: Ensure IPoIB is configured
            import_role:
              name: ip
  3. 最後に、BeeGFSクライアントの役割をインポートしてクライアントソフトウェアをインストールし、ファイルシステムをマウントします。

        # REQUIRED: Install the BeeGFS client and mount the BeeGFS file system.
        - name: Verify the BeeGFS clients are configured.
          import_role:
            name: beegfs_client

クライアントのプレイブックの完全な例については、をクリックしてください "こちらをご覧ください"

BeeGFS Client Playbookを実行します

クライアントをインストール/ビルドしてBeeGFSをマウントするには、次のコマンドを実行します。

ansible-playbook -i client_inventory.yml client_playbook.yml