部署BeeGFS用戶端
(可選)Ansible可用於配置BeeGFS客戶端並掛載文件系統。
總覽
存取BeeGFS檔案系統時、必須在需要掛載檔案系統的每個節點上安裝及設定BeeGFS用戶端。本節說明如何使用可用的執行這些工作 "Ansible角色"。
步驟
建立用戶端庫存檔案
-
如有需要、請從Ansible控制節點設定無密碼SSH、並將其設定為BeeGFS用戶端的每個主機:
ssh-copy-id <user>@<HOSTNAME_OR_IP>
-
低於
host_vars/
、為每個BeeGFS用戶端建立一個名為的檔案<HOSTNAME>.yml
在下列內容中、以適合您環境的正確資訊填寫預留位置文字:# BeeGFS Client ansible_host: <MANAGEMENT_IP>
-
如果您想要使用NetApp E系列主機集合的角色來設定InfiniBand或乙太網路介面、以便用戶端連線至BeeGFS檔案節點、也可以選擇加入下列其中一項:
-
如果網路類型為 "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>
-
如果網路類型為 "融合式乙太網路上的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>
-
如果網路類型為 "乙太網路(僅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>
-
-
建立新檔案
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
執行教戰手冊時的選項。 -
在中
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支援"。 -
在中
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.
-
"連線驗證"必須設定或明確停用 BeeGFS 7.2.7 和 7.3.1 。根據您在指定時選擇如何設定連線型驗證"通用檔案節點組態"、您可能需要調整用戶端組態:
-
依預設、HA叢集部署會自動設定連線驗證、並產生
connauthfile
將放置/維護在的Ansible控制節點上<INVENTORY>/files/beegfs/<sysMgmtdHost>_connAuthFile
。根據預設、BeeGFS用戶端角色會設定為將此檔案讀取/散佈到中定義的用戶端client_inventory.yml
、而且不需要採取其他行動。-
如需進階選項、請參閱隨附的完整預設清單 "BeeGFS用戶端角色"。
-
-
如果您選擇使用來指定自訂密碼
beegfs_ha_conn_auth_secret
在中指定client_inventory.yml
檔案也包括:beegfs_ha_conn_auth_secret: <SECRET>
-
如果您選擇完全停用以連線為基礎的驗證
beegfs_ha_conn_auth_enabled
、在中指定client_inventory.yml
檔案也包括:beegfs_ha_conn_auth_enabled: false
-
如需支援參數的完整清單及其他詳細資料、請參閱 "完整的BeeGFS用戶端文件"。如需用戶端庫存的完整範例、請按一下 "請按這裡"。
建立BeeGFS用戶端教戰手冊檔案
-
建立新檔案
client_playbook.yml
# BeeGFS client playbook. - hosts: beegfs_clients any_errors_fatal: true gather_facts: true collections: - netapp_eseries.beegfs - netapp_eseries.host tasks:
-
選用:如果您想要使用NetApp E系列主機集合的角色來設定介面、讓用戶端連線至BeeGFS檔案系統、請匯入與您所設定介面類型對應的角色:
-
如果您使用的是InfiniBand(IPoIB):
- name: Ensure IPoIB is configured import_role: name: ipoib
-
如果您使用的是透過整合式乙太網路(RoCE)的RDMA:
- name: Ensure IPoIB is configured import_role: name: roce
-
如果您使用的是乙太網路(僅TCP、無RDMA):
- name: Ensure IPoIB is configured import_role: name: ip
-
-
最後匯入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