Ceph内外ネットワークの分離の構成
6761 ワード
https://www.jianshu.com/p/42ab1f6dc6de
まず、このようにする必要性を明確にします.Cephのクライアント、例えばRADOSGW、RBDなどは、直接OSDと相互接続し、データのアップロードとダウンロードを行い、この部分は直接対外ダウンロードのアップロード能力を提供する.Cephの基本的な機能はデータの冗長バックアップを提供することであり、OSDはデータのバックアップを担当し、ホスト間のデータバックアップは当然帯域幅を占有し、この帯域幅の一部はCephクラスタのスループットに役立たない.特に新しいストレージノードが追加された場合、Cephクラスタのパフォーマンスは、大量のデータコピーによって悪化します.したがって,性能に一定の要求があるユーザには,内外ネットワークの分離を構成する必要がある.
Ceph内外分離ネットワーク構造
イントラネットを確立するのは、OSDノード間のデータ複製がCeph全体に及ぼす影響を低減するためであり、OSDノードにイントラネットを加えればよいので、上図はイントラネットと外部ネットがカバーする範囲を非常に明確に説明している.内外のネットワークを分離するには、OSDサーバに利用可能なネットワークカードが2枚必要であり、ネットワークが相互に接続していることが不可欠であることを前提としています.くだらない話だと思ってはいけません.私が構成している間に、OSDサーバーのネットカードがパケットをなくしてしまったので、長い間分析してから原因を見つけました.
Linuxサーバにファイアウォールが開いている場合は、サーバのファイアウォールがOSDに新しくオープンしたポート制限を開放するようにiptablesルールを構成する必要があります.
先に修正した例を書きます.
構成は複雑ではありません.主に2つのセグメントです.[global]にclusterを追加する必要があります.Networkフィールド、これに対応するのはイントラネットで、イントラネットのサブネットマスクを記入すればいいです.public_Networkは外部ネットワークに対応しています. [osd.*]この部分はOSDプロセスごとに行われていますが、OSDプロセスが多ければ、確かに少し煩雑ですが、まだより簡潔な方法を見つけていません.hostフィールドは、OSDプロセスが存在するサーバのホスト名を記入し、
構成が変更されると、構成をサーバにアップロードする必要があります.Ceph環境を構成するには、通常ceph-deployを使用しますが、今でもこのコマンドで構成をアップロードできます.
最後に、構成はceph関連のプロセスを再起動する必要があります.
ceph.com: Network configuration reference ceph.com: Achitecture ceph.com: mon osd interaction
3人でいいね
日記帳
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つのセグメントです.
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.参照リンク:
3人でいいね
日記帳