Skip to main content
BeeGFS on NetApp with E-Series Storage
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

部署BeeGFS用戶端

貢獻者

(可選)Ansible可用於配置BeeGFS客戶端並掛載文件系統。

總覽

存取BeeGFS檔案系統時、必須在需要掛載檔案系統的每個節點上安裝及設定BeeGFS用戶端。本節說明如何使用可用的執行這些工作 "Ansible角色"

步驟

建立用戶端庫存檔案

  1. 如有需要、請從Ansible控制節點設定無密碼SSH、並將其設定為BeeGFS用戶端的每個主機:

    ssh-copy-id <user>@<HOSTNAME_OR_IP>
  2. 低於 host_vars/、為每個BeeGFS用戶端建立一個名為的檔案 <HOSTNAME>.yml 在下列內容中、以適合您環境的正確資訊填寫預留位置文字:

    # BeeGFS Client
    ansible_host: <MANAGEMENT_IP>
  3. 如果您想要使用NetApp E系列主機集合的角色來設定InfiniBand或乙太網路介面、以便用戶端連線至BeeGFS檔案節點、也可以選擇加入下列其中一項:

    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(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_of_ofed_include_path 指向 Linux 安裝的正確「 header include path 」。如需詳細資訊,請參閱的 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 將放置/維護在的Ansible控制節點上 <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用戶端教戰手冊檔案

  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. 如果您使用的是透過整合式乙太網路(RoCE)的RDMA:

          - 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用戶端教戰手冊

若要安裝/建置用戶端及Mount BeeGFS、請執行下列命令:

ansible-playbook -i client_inventory.yml client_playbook.yml