web-dev-qa-db-ja.com

スクリプトを介して実行中のKVMドメインのxml定義を変更する

VM over sshのxml定義を変更するにはどうすればよいですか?ホストにログインして次を使用することで、これをインタラクティブに実行できることを知っています。

virsh edit <domain name>

しかし、リモートホストで実行され、KVMボックスでsshを介してコマンドを実行するスクリプトを使用して、このxmlの変更を自動化したいです。

私が観察したところによると、virsh editは、ファイルを編集するためのデフォルトのエディター(私の場合はvi)を開いています。このファイル(virsh editコマンドでインタラクティブに開く)を別のテキストファイルに含まれているvm定義でなんとか上書きしたいと思います。

以下を使用してテキストをviにパイプする方法に関するスレッドを見つけました。

cat <file name> | vi -

しかし、私の場合、それはうまくいきません。

  1. virshは、私が制御できない引数を使用してデフォルトのエディターを開いています。 (または少なくとも、これらの引数を変更する方法がわかりません)
  2. デフォルトのエディターは、異なるKVMボックスで異なる可能性があります。

助けてくれてありがとう。

編集:VMをオフにして再定義するオプションがないことを明確にしたかっただけです。実行中ドメインを変更したいと思います。

1

使用する virsh dumpxmlを取得してXMLを取得し、次にvirsh defineドメイン定義を変更に置き換えます。

4
Michael Hampton