B.17.3. 論理および設定エラー

適切にフォーマットされた XML ドキュメントには、構文が正しくても、libvirt が解析できないエラーが含まれる場合があります。これらのエラーの多くは、以下で説明する 2 つのケースに当てはまります。

B.17.3.1. 部分的な消滅

現象
ドメインの編集または定義後に、変更箇所が表示されず、その効果も見られない。define コマンドや edit コマンドは機能するが、XML を再度ダンプすると変更が消えてしまう。
調査
このエラーの原因となり得るのは、構築または構文が破損していて、libvirt が解析できないという場合です。libvirt ツールは通常、理解できるコンストラクトのみを探し、それ以外はすべて無視するので、libvirt が入力を解析した後に XML 変更が消滅する場合があります。
解決法
XML 入力を edit コマンドや define コマンドに渡す前に確認します。libvirt 開発者は、libvirt とバンドルされている XML スキーマ一式を維持します。これは、libvirt が使用する XML ドキュメントで許可されるコンストラクトの大半を定義するものです。
以下のコマンドを使って、libvirt XML ファイルを検証します。
# virt-xml-validate libvirt.xml
このコマンドが渡されると、多くの場合は libvirt が XML からのすべてのコンストラクトを理解します。ただし、特定のハイパーバイザーにのみ有効なオプションをスキーマが検出できない場合は、例外です。たとえば、virsh dump コマンドの結果として libvirt が生成した XML は、エラーなしで有効になります。