4.5. 为 Ceph 节点配置多个绑定接口
使用绑定接口来组合多个 NIC,并为网络连接添加冗余。如果您在 Ceph 节点上有足够的 NIC,可以在每个节点上创建多个绑定接口来扩展冗余能力。
然后,您可以对节点需要的每个网络连接使用绑定接口。这可为每个网络提供冗余和专用连接。
绑定接口的最简单实施涉及使用两个绑定,一个用于 Ceph 节点使用的每个存储网络。这些网络如下:
- 前端存储网络(
StorageNet) - Ceph 客户端使用此网络与对应的 Ceph 集群交互。
- 后端存储网络(
StorageMgmtNet) - Ceph 集群使用此网络来根据集群的放置组策略平衡数据。有关更多信息,请参阅 Red Hat Ceph 架构指南中的 放置组(PG)。
要配置多个绑定接口,您必须创建新的网络接口模板,因为 director 不提供任何可用于部署多个绑定 NIC 的样本模板。但是,director 提供部署单个绑定接口的模板。此模板是 /usr/share/openstack-tripleo-heat-templates/network/bond-with-vlans/ceph-storage.yaml。您可以在此模板中为额外 NIC 定义一个额外的绑定接口。
有关创建自定义接口模板的更多信息,请参阅高级 Overcloud 自定义指南中的 创建自定义 接口模板。
以下片段包含在 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml 文件中定义的单个绑定接口的默认定义:
- 1
- 名为
br-bond的单个网桥包含此模板中定义的绑定。此行定义网桥类型,即 OVS。 - 2
br-bond网桥的第一个成员是名为bond1的绑定接口本身。此行定义bond1的绑定类型,这也是 OVS。- 3
- 默认绑定名为
bond1。 - 4
ovs_options条目指示 director 使用一组特定的绑定模块指令。这些指令通过BondInterfaceOvsOptions传递,您也可以在此文件中配置这些指令。有关配置绑定模块指令的详情请参考 第 4.5.1 节 “配置绑定模块指令”。- 5
- 绑定的
members部分定义了哪些网络接口由bond1绑定。在本例中,绑定接口使用nic2(设置为主接口)和nic3。 - 6
br-bond网桥有两个成员:一个用于前端(StorageNetwork)和后端(StorageMgmtNetwork)存储网络的 VLAN。- 7
device参数定义 VLAN 应使用的设备。在本例中,两个 VLAN 使用绑定接口bond1。
对于至少两个 NIC,您可以定义一个额外的网桥和绑定接口。然后,您可以将其中一个 VLAN 移到新的绑定接口,这会增加两个存储网络连接的吞吐量和可靠性。
当您自定义 /usr/share/openstack-tripleo-heat-templates/network/bond-with-vlans/ceph-storage.yaml 文件时,红帽建议您使用 Linux 绑定(type: linux_bond )而不是默认的 OVS (类型: ovs_bond)。这个绑定类型更适合于企业生产部署。
以下编辑的代码片段定义了额外的 OVS 网桥(br-bond2),它负责存储名为 bond2 的新 Linux 绑定。bond2 接口使用两个额外的 NIC,nic4 和 nic5,它仅用于后端存储网络流量:
- 1
- 因为
bond1和bond2都是 Linux 绑定(而不是 OVS),它们使用bonding_options而不是ovs_options来设置绑定指令。更多信息请参阅 第 4.5.1 节 “配置绑定模块指令”。
有关此自定义模板的完整内容,请参阅 附录 B, 自定义接口模板示例:多个绑定接口。
4.5.1. 配置绑定模块指令 复制链接链接已复制到粘贴板!
添加并配置绑定接口后,使用 BondInterfaceOvsOptions 参数来设置您希望每个绑定接口使用的指令。您可以在 /usr/share/openstack-tripleo-heat-templates/network/config/bond-with-vlans/ceph-storage.yaml 文件的 parameter : 部分找到此信息。以下片段显示了此参数的默认定义(即空):
在 default: 行中定义您需要的选项。例如,要使用 802.3ad(模式 4)和 LACP 速率 1 (fast),使用 'mode=4 lacp_rate=1':
有关其他支持的绑定选项的更多信息,请参阅高级 Overcloud 优化 指南中的 Open vSwitch 绑定选项。有关自定义 /usr/share/openstack-tripleo-heat-templates/network/bond-with-vlans/ceph-storage.yaml 模板的完整内容,请参阅 附录 B, 自定义接口模板示例:多个绑定接口。