B.17. 一般的な XML エラー
libvirt では、XML ドキュメントを使用して構造化データを保存します。XML ドキュメントが API を介して libvirt に渡されると、さまざまな一般的なエラーが発生します。誤った形式の XML、不適切な値、欠落している要素など、一般的な XML エラーの一部を以下に示します。
B.17.1. ドメイン定義の編集
これは推奨されていませんが、ゲスト仮想マシン (またはドメインの XML ファイル) を手動で編集することが必要になる場合があります。ゲストの XML にアクセスして編集するには、次のコマンドを使用します。
# virsh edit name_of_guest.xml
このコマンドは、ゲスト仮想マシンの現在の定義を持つテキストエディターでファイルを開きます。編集を終了して変更を保存したら、libvirt により XML が再読み込みされ、解析されます。XML が正しい場合は、以下のメッセージが表示されます。
# virsh edit name_of_guest.xml Domain name_of_guest.xml XML configuration edited.
重要
virsh で edit コマンドを使用して XML ドキュメントを編集する場合は、すべての変更を保存してから、エディターを終了します。
XML ファイルを保存したら、xmllint コマンドを使用して XML の形式が正しいことを確認するか、virt-xml-validate コマンドを使用して使用上の問題を確認します。
# xmllint --noout config.xml
# virt-xml-validate config.xml
エラーが返されない場合、XML 記述は正しく設定され、libvirt スキーマと一致します。スキーマがすべての制約を把握していない場合は、報告されたエラーを修正するとさらにトラブルシューティングが行われます。
- libvirt が保存する XML ドキュメント
- これらのドキュメントには、ゲストの状態と設定の定義が記載されています。これらのドキュメントは自動的に生成されるため、手動で編集しないでください。これらのドキュメントのエラーには、破損したドキュメントのファイル名が含まれています。ファイル名は、URI で定義されたホストマシンでのみ有効です。これは、コマンドが実行されたマシンを参照する場合があります。libvirt が作成したファイルでエラーが発生することはまれです。ただし、このエラーの原因の 1 つとして、libvirt のダウングレードが考えられます。新しいバージョンの libvirt では、古いバージョンで生成された XML を読み取ることができるのに対し、古いバージョンの libvirt では、新しいバージョンで追加された XML 要素により混同される可能性があります。