配置主机网络(Ubuntu 或 Debian)
在主机上完成 Linux 安装后,您可能需要执行一些额外的配置,以在每个主机上准备一组适合映射到您稍后部署的StorageGRID节点的网络接口。
-
您已审阅"StorageGRID网络指南"。
-
您已查看有关"节点容器迁移要求"。
-
如果您正在使用虚拟主机,则您已阅读MAC 地址克隆的注意事项和建议在配置主机网络之前。
|
如果您使用虚拟机作为主机,则应选择 VMXNET 3 作为虚拟网络适配器。 VMware E1000 网络适配器导致在某些 Linux 发行版上部署的StorageGRID容器出现连接问题。 |
网格节点必须能够访问网格网络,以及可选的管理和客户端网络。您可以通过创建将主机的物理接口与每个网格节点的虚拟接口相关联的映射来提供此访问。创建主机接口时,使用友好名称以便于跨所有主机部署并实现迁移。
主机和一个或多个节点之间可以共享相同的接口。例如,您可能使用相同的接口进行主机访问和节点管理网络访问,以方便主机和节点维护。尽管主机和各个节点之间可以共享相同的接口,但所有节点都必须具有不同的 IP 地址。 IP 地址不能在节点之间或主机和任何节点之间共享。
您可以使用相同的主机网络接口为主机上的所有StorageGRID节点提供网格网络接口;您可以为每个节点使用不同的主机网络接口;或者您可以在两者之间做一些事情。但是,您通常不会为单个节点提供相同的主机网络接口作为网格网络接口和管理网络接口,或者为一个节点提供相同的主机网络接口作为网格网络接口并为另一个节点提供相同的客户端网络接口。
您可以通过多种方式完成此任务。例如,如果您的主机是虚拟机,并且您为每个主机部署一个或两个StorageGRID节点,则可以在虚拟机管理程序中创建正确数量的网络接口,并使用一对一映射。如果您在裸机主机上部署多个节点以供生产使用,则可以利用 Linux 网络堆栈对 VLAN 和 LACP 的支持来实现容错和带宽共享。以下部分提供了这两个示例的详细方法。您不需要使用其中任何一个示例;您可以使用任何满足您需求的方法。
|
不要直接使用绑定或桥接设备作为容器网络接口。这样做可以防止由于容器命名空间中结合使用 MACVLAN 和桥接设备而导致的内核问题而导致的节点启动。相反,使用非绑定设备,例如 VLAN 或虚拟以太网 (veth) 对。在节点配置文件中将此设备指定为网络接口。 |
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`钥匙。如果在 `_NETWORK_MAC`键,容器将具有在 `_NETWORK_MAC`钥匙。这种密钥配置需要使用混杂模式。
-
启用 MAC 克隆:当 `_CLONE_MAC`节点配置文件中的键设置为“true”,容器使用主机 NIC MAC,主机使用StorageGRID生成的 MAC,除非在 `_NETWORK_MAC`钥匙。如果在 `_NETWORK_MAC`密钥,主机使用指定的地址而不是生成的地址。在这种密钥配置中,您不应该使用混杂模式。
|
如果您不想使用 MAC 地址克隆,而是允许所有接口接收和传输除虚拟机管理程序分配的 MAC 地址之外的 MAC 地址的数据,请确保虚拟交换机和端口组级别的安全属性设置为混杂模式、MAC 地址更改和伪造传输的 接受。虚拟交换机上设置的值可能会被端口组级别的值覆盖,因此请确保两个地方的设置相同。 |
要启用 MAC 克隆,请参阅"创建节点配置文件的说明"。
MAC 克隆示例
启用 MAC 克隆的示例,其中主机的 MAC 地址为 11:22:33:44:55:66,接口为 ens256,节点配置文件中包含以下键:
-
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节点;但是,您通常会将此配置用于单节点虚拟机。
如果交换机 1 是物理交换机,则应将连接到接口 10G1 至 10G3 的端口配置为访问模式,并将它们放置在适当的 VLAN 上。
示例 2:承载 VLAN 的 LACP 绑定
示例 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 接口命名约定创建使用此绑定作为其关联“物理设备”的 VLAN 接口
physdev-name.VLAN ID
。请注意,步骤 1 和 2 需要在终止网络链路另一端的边缘交换机上进行适当的配置。边缘交换机端口也必须聚合到 LACP 端口通道中,配置为主干,并允许传递所有必需的 VLAN。
提供了针对每个主机网络配置方案的示例接口配置文件。