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 は、エラーなしで検証する必要があります。