2.9. Ceph OSD のファイアウォール設定

デフォルトでは、Ceph OSD は、ポート 6800 から順に Ceph ノードで最初に利用可能なポートにバインドします。ノード上で動作する各 OSD に対して、6800 番ポート以降の少なくとも 4 つのポートを開くようにしてください。

  • 1 つはパブリックネットワーク上のクライアントおよびモニターとの通信用
  • 1 つはクラスターネットワーク上の他の OSD へのデータ送信用
  • 2 つはクラスターネットワーク上でのハートビートパケット送信用
OSD Firewall

ポートはノードごとに異なります。ただし、プロセスが再起動されてバインドされたポートが解放されない場合には、その Ceph ノードで実行されている Ceph デーモンが必要とするポート数よりも多くのポートを開く必要があるかもしれません。デーモンに障害が発生し、ポートを解放せずに再起動した場合に、再起動したデーモンが新しいポートにバインドするように、さらにいくつかのポートを開くことを検討してください。また、各 OSD ノードでポート範囲 6800:7300 を開くことを検討してください。

パブリックネットワークとクラスターネットワークを別々に設定した場合、クライアントはパブリックネットワークを使用して接続し、他の Ceph OSD デーモンはクラスターネットワークを使用して接続するため、パブリックネットワークとクラスターネットワークの両方にルールを追加する必要があります。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Ceph ソフトウェアリポジトリーへのアクセス。
  • Ceph OSD ノードへのルートレベルのアクセス。

手順

  1. 以下の例を使用してルールを追加します。

    [root@mon ~]# sudo iptables -A INPUT -i IFACE  -m multiport -p tcp -s IP-ADDRESS/NETMASK --dports 6800:7300 -j ACCEPT
    1. IFACE は、パブリックネットワークインターフェイス (例: eth0eth1 など) に置き換えます。
    2. IP-ADDRESS は、パブリックネットワークの IP アドレスに、NETMASK は、パブリックネットワークのネットマスクに置き換えます。
  2. firewalld デーモンの場合は、次のコマンドを実行します。

    [root@mon ~] # firewall-cmd --zone=public --add-port=6800-7300/tcp
    [root@mon ~] # firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent

クラスターネットワークを別のゾーンに配置した場合は、そのゾーン内のポートを適切に開きます。