2.9. Ceph OSD의 방화벽 설정
기본적으로 Ceph OSD는 포트 6800부터 Ceph 노드의 첫 번째 사용 가능한 포트에 바인딩됩니다. 노드에서 실행되는 각 OSD의 포트 6800에서 최소 4개의 포트를 열어야 합니다.
- 하나는 공용 네트워크의 클라이언트 및 모니터와 통신하기 위한 것입니다.
- 클러스터 네트워크의 다른 OSD에 데이터를 보내는 것입니다.
- 클러스터 네트워크에서 하트비트 패킷을 보내는 2개.
포트는 노드별로 다릅니다. 그러나 프로세스가 다시 시작되고 바인딩된 포트가 릴리스되지 않는 경우 해당 Ceph 노드에서 실행 중인 Ceph 데몬에 필요한 포트 수보다 많은 포트를 열어야 할 수 있습니다. 재시작된 데몬이 새 포트에 바인딩되어 포트를 해제하지 않고 데몬이 실패하는 경우 몇 가지 추가 포트를 여는 것이 좋습니다. 또한 6800의 포트 범위를 여는 것이 좋습니다.각 OSD 노드의 7300.
별도의 공용 네트워크와 클러스터 네트워크를 설정하는 경우 클라이언트가 공용 네트워크를 사용하여 연결되고 다른 Ceph OSD 데몬이 클러스터 네트워크를 사용하여 연결되므로 공용 네트워크와 클러스터 네트워크 모두에 대한 규칙을 추가해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph 소프트웨어 리포지토리에 액세스할 수 있습니다.
- Ceph OSD 노드에 대한 루트 수준 액세스.
절차
다음 예제를 사용하여 규칙을 추가합니다.
[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
클러스터 네트워크를 다른 영역에 배치하는 경우 해당 영역의 포트를 적절하게 엽니다.