配置单个文件节点
使用主机变量(host_vars)指定各个文件节点的配置。
概述
本节将逐步介绍填充 host_vars/<FILE_NODE_HOSTNAME>.yml
集群中每个文件节点的文件。这些文件只能包含特定文件节点独有的配置。这通常包括:
-
定义Ansible连接到节点时应使用的IP或主机名。
-
配置用于HA集群服务(Pacemaker和Corosync)的其他接口和集群IP、以便与其他文件节点进行通信。默认情况下、这些服务与管理接口使用相同的网络、但应提供更多接口以实现冗余。通常的做法是、在存储网络上定义其他IP、从而避免需要额外的集群或管理网络。
-
用于集群通信的任何网络的性能对于文件系统性能并不重要。使用默认集群配置时、通常至少1 Gb/秒的网络可为集群操作(例如同步节点状态和协调集群资源状态更改)提供足够的性能。慢速/繁忙网络可能会使发生原因 资源状态发生变化、所需时间比平常要长、在极端情况下、如果节点无法在合理的时间范围内发送检测信号、可能会导致节点被逐出集群。
-
-
配置用于通过所需协议连接到块节点的接口(例如:iSCSI/iSER、NVMe/IB、NVMe/RoCE、FCP等)
步骤
请参考"规划文件系统"本节中定义的IP寻址方案、为集群中的每个文件节点创建一个文件 `host_vars/<FILE_NODE_HOSTNAME>/yml`并按如下所示进行填充:
-
在顶部、指定Ansible通过SSH连接到节点并对其进行管理时应使用的IP或主机名:
ansible_host: "<MANAGEMENT_IP>"
-
配置可用于集群流量的其他IP:
-
网络类型为 "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>
-
-
指示哪些IP应用于集群流量、优先IP列在上面:
beegfs_ha_cluster_node_ips: - <MANAGEMENT_IP> # Including the management IP is typically but not required. - <IP_ADDRESS> # Ex: 100.127.100.1 - <IP_ADDRESS> # Additional IPs as needed.
步骤2中配置的IP不会用作集群IP、除非它们包含在中 beegfs_ha_cluster_node_ips
列表这样、您就可以使用Ansible配置其他IP /接口、如果需要、这些IP /接口可用于其他目的。 -
如果文件节点需要通过基于IP的协议与块节点进行通信、则需要在相应的接口上配置IP、并安装/配置该协议所需的任何软件包。
-
如果使用 "iSCSI":
eseries_iscsi_interfaces: - name: <INTERFACE> # Example: eth0. address: <IP/SUBNET> # Example: 100.127.100.1/16
-
如果使用 "iSER":
eseries_ib_iser_interfaces: - name: <INTERFACE> # Example: ib0. address: <IP/SUBNET> # Example: 100.127.100.1/16 configure: true # If the file node is directly connected to the block node set to true to setup OpenSM.
-
如果使用 "NVMe/IB":
eseries_nvme_ib_interfaces: - name: <INTERFACE> # Example: ib0. address: <IP/SUBNET> # Example: 100.127.100.1/16 configure: true # If the file node is directly connected to the block node set to true to setup OpenSM.
-
如果使用 "NVMe/RoCE":
eseries_nvme_roce_interfaces: - name: <INTERFACE> # Example: eth0. address: <IP/SUBNET> # Example: 100.127.100.1/16
-
其他协议:
-
单击 "此处" 有关表示单个文件节点的完整清单文件的示例。
高级:在以太网模式和InfiniBand模式之间切换NVIDIA ConnectX VPI适配器
NVIDIA ConnectX-Virtual Protocol Interconnect & reg;(VPI)适配器既支持InfiniBand、也支持以太网作为传输层。不会自动协商模式之间的切换,必须使用中包含的工具进行配置 mstconfig
,该工具 mstflint`是的一个开放源代码软件包 "NVIDIA软件工具(MFT)"。只需更改一次适配器的模式即可。这可以手动完成、也可以作为使用清单部分配置的任何接口的一部分包含在Ands得以 自动检查/应用的清单中 `eseries-[ib|ib_iser|ipoib|nvme_ib|nvme_roce|roce]_interfaces:
。
例如、要将InfiniBand模式下的接口电流更改为以太网、以便用于RoCE:
-
对于要配置的每个接口、请指定
mstconfig
作为指定的映射(或词典)LINK_TYPE_P<N>
其中:<N>
由接口的HCA端口号决定。。<N>
可以通过运行来确定值grep PCI_SLOT_NAME /sys/class/net/<INTERFACE_NAME>/device/uevent
并从PCI插槽名称中将1添加到最后一个数字、然后转换为十进制值。-
例如给定
PCI_SLOT_NAME=0000:2f:00.2
(2 + 1 → HCA端口3)→LINK_TYPE_P3: eth
:eseries_roce_interfaces: - name: <INTERFACE> address: <IP/SUBNET> mstconfig: LINK_TYPE_P3: eth
-
有关更多详细信息、请参见 "NetApp E系列主机集合的文档" 所使用的接口类型/协议。