Jump To Close Expand all Collapse all Table of contents OVS-DPDK エンドツーエンドトラブルシューティングガイド はじめに 1. 事前確認 2. OVS-DPDK デプロイメントの検証 Expand section "2. OVS-DPDK デプロイメントの検証" Collapse section "2. OVS-DPDK デプロイメントの検証" 2.1. OpenStack の確認 Expand section "2.1. OpenStack の確認" Collapse section "2.1. OpenStack の確認" 2.1.1. ネットワークエージェントの表示 2.1.2. Compute Service でホストを表示する 2.2. コンピュートノード OVS 設定の確認 2.3. インスタンス設定の OVS の確認 2.4. その他の役立つコマンド 2.5. 単純なコンピュートノードの CPU パーティショニングとメモリーチェック Expand section "2.5. 単純なコンピュートノードの CPU パーティショニングとメモリーチェック" Collapse section "2.5. 単純なコンピュートノードの CPU パーティショニングとメモリーチェック" 2.5.1. CPU の検出 2.5.2. PMD スレッドの検出 2.5.3. NUMA ノードの検出 2.5.4. 分離された CPU の検出 2.5.5. Nova インスタンス専用の CPU の検出 2.5.6. Huge Page 設定の確認 2.6. パケットドロップの原因 Expand section "2.6. パケットドロップの原因" Collapse section "2.6. パケットドロップの原因" 2.6.1. OVS-DPDK が遅すぎて物理 NIC をドレインできない 2.6.2. VM が遅すぎて vhost-user をドレインできない 2.6.3. OVS-DPDK が遅すぎて vhost-user をドレインできない 2.6.4. 出力物理インターフェイスでのパケット損失 3. NFV コマンドのチートシート Expand section "3. NFV コマンドのチートシート" Collapse section "3. NFV コマンドのチートシート" 3.1. UNIX ソケット 3.2. IP 3.3. OVS 3.4. IRQ 3.5. Processes 3.6. KVM 3.7. CPU 3.8. NUMA 3.9. メモリー 3.10. PCI 3.11. Tuned 3.12. プロファイリングプロセス 3.13. ブロック I/O 3.14. リアルタイム 3.15. セキュリティー 3.16. Juniper Contrail vRouter 3.17. コンテナー 3.18. OpenStack 4. インスタンスの Tap インターフェイスの TX キューでの高いパケット損失 Expand section "4. インスタンスの Tap インターフェイスの TX キューでの高いパケット損失" Collapse section "4. インスタンスの Tap インターフェイスの TX キューでの高いパケット損失" 4.1. 現象 4.2. 診断 Expand section "4.2. 診断" Collapse section "4.2. 診断" 4.2.1. 回避策 4.2.2. 診断手順 4.3. 解決方法 5. OpenvSwitchDPDK を使用したインスタンス Open vSwitch インターフェイスでの TX ドロップ Expand section "5. OpenvSwitchDPDK を使用したインスタンス Open vSwitch インターフェイスでの TX ドロップ" Collapse section "5. OpenvSwitchDPDK を使用したインスタンス Open vSwitch インターフェイスでの TX ドロップ" 5.1. 現象 Expand section "5.1. 現象" Collapse section "5.1. 現象" 5.1.1. パケットドロップの説明 5.1.2. 他のドロップの説明 5.1.3. DPDK の TX および RX キューの長さを増やす 5.2. 診断 5.3. 解決方法 6. DPDK を使用した Open vSwitch での pmd-stats-show コマンドの出力の解釈 Expand section "6. DPDK を使用した Open vSwitch での pmd-stats-show コマンドの出力の解釈" Collapse section "6. DPDK を使用した Open vSwitch での pmd-stats-show コマンドの出力の解釈" 6.1. 現象 6.2. 診断 6.3. 解決方法 Expand section "6.3. 解決方法" Collapse section "6.3. 解決方法" 6.3.1. アイドル PMD 6.3.2. パケットドロップを伴う負荷テスト中の PMD 6.3.3. mpps 容量の 50% で負荷テスト中の PMD 6.3.4. ヒット vs ミス vs ロスト 7. nova での SR-IOV ポートの接続と取り外し Expand section "7. nova での SR-IOV ポートの接続と取り外し" Collapse section "7. nova での SR-IOV ポートの接続と取り外し" 7.1. 現象 7.2. 診断 7.3. 解決方法 8. Open vSwitch を使用した LACP ボンディングの設定とテスト Expand section "8. Open vSwitch を使用した LACP ボンディングの設定とテスト" Collapse section "8. Open vSwitch を使用した LACP ボンディングの設定とテスト" 8.1. LACP のスイッチポートの設定 8.2. LACP の Linux カーネルボンディングをベースラインとして設定する 8.3. LACP 用の OVS DPDK ボンディングの設定 Expand section "8.3. LACP 用の OVS DPDK ボンディングの設定" Collapse section "8.3. LACP 用の OVS DPDK ボンディングの設定" 8.3.1. Open vSwitch を準備する 8.3.2. LACP ボンディングを設定する 8.3.3. OVS からのポートの有効化/無効化 9. OVS DPDK を使用したさまざまなボンディングモードのデプロイ Expand section "9. OVS DPDK を使用したさまざまなボンディングモードのデプロイ" Collapse section "9. OVS DPDK を使用したさまざまなボンディングモードのデプロイ" 9.1. 解決方法 10. Could not open network device dpdk0 (No such device) in ovs-vsctl show メッセージを受け取ります。 Expand section "10. Could not open network device dpdk0 (No such device) in ovs-vsctl show メッセージを受け取ります。" Collapse section "10. Could not open network device dpdk0 (No such device) in ovs-vsctl show メッセージを受け取ります。" 10.1. 現象 10.2. 診断 10.3. 解決方法 11. Open vSwitch でゲスト RAM を割り当てるために使用できる空きホストメモリーページが不十分です Expand section "11. Open vSwitch でゲスト RAM を割り当てるために使用できる空きホストメモリーページが不十分です" Collapse section "11. Open vSwitch でゲスト RAM を割り当てるために使用できる空きホストメモリーページが不十分です" 11.1. 現象 11.2. 診断 Expand section "11.2. 診断" Collapse section "11.2. 診断" 11.2.1. 診断手順 11.3. 解決方法 12. perf を使用して OVS DPDK PMD CPU 使用率のトラブルシューティングを行い、トラブルシューティングデータを収集して送信します Expand section "12. perf を使用して OVS DPDK PMD CPU 使用率のトラブルシューティングを行い、トラブルシューティングデータを収集して送信します" Collapse section "12. perf を使用して OVS DPDK PMD CPU 使用率のトラブルシューティングを行い、トラブルシューティングデータを収集して送信します" 12.1. 診断 Expand section "12.1. 診断" Collapse section "12.1. 診断" 12.1.1. PMD スレッド 12.1.2. 追加データ 12.1.3. Open vSwitch ログ 13. NFV を使用する仮想環境での virsh emulatorpin の使用 Expand section "13. NFV を使用する仮想環境での virsh emulatorpin の使用" Collapse section "13. NFV を使用する仮想環境での virsh emulatorpin の使用" 13.1. 現象 13.2. 解決方法 Expand section "13.2. 解決方法" Collapse section "13.2. 解決方法" 13.2.1. qemu-kvm エミュレータースレッド 13.2.2. エミュレータースレッドの固定化に関するデフォルトの動作 13.2.3. エミュレータースレッドのスケジューリングに対する isolcpus の影響 13.2.4. エミュレータースレッドの最適な位置 Expand section "13.2.4. エミュレータースレッドの最適な位置" Collapse section "13.2.4. エミュレータースレッドの最適な位置" 13.2.4.1. Open vSwitch のインスタンスと netdev データパス内の DPDK ネットワーキングによるエミュレータースレッドの最適な配置 13.2.4.2. Open vSwitch における DPDK ネットワーキングを用いたエミュレータースレッドのインスタンスおよびシステムデータパス内への最適配置 13.2.4.3. Open vSwitch のインスタンスと netdev データパス内でのカーネルネットワーキングを利用したエミュレータースレッドの最適な配置 13.3. 診断 Expand section "13.3. 診断" Collapse section "13.3. 診断" 13.3.1. デモンストレーション環境 13.3.2. Emulatorpin のしくみ 法律上の通知 Settings Close Language: 한국어 简体中文 日本語 English Language: 한국어 简体中文 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 한국어 简体中文 日本語 English Language: 한국어 简体中文 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF 第13章 NFV を使用する仮想環境での virsh emulatorpin の使用 この手順を使用して、NFV を使用する Red Hat OpenStack Platform で virsh emulatorpin を使用した場合の影響を判断します。 13.1. 現象 Red Hat OpenStack Platform {vernum} NFV 環境でパケット損失が発生し、エミュレータースレッドの固定が設定されていません。 Previous Next