2.9. Ceph OSD 的防火墙设置
默认情况下,Ceph OSD 绑定到从 6800 端口开始的 Ceph 节点上第一个可用端口。确保对于节点上运行的每个 OSD,至少打开从端口 6800 开始的四个端口:
- 一个用于与公共网络上的客户端和监控器进行通信。
- 一个用于将数据发送到集群网络上的其他 OSD。
- 两个用于在集群网络上发送心跳的数据包。
端口特定于节点。但是,如果进程重启并且绑定端口没有释放绑定端口,您可能需要打开比该 Ceph 节点上运行的端口所需的端口数量。当守护进程失败并重启而不释放端口,以便重启的守护进程绑定到新端口时,请考虑打开一些额外的端口。另外,请考虑在每个 OSD 节点上打开 6800-7300 端口范围。
如果设置了单独的公共和集群网络,您必须同时为公共网络和集群网络添加规则,因为客户端将使用公共网络连接,其他 Ceph OSD 守护进程将使用集群网络进行连接。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 访问 Ceph 软件存储库。
- 对 Ceph OSD 节点的 root 级别访问权限。
流程
使用以下示例添加规则:
[root@mon ~]# sudo iptables -A INPUT -i IFACE -m multiport -p tcp -s IP-ADDRESS/NETMASK --dports 6800:7300 -j ACCEPT
-
将
IFACE
替换为公共网络接口(如eth0
、eth1
等等)。 -
将
IP-ADDRESS
替换为公共网络的 IP 地址,将NETMASK
替换为公共网络的子网掩码。
-
将
对于
firewalld
守护进程,请执行以下操作:[root@mon ~] # firewall-cmd --zone=public --add-port=6800-7300/tcp [root@mon ~] # firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
如果将集群网络放在另一个区中,请根据需要在该区中打开端口。