2.9. Ceph OSD のファイアウォール設定
デフォルトでは、Ceph OSD は、ポート 6800 から順に Ceph ノードで最初に利用可能なポートにバインドします。ノード上で動作する各 OSD に対して、6800 番ポート以降の少なくとも 4 つのポートを開くようにしてください。
- 1 つはパブリックネットワーク上のクライアントおよびモニターとの通信用
- 1 つはクラスターネットワーク上の他の OSD へのデータ送信用
- 2 つはクラスターネットワーク上でのハートビートパケット送信用
ポートはノードごとに異なります。ただし、プロセスが再起動されてバインドされたポートが解放されない場合には、その Ceph ノードで実行されている Ceph デーモンが必要とするポート数よりも多くのポートを開く必要があるかもしれません。デーモンに障害が発生し、ポートを解放せずに再起動した場合に、再起動したデーモンが新しいポートにバインドするように、さらにいくつかのポートを開くことを検討してください。また、各 OSD ノードでポート範囲 6800: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
クラスターネットワークを別のゾーンに配置した場合は、そのゾーン内のポートを適切に開きます。