基本的なネットワーキングのトラブルシューティング

IBM Storage Ceph は、信頼性の高いネットワーク接続に大きく依存しています。 Ceph ストレージ・ノードは、相互に通信するためにネットワークを使用します。 ネットワーキングの問題により、Ceph OSD で多くの問題 (フラップなど) が発生したり、誤って downとして報告されたりする可能性があります。 ネットワーキングの問題が原因で、Ceph モニターのクロック・スキュー・エラーが発生することもあります。 さらに、パケット・ロス、長い待ち時間、または限られた帯域幅がクラスターのパフォーマンスと安定性に影響を与える可能性があります。

開始前に

  • ノードへのルート・レベル・アクセス。

このタスクについて

詳しくは、以下のリソースを参照してください。

手順

  1. net-tools パッケージおよび telnet パッケージをインストールします。
    net-tools パッケージおよび telnet パッケージは、Ceph ストレージ・クラスターで発生する可能性があるネットワーク問題のトラブルシューティングに役立ちます。
    例:
    [ root@host01 ~]# dnf install net-tools
    [ root@host01 ~]# dnf install telnet
  2. 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
  3. シェルを終了して、ネットワーク・インターフェースが稼働していることを確認します。
    例:
    [ 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
  4. Ceph ノードがショート・ホスト名を使用して相互にアクセスできることを確認します。
    この検査は、ストレージ・クラスター内の各ノードで行います。
    ping SHORT_HOST_NAME
    例:
    [ root@host01 ~]# ping host02
  5. ファイアウォールを使用する場合は、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
  6. インターフェース・カウンターにエラーがないことを確認します。
    ノード間のネットワーク接続に予想される待ち時間があること、およびパケット・ロスがないことを確認してください。
    1. 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
    2. 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
    3. 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
  7. パフォーマンスの問題の場合は、 iperf3 ツールを使用して、ストレージ・クラスターのすべてのノード間のネットワーク帯域幅を確認します。
    iperf3 ツールは、サーバーとクライアントの間で単純な Point-to-Point ネットワーク帯域幅テストを行います。
    1. 帯域幅を確認する IBM Storage Ceph ノードに iperf3 パッケージをインストールします。
      例:
      [ root@host01 ~]# dnf install iperf3
    2. IBM Storage Cephの場合は、 iperf3 サーバーを始動します。
      注: デフォルト・ポートは 5201 ですが、 -P コマンド引数を使用して設定できます。
      例:
      [root@host01 ~]# iperf3 -s
       5201でリッスンしているサーバー
    3. 別の 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) を示しています。 ストレージ・クラスター内のすべてのノード間のネットワーク帯域幅を検証することをお勧めします。
  8. すべてのノードのネットワーク相互接続速度が同じであることを確認します。
    接続されているノードの速度が遅いと、接続されているノードの速度が遅くなることが また、スイッチ間リンクが接続されたノードの集約帯域幅を処理できることも確認してください。
    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