2012年11月11日日曜日

KVM (Kernel-based Virtual Machine) のゲストOS (guest OS) を、仮想マシンマネージャーでマイグレーションを実行すると「No such file or directory」のエラーが発生する場合の対処

質問

KVM (Kernel-based Virtual Machine) のゲストOS (guest OS) を、仮想マシンマネージャーでマイグレーションを実行すると「No such file or directory」のエラーが発生する場合があります。その場合の対処はどのようになっていますか?

回答

このファイルは、仮想ハードディスクのファイルです。

dd コマンドにて、そのファイルをダミーで作成します (= 内容は全く無関係のファイルを作成)。

ここでは、pc111(ホストOS)上の「pc162」というゲストOS(仮想マシン) を、pc121(ホストOS) にマイグレーションする場合を例に説明します。

具体的には、「pc111というホストOS上の、『pc162』というゲストOSの仮想ハードディスクファイルの『pc162.img』を、pc121というホストOSに作成する」場合を例に説明します。

  1. 「コピー『元』ホストOSのマシン」にて、コピー元のオリジナルの仮想ハードディスクファイルのファイルサイズを確認します。

    KVM (Kernel-based Virtual Machine) の仮想ハードディスクファイルはデフォルトでは、「/var/lib/libvirt/images/」ディレクトリ内に存在します。

    [root@pc111 ~]# cd /var/lib/libvirt/images

    「ls -al」を実行して、ファイルサイズを確認します。ここでは例として「pc162.img」のファイルサイズを確認します。

    [root@pc111 images]# ls -al
    合計 608174148
    drwx--x--x. 2 root root 4096 8月 24 03:31 2012 .
    drwxr-xr-x. 9 root root 4096 9月 19 07:07 2012 ..
    -rwxr-xr-x. 1 qemu qemu 128849018880 11月 11 21:21 2012 pc154.img
    -rwxr-xr-x. 1 qemu qemu 128849018880 11月 11 21:19 2012 pc155.img
    -rwxr-xr-x. 1 qemu qemu 128849018880 11月 11 21:21 2012 pc156.img
    -rwxr-xr-x. 1 qemu qemu 128849018880 11月 11 21:20 2012 pc157.img
    -rw-------. 1 qemu qemu 42949672960 11月 11 21:21 2012 pc162.img
    -rw-------. 1 root root 42949672960 9月 6 14:11 2012 pc163.img
    -rw-r--r--. 1 root root 21474836480 9月 6 23:17 2012 pc171.img
    [root@pc111 images]#

    「pc162.img」のファイルサイズは「42949672960」バイトです。これは「40」GB と同じ意味です。

  2. 「コピー『先』ホストOSのマシン」にて、dd コマンドを利用して、ダミーのファイルを作成します。「/var/lib/libvirt/images/pc162.img」というファイルを、40GB のファイルサイズで作成する場合の例は以下の通りです。

    まずは、「/var/lib/libvirt/images/pc162.img」というファイルが既に存在しているかを確認します。

    [root@pc121 ~]# cd /var/lib/libvirt/images
    [root@pc121 images]# ls
    [root@pc121 images]#

    ls コマンドを実行しても、「pc162.img」というファイルは表示されませんでした。

    次に、dd コマンドで「pc162.img」というファイルを作成します。

    [root@pc121 images]# dd if=/dev/zero of=/var/lib/libvirt/images/pc162.img bs=1G count=40

    上のとおりに入力して「Enter」キーを押すと、dd コマンドが実行されます。時間がかかるので待ちます。

  3. dd コマンドの実行が終了した時の画面表示の例です。

    以下の画面では 40GB ではなく、43GB と表示されていますが、正しく 40GB のファイルが作成されているので心配する必要はありません。

    [root@pc121 images]# dd if=/dev/zero of=/var/lib/libvirt/images/pc162.img bs=1G count=40
    40+0 records in
    40+0 records out
    42949672960 bytes (43 GB) copied, 444.256 s, 96.7 MB/s
    [root@pc121 images]#
  4. これで、仮想マシンマネージャーで「オフラインでマイグレーション」を実行すると、(時間はかかりますが) マイグレーションが実行できるようになります。

0 件のコメント:

コメントを投稿