B.17. 一般的な XML エラー

libvirt ツールは XML ドキュメントを使用して構造化データを保存します。XML ドキュメントの様々なエラーは、XML ドキュメントが API で libvirt に渡される際に発生します。一般的な XML エラー (XML の不適切なフォーマットや不適切な値、要素の欠如を含む) のいくつかを以下で詳述します。

B.17.1. ドメイン定義の編集

これは推奨されませんが、ゲスト仮想マシン (またはドメイン) の XML ファイルを手動で編集することも時には必要になります。編集目的でゲストの XML にアクセスするには、以下のコマンドを使用します。
# virsh edit name_of_guest.xml
このコマンドで、ゲスト仮想マシンの現在の定義によるファイルがテキストエディターで開かれます。編集して変更を保存した後、XML はリロードされ、libvirt が解析します。XML が正しければ、以下のメッセージが表示されます。
# virsh edit name_of_guest.xml

Domain name_of_guest.xml XML configuration edited.

重要

virshedit コマンドを使用して、XML ドキュメントを編集する際は、エディターを終了する前にすべての変更を保存します。
XML ファイルの保存後に、xmllint コマンドで XML が整形式かどうかを確認します。または、virt-xml-validate コマンドで使用法の問題をチェックします。
# xmllint --noout config.xml
# virt-xml-validate config.xml
エラーが表示されない場合、XML 記述子は整形式で libvirt スキーマに合致しています。スキーマはすべての制約をキャッチしませんが、レポートされたエラーを修正することでトラブルシューティングが促進されます。
libvirt が保存する XML ドキュメント
これらのドキュメントには、ゲストの状態や設定の定義が含まれています。ドキュメントは自動生成され、手動での編集は推奨されません。ドキュメントにあるエラーには、破損したドキュメントのファイル名が含まれています。このファイル名は、URI によって定義されたホストマシン上でのみ有効で、コマンドが実行されたマシンを参照する場合があります。
libvirt が作成したファイルでのエラーは稀にしかありません。エラーの原因となり得るのは、libvirt のダウングレードです。新しいバージョンの libvirt は、古いバージョンが生成した XML を常に読み込めるのに対して、古いバージョンの libvirt は、新しいバージョンで追加された XML 要素で混乱する可能性があります。