配置主机网络( Red Hat Enterprise Linux 或 CentOS )
在主机上完成 Linux 安装后,您可能需要执行一些额外的配置,以便在每个主机上准备一组适合映射到稍后要部署的 StorageGRID 节点的网络接口。
-
您已查看 StorageGRID 网络连接准则。
-
您已查看有关的信息 节点容器迁移要求。
-
如果您使用的是虚拟主机,则已阅读 MAC 地址克隆的注意事项和建议 配置主机网络之前。
如果要使用 VM 作为主机,则应选择 VMXNET 3 作为虚拟网络适配器。VMware E1000 网络适配器已导致在某些 Linux 版本上部署 StorageGRID 容器时出现连接问题。 |
网格节点必须能够访问网格网络,还可以访问管理网络和客户端网络。您可以通过创建映射来提供此访问权限,此映射会将主机的物理接口与每个网格节点的虚拟接口相关联。创建主机接口时,请使用友好名称以方便在所有主机之间进行部署,并启用迁移。
同一接口可以在主机与一个或多个节点之间共享。例如,您可以使用相同的接口进行主机访问和节点管理网络访问,以便于维护主机和节点。尽管主机和各个节点之间可以共享同一接口,但所有接口都必须具有不同的 IP 地址。不能在节点之间或主机与任何节点之间共享 IP 地址。
您可以使用相同的主机网络接口为主机上的所有 StorageGRID 节点提供网格网络接口;可以为每个节点使用不同的主机网络接口;也可以在这两者之间执行操作。但是,通常不会提供与单个节点的网格和管理网络接口相同的主机网络接口,也不会提供与一个节点的网格网络接口和另一个节点的客户端网络接口相同的主机网络接口。
您可以通过多种方式完成此任务。例如,如果您的主机是虚拟机,而您要为每个主机部署一个或两个 StorageGRID 节点,则只需在虚拟机管理程序中创建正确数量的网络接口并使用一对一映射即可。如果要在裸机主机上部署多个节点以供生产使用,则可以利用 Linux 网络堆栈对 VLAN 和 LACP 的支持来实现容错和带宽共享。以下各节详细介绍了这两个示例的方法。您无需使用上述任一示例;您可以使用任何满足您需求的方法。
请勿直接使用绑定或网桥设备作为容器网络接口。这样做可能会阻止内核问题描述 在容器命名空间中对绑定和网桥设备使用 MACVLAN 导致节点启动。请改用非绑定设备,例如 VLAN 或虚拟以太网( Veth )对。在节点配置文件中指定此设备作为网络接口。 |
MAC 地址克隆的注意事项和建议
MAC 地址克隆会使容器使用主机的 MAC 地址,而主机则使用您指定的地址或随机生成的地址的 MAC 地址。您应使用 MAC 地址克隆来避免使用混杂模式网络配置。
启用 MAC 克隆
在某些环境中,可以通过 MAC 地址克隆来增强安全性,因为它使您可以对管理网络,网格网络和客户端网络使用专用虚拟 NIC 。让容器使用主机上专用 NIC 的 MAC 地址可以避免使用混杂模式网络配置。
MAC 地址克隆用于安装虚拟服务器,可能无法在所有物理设备配置中正常运行。 |
如果某个节点由于 MAC 克隆目标接口繁忙而无法启动,则在启动节点之前,您可能需要将链路设置为 " 关闭 " 。此外,在链路启动时,虚拟环境可能会阻止网络接口上的 MAC 克隆。如果某个节点由于接口繁忙而无法设置 MAC 地址并启动,则在启动该节点之前将链路设置为 " 关闭 " 可能会修复问题描述 。 |
默认情况下, MAC 地址克隆处于禁用状态,必须通过节点配置密钥进行设置。您应在安装 StorageGRID 时启用它。
每个网络有一个密钥:
-
admin_network_target_type_interface_clone_MAC
-
grid_network_target_type_interface_clone_MAC
-
client_network_target_type_interface_clone_MAC
如果将密钥设置为 "true" ,则容器将使用主机 NIC 的 MAC 地址。此外,主机将使用指定容器网络的 MAC 地址。默认情况下,容器地址是随机生成的地址,但如果您使用 ` _network_MAC` 节点配置密钥设置了一个地址,则会改用该地址。主机和容器始终具有不同的 MAC 地址。
在虚拟主机上启用 MAC 克隆而不同时在虚拟机管理程序上启用混杂模式可能会使用主机的接口发生原因 Linux 主机网络连接停止工作。 |
Mac 克隆使用情形
MAC 克隆需要考虑两种使用情形:
-
未启用 MAC 克隆:如果节点配置文件中的 ` clone_mac` 密钥未设置或设置为 "false" ,则主机将使用主机 NIC MAC ,并且容器将具有 StorageGRID 生成的 MAC ,除非在 ` _network_mac` 密钥中指定了 MAC 。如果在 ` _network_MAC` 项中设置了地址,则容器将具有在 ` _network_MAC` 项中指定的地址。此密钥配置要求使用混杂模式。
-
已启用 MAC 克隆:如果节点配置文件中的 ` clone_mac` 密钥设置为 "true" ,则容器将使用主机 NIC MAC ,而主机将使用 StorageGRID 生成的 MAC ,除非在 ` _network_mac` 密钥中指定了 MAC 。如果在 ` _network_MAC` 项中设置了地址,则主机将使用指定的地址,而不是生成的地址。在此密钥配置中,不应使用混杂模式。
如果您不希望使用 MAC 地址克隆,而希望允许所有接口接收和传输非虚拟机管理程序分配的 MAC 地址的数据, 对于配置模式, MAC 地址更改和伪造传输,请确保虚拟交换机和端口组级别的安全属性设置为 * 接受 * 。虚拟交换机上设置的值可以被端口组级别的值覆盖,因此请确保这两个位置的设置相同。 |
要启用 MAC 克隆,请参见 有关创建节点配置文件的说明。
Mac 克隆示例
在 MAC 地址为 11 : 22 : 33 : 44 : 55 : 66 的主机上为接口 ens256 启用 MAC 克隆的示例,以及节点配置文件中的以下密钥:
-
admin_network_target = ens256
-
admin_network_MAC = B2 : 9c : 02 : C2 : 27 : 10
-
admin_network_target_type_interface_clone_MAC = true
-
结果 * : ens256 的主机 MAC 为 B2 : 9c : 02 : C2 : 27 : 10 ,管理网络 MAC 为 11 : 22 : 33 : 44 : 55 : 66
示例 1 :映射到物理或虚拟 NIC 的一对一映射
示例 1 介绍了一个简单的物理接口映射,该映射只需要很少的主机端配置或根本不需要主机端配置。
在安装或启动期间或热添加接口时, Linux 操作系统会自动创建 ensXYZ
接口。除了确保接口设置为在启动后自动启动之外,无需进行任何配置。您必须确定哪个 ensXYZ
对应于哪个 StorageGRID 网络(网格,管理员或客户端),以便稍后在配置过程中提供正确的映射。
请注意,此图显示了多个 StorageGRID 节点;但是,通常情况下,您会对单节点 VM 使用此配置。
如果交换机 1 是物理交换机,则应将连接到接口 10G1 到 10G3 的端口配置为访问模式,并将其放置在相应的 VLAN 上。
示例 2 : LACP 绑定传输 VLAN
示例 2 假定您熟悉绑定网络接口以及在所使用的 Linux 分发版上创建 VLAN 接口。
示例 2 介绍了一种基于 VLAN 的通用灵活方案,该方案有助于在单个主机上的所有节点之间共享所有可用网络带宽。此示例尤其适用于裸机主机。
要了解此示例,假设每个数据中心有三个单独的网格网络,管理员网络和客户端网络子网。子网位于不同的 VLAN ( 1001 , 1002 和 1003 )上,并通过 LACP 绑定的中继端口( bond0 )提供给主机。您应在此绑定上配置三个 VLAN 接口: bond0.1001 , bond0.1002 和 bond0.1003 。
如果同一主机上的节点网络需要单独的 VLAN 和子网,则可以在绑定上添加 VLAN 接口并将其映射到主机(如图中的 bond0.1004 所示)。
-
将用于 StorageGRID 网络连接的所有物理网络接口聚合到一个 LACP 绑定中。
对每个主机上的绑定使用相同的名称。例如,
bond0
。 -
使用标准 VLAN 接口命名约定
physdev-name.vlan ID
创建使用此绑定作为关联 "`物理设备,` " 的 VLAN 接口。请注意,步骤 1 和 2 要求对终止网络链路另一端的边缘交换机进行适当配置。此外,边缘交换机端口还必须聚合到 LACP 端口通道中,并配置为中继,并允许通过所有必需的 VLAN 。
本文档提供了此每主机网络配置方案的示例接口配置文件。