xenでVM(ゲストOS)を複製する方法

お仕事でxenを使うことになったので、ゲストOSをコピーする方法をまとめました。
xenがあまり使われていないのか、普段より情報収集が大変だったので備忘録として残しておきます。

ホストでの基本操作

VMの作成コマンド

環境OS
namevmの名前
ramメモリ容量
fileイメージファイル
file-sizeイメージファイルの容量(GB)
nographicsテキストモードでインストールするため指定
locationどこからインストールするかの指定

ちなみに、ロケーションのURLを間違えてftp://にすると次のエラーが出るので要注意。
これが原因不明で特定するまで結構ハマりました。。

VMの一覧を確認

VMが一覧で表示されます。以下はホストのみ起動している状態

VMの起動(コンソール無し)

VMの起動(コンソール有り)

コンソールから抜けるには Ctrl+]

VMのコンソールへ接続

VMのシャットダウン

VMをコピーする

コンフィグファイルをコピーする

ユニークIDを生成しておく

コピーしたコンフィグファイルを開く

ここでやることは以下の3点

  1. uuidを生成したモノに変更
  2. vm01だった所を全てvm02に書き換える
  3. マックアドレスを重複しないよう書き換える

ちなみに、マックアドレスはsupport.redhat.comにあるpythonスクリプトを使うと幸せになれそう

イメージファイルのコピー

複製したVMの初回起動

ここで注意するのが、初回起動に-cオプションを付けてはいけないという事と、複製元のvm01は落としたままにしておく事です。

で起動しようとすると、次のエラーが出て起動してくれません

なので、まずはコンソールを見ないで起動します。

これで起動成功です。

IPアドレスとMACアドレスの変更

ホスト名を書き換える

IPアドレスとMACアドレスを書き換える

vm02が上がっていることを確認して終了