付録A トラブルシューティング
本章では、Red Hat Enterprise Linux 7 の仮想化に関する一般的な問題と解決策を説明します。
この章を読むことで、仮想化テクノロジーに関連する一般的な問題の一部を理解することができます。トラブルシューティングスキルを向上させるために、Red Hat Enterprise Linux 7 で仮想化を実験してテストすることが推奨されます。
本書で回答が見つからない場合は、オンライン上の仮想化コミュニティーに回答があるかもしれません。Linux 仮想化 Web サイトのリストは、「オンラインリソース」 を参照してください。
また、Red Hat ナレッジベース の RHEL 7 で仮想化のトラブルシューティングに関する詳細も記載されています。
A.1. デバッグおよびトラブルシューティングツール
本セクションでは、システム管理者アプリケーション、ネットワークユーティリティー、およびデバッグツールの概要を説明します。標準のシステム管理ツールおよびログを使用して、トラブルシューティングを支援できます。
- kvm_stat - KVM ランタイム統計を取得します。詳細は、「kvm_stat」 を参照してください。
- ftrace - カーネルイベントを追跡します。詳細は、『What is ftrace and how do I use it?』 のソリューション記事 (サブスクリプションが必要) を参照してください。
- vmstat - 仮想メモリーの使用状況を表示します。詳細は、man vmstat コマンドを使用します。
- iostat - I/O 負荷統計を提供します。詳細は、Red Hat Enterprise Linux Performance Tuning Guide を参照してください。
- lsof - 開いているファイルのリストを表示します。詳細は、man lsof コマンドを使用します。
- systemtap - オペレーティングシステムを監視するスクリプトユーティリティーです。詳細は、Red Hat Enterprise Linux Developer Guide を参照してください。
- crash - カーネルクラッシュダンプデータまたはライブシステムを分析します。詳細は、Red Hat Enterprise Linux Kernel Crash Dump Guide を参照してください。
- sysrq - コンソールが応答しなくても、カーネルが応答する鍵の組み合わせです。詳細は Red Hat ナレッジベース を参照してください。
これらのネットワークユーティリティーは、以下の仮想化ネットワークの問題のトラブルシューティングに役立ちます。
- ip addr、ip route、および ip monitor。
- tcpdump - ネットワーク上のパケットトラフィックを診断します。このコマンドは、ネットワーク異常やネットワーク認証の問題を見つける際に役立ちます。tcpdump のグラフィカルバージョンでは、wireshark という名前のグラフィカルバージョンがあります。
- brctl - Linux カーネル内のイーサネットブリッジ設定を検証して設定するネットワークユーティリティーです。以下に例を示します。
$ brctl show bridge-name bridge-id STP enabled interfaces ----------------------------------------------------------------------------- virtbr0 8000.feffffff yes eth0 $ brctl showmacs virtbr0 port-no mac-addr local? aging timer 1 fe:ff:ff:ff:ff: yes 0.00 2 fe:ff:ff:fe:ff: yes 0.00 $ brctl showstp virtbr0 virtbr0 bridge-id 8000.fefffffffff designated-root 8000.fefffffffff root-port 0 path-cost 0 max-age 20.00 bridge-max-age 20.00 hello-time 2.00 bridge-hello-time 2.00 forward-delay 0.00 bridge-forward-delay 0.00 aging-time 300.01 hello-timer 1.43 tcn-timer 0.00 topology-change-timer 0.00 gc-timer 0.02
仮想化のトラブルシューティングに役立つコマンドを以下に示します。
- strace は、システムコールと、別のプロセスが受信して使用したイベントを追跡するコマンドです。
- vncviewer は、サーバーまたは仮想マシンで実行している VNC サーバーに接続します。 yum install tigervnc を使用して vncviewer をインストールします。
- vncserver は、サーバーでリモートデスクトップを起動します。リモートセッションを使用して、virt-manager などのグラフィカルユーザーインターフェイスを実行できます。yum install tigervnc-server を使用して vncserver をインストールします。
上記のコマンドのほかに、仮想化ログを調べると便利です。詳細は、「仮想化ログ」 を参照してください。