基本的なネットワーキングのトラブルシューティング
IBM Storage Ceph は、信頼性の高いネットワーク接続に大きく依存しています。 Ceph ストレージ・ノードは、相互に通信するためにネットワークを使用します。 ネットワーキングの問題により、Ceph OSD で多くの問題 (フラップなど) が発生したり、誤って downとして報告されたりする可能性があります。 ネットワーキングの問題が原因で、Ceph モニターのクロック・スキュー・エラーが発生することもあります。 さらに、パケット・ロス、長い待ち時間、または限られた帯域幅がクラスターのパフォーマンスと安定性に影響を与える可能性があります。
開始前に
- ノードへのルート・レベル・アクセス。
このタスクについて
手順
-
net-toolsパッケージおよびtelnetパッケージをインストールします。net-toolsパッケージおよびtelnetパッケージは、Ceph ストレージ・クラスターで発生する可能性があるネットワーク問題のトラブルシューティングに役立ちます。例:[ root@host01 ~]# dnf install net-tools [ root@host01 ~]# dnf install telnet
-
cephadmシェルにログインし、Ceph 構成ファイルの public_network パラメーターに正しい値が含まれていることを確認します。例:[ceph: root@host01 /]# cat /etc/ceph/ceph.conf # 57bddb48-ee04-11eb-9962-001a4a000672 の最小限の ceph.conf [グローバル] fsid = 57bddb48-ee04-11eb-9962-001a4a000672 mon_host = [ v2:10.74.249.26:3300/0,v1:10. 74.249.26:6789/0 ] [ v2:10.74.249.163:3300/0,v1:10. 74.249.163:6789/0 ] [ v2:10.74.254.129:3300/0,v1:10. 74.254.129:6789/0 ] [mon.host01] 公共ネットワーク 10.74.248.0/21 - シェルを終了して、ネットワーク・インターフェースが稼働していることを確認します。例:
[ root@host01 ~]# ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:1a:4a:00:06:72 brd ff:ff:ff:ff:ff:ff:ff - Ceph ノードがショート・ホスト名を使用して相互にアクセスできることを確認します。この検査は、ストレージ・クラスター内の各ノードで行います。
ping SHORT_HOST_NAME例:[ root@host01 ~]# ping host02
- ファイアウォールを使用する場合は、Ceph ノードが適切なポートで相互に接続できることを確認してください。ファイアウォールを使用しない場合は、ステップ 6に進みます。
firewall-cmdツールはポート状況を検証し、telnetツールはポートが開いているかどうかを検証します。firewall-cmd --info-zone=ZONE telnet IP_ADDRESS PORT例:[ root@host01 ~]# firewall-cmd --info-zone =public 公開(アクティブ) ターゲット:デフォルト ICMPブロック反転: いいえ インターフェース ens3 ソース: サービス:cephceph-moncockpit dhcpv6-client ssh ポートである: 9283/tcp 8443/tcp 9093/tcp 9094/tcp 3000/tcp 9100/tcp 9095/tcp protocols: 仮装:なし フォワード・ポート ソースポート icmp-ブロック: 豊かなルール [ root@host01 ~]# telnet 192.168.0.22 9100
- インターフェース・カウンターにエラーがないことを確認します。ノード間のネットワーク接続に予想される待ち時間があること、およびパケット・ロスがないことを確認してください。
- ethtool コマンドを使用します。
ethtool -S INTERFACE例:[ root@host01 ~]# ethtool -S ens3 | grep errors NICの統計: rx_fcs_errors:0 rx_align_errors:0 rx_frame_too_long_errors:0 rx_in_length_errors:0 rx_out_length_errors:0 tx_mac_errors:0 tx_carrier_sense_errors:0 tx_errors:0 rx_errors:0 - ifconfig コマンドを使用します。例:
[ root@host01 ~]# ifconfig ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> MTU 1500 inet 10.74.249.26 ネットマスク 255.255.248.0 ブロードキャスト 10.74.255.255 inet6 fe80::21a:4aff:fe00:672 prefixlen 64 scopeid 0x20<link> inet6 2620:52:0:4af8:21a:4aff:fe00:672 prefixlen 64 scopeid 0x0<global> ether 00:1a:4a:00:06:72 1000 (イーサネット) RXパケット 150549316バイト 56759897541 ( 52.8 GiB ) RXエラー 0 ドロップ 176924 オーバーラン 0 フレーム 0 TXパケット 55584046バイト 62111365424 ( 57.8 GiB ) TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 コリジョン 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 ネットマスク 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000(ローカルループバック) RXパケット 9373290バイト 16044697815 ( 14.9 GiB ) RX エラー 0 ドロップ 0 オーバーラン 0 フレーム 0 TXパケット 9373290 バイト 16044697815 ( 14.9 GiB ) TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 コリジョン 0 - netstat コマンドを使用します。例:
[ root@host01 ~]# netstat -ai カーネル・インターフェース・テーブル RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens3 1500 311847720 0 364903 0 114341918 0 0 bmru Lo 65536 19577001 0 0 0 19577001 0 0 0 LRU
- ethtool コマンドを使用します。
- パフォーマンスの問題の場合は、
iperf3ツールを使用して、ストレージ・クラスターのすべてのノード間のネットワーク帯域幅を確認します。iperf3ツールは、サーバーとクライアントの間で単純な Point-to-Point ネットワーク帯域幅テストを行います。- 帯域幅を確認する IBM Storage Ceph ノードに
iperf3パッケージをインストールします。例:[ root@host01 ~]# dnf install iperf3
- IBM Storage Cephの場合は、
iperf3サーバーを始動します。注: デフォルト・ポートは 5201 ですが、-Pコマンド引数を使用して設定できます。例:[root@host01 ~]# iperf3 -s 5201でリッスンしているサーバー
- 別の IBM Storage Ceph ノードで、
iperf3クライアントを始動します。iperf3 -c mon例:[ root@host02 ~]# iperf3 -c mon ポート 5201 でホストの mon に接続中 xx.x.xxx.xx [ xx.x.xxx.xx ポート 5201 に接続されている [ID] 間隔 転送帯域幅 Retr Cwnd [4] 0.00-1.00 秒 114 MBytes 954 Mbits/sec 0 409 KBytes [4] 1.00-2.00 秒 113 MBytes 945 Mbits/sec 0 409 KBytes [4] 2.00-3.00 秒 112 MBytes 943 Mbits/sec 0 454 KBytes [4] 3.00-4.00 秒 112 MBytes 941 Mbits/sec 0 471 KBytes [4] 4.00-5.00 秒 112 MBytes 940 Mbits/sec 0 471 KBytes [4] 5.00-6.00 秒 113 MBytes 945 Mbits/sec 0 471 KBytes [4] 6.00-7.00 秒 112 MBytes 937 Mbits/sec 0 488 KBytes [4] 7.00-8.00 秒 113 MBytes 947 Mbits/sec 0 520 KBytes [4] 8.00-9.00 秒 112 MBytes 939 Mbits/sec 0 520 KBytes [4] 9.00-10.00 秒 112 MBytes 939 Mbits/sec 0 520 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ID] 転送間隔 帯域幅 Retr [4] 0.00-10.00 秒 1.10 GBytes 943 Mbits/sec 0 送信者 [4] 0.00-10.00 秒 1.10 GBytes 941 Mbits/sec レシーバー iperf 完了。
この出力は、 IBM Storage Ceph ノード間の 1.1 Gbits/秒のネットワーク帯域幅と、テスト中の再送なし (Retr) を示しています。 ストレージ・クラスター内のすべてのノード間のネットワーク帯域幅を検証することをお勧めします。
- 帯域幅を確認する IBM Storage Ceph ノードに
- すべてのノードのネットワーク相互接続速度が同じであることを確認します。接続されているノードの速度が遅いと、接続されているノードの速度が遅くなることが また、スイッチ間リンクが接続されたノードの集約帯域幅を処理できることも確認してください。
ethtool INTERFACE例:[ root@host01 ~]# ethtool ens3 設定 ens3: 対応ポート[TP] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full ポーズフレームの使用をサポート:なし Supports auto-negotiation: Yes サポートされる FEC モード:未報告 Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full ポーズフレーム使用の広告:対称 Advertised auto-negotiation: Yes 広告されている FEC モード:報告されていない リンク・パートナーのアドバタイズド・リンク・モード: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full リンク・パートナーはポーズ・フレームの使用をアドバタイズする:対称 Link partner advertised auto-negotiation: Yes リンク・パートナーがアドバタイズするFECモード:報告なし スピードだ: 1000Mb/s デュプレックスフル ポート: ツイストペア PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: オフ ウェイクオン対応 ウェイクオン:d 現在のメッセージレベル: 0x000000ff (255) drv プローブリンクタイマー ifdown ifup rx_err tx_err Link detected: yes