Ceph内外ネットワークの分離の構成

6761 ワード

https://www.jianshu.com/p/42ab1f6dc6de
 

1.なぜ内外ネットワークの分離を行うのか


まず、このようにする必要性を明確にします.Cephのクライアント、例えばRADOSGW、RBDなどは、直接OSDと相互接続し、データのアップロードとダウンロードを行い、この部分は直接対外ダウンロードのアップロード能力を提供する.Cephの基本的な機能はデータの冗長バックアップを提供することであり、OSDはデータのバックアップを担当し、ホスト間のデータバックアップは当然帯域幅を占有し、この帯域幅の一部はCephクラスタのスループットに役立たない.特に新しいストレージノードが追加された場合、Cephクラスタのパフォーマンスは、大量のデータコピーによって悪化します.したがって,性能に一定の要求があるユーザには,内外ネットワークの分離を構成する必要がある.

2.構成方法


 
Ceph内外分離ネットワーク構造
イントラネットを確立するのは、OSDノード間のデータ複製がCeph全体に及ぼす影響を低減するためであり、OSDノードにイントラネットを加えればよいので、上図はイントラネットと外部ネットがカバーする範囲を非常に明確に説明している.内外のネットワークを分離するには、OSDサーバに利用可能なネットワークカードが2枚必要であり、ネットワークが相互に接続していることが不可欠であることを前提としています.くだらない話だと思ってはいけません.私が構成している間に、OSDサーバーのネットカードがパケットをなくしてしまったので、長い間分析してから原因を見つけました.

2.1 iptables構成


 Linuxサーバにファイアウォールが開いている場合は、サーバのファイアウォールがOSDに新しくオープンしたポート制限を開放するようにiptablesルールを構成する必要があります.
# Monitor  
$ sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT # MDS   MGR   $ sudo iptables -A INPUT -i {iface} -m multiport -p tcp -s {ip-address}/{netmask} --dports 6800:7300 -j ACCEPT # OSD   $ sudo iptables -A INPUT -i {iface} -m multiport -p tcp -s {ip-address}/{netmask} --dports 6800:7300 -j ACCEPT 

2.2 cephを修正する.conf


  先に修正した例を書きます.
[golbal]
... public_network = 10.19.250.0/24 cluster_network = 10.19.251.0/24 ... [osd.0] host = osd5 public_addr = 10.19.250.35 cluster_addr = 10.19.251.35 [osd.1] host = osd5 public_addr = 10.19.250.35 cluster_addr = 10.19.251.35 ... 

構成は複雑ではありません.主に2つのセグメントです.
  • [global]にclusterを追加する必要があります.Networkフィールド、これに対応するのはイントラネットで、イントラネットのサブネットマスクを記入すればいいです.public_Networkは外部ネットワークに対応しています.
  • [osd.*]この部分はOSDプロセスごとに行われていますが、OSDプロセスが多ければ、確かに少し煩雑ですが、まだより簡潔な方法を見つけていません.hostフィールドは、OSDプロセスが存在するサーバのホスト名を記入し、hostname -sでクエリーします.public_addrはホストの外部ネットワークアドレス、cluster_を記入します.addrはホストのイントラネットアドレスを記入します.

  •   構成が変更されると、構成をサーバにアップロードする必要があります.Ceph環境を構成するには、通常ceph-deployを使用しますが、今でもこのコマンドで構成をアップロードできます.
    ceph-deploy --overwrite-conf config push [...]
    

    最後に、構成はceph関連のプロセスを再起動する必要があります.
    # OSD   OSD  
    sudo systemctl restart ceph-osd@*
    
    # Monitor  
    sudo systemctl restart ceph-mon@*
    
    # Manager   
    sudo systemctl restart ceph-mgr@*
    
    # metadata   
    sudo systemctl restart ceph-mds@*
    

    3.参照リンク:

  • ceph.com: Network configuration reference
  • ceph.com: Achitecture
  • ceph.com: mon osd interaction

  •  
     
    3人でいいね
     
    日記帳