KVM の仮想化ソリューションはサーバ管理者の間でも非常に知られた存在となっており、既存の Xen ベースの環境を KVM に移行する要望も多くなっています。ですが、現時点では Xen の VM を KVM に自動変換してくれるような成熟したツールは提供されていません。その代わり、 Xen の仮想マシンを KVM に移行する作業を支援する技術ソリューションは用意されています。下記の章では、このような移行を行うための情報と手順を説明しています。
この文書内で説明している移行手順は、 SUSE では完全にはサポートしていません。ガイダンスとしてのみ提供しているものです。
virt-v2v
を使用した KVM への移行 #Edit source本章では、 KVM 以外のハイパーバイザ (たとえば Xen) から libvirt
が管理する KVM への仮想マシンの取り込み方法について説明しています。
本章では Linux ゲストに主眼を置いて説明しています。 virt-v2v
を利用して Microsoft Windows のゲストを移行する手順は Linux ゲストの場合とほとんど同じですが、仮想マシンドライバパック (VMDP) の部分のみ違いがあります。 VMDP を利用した Windows ゲストの変換方法について、詳しくは Virtual Machine Driver Pack documentation をご覧ください。
virt-v2v
の紹介 #Edit sourcevirt-v2v
は KVM 以外のハイパーバイザで動作する VM ゲスト を、 libvirt
が管理する KVM 上で実行できるようにするコマンドラインツールです。可能であれば、変換後の仮想マシンで準仮想化型の virtio ドライバを使用するように設定することもできます。サポート対象となるオペレーティングシステムと、ハイパーバイザの一覧は下記のとおりです:
SUSE Linux Enterprise Server
openSUSE
Red Hat Enterprise Linux
Fedora
Microsoft Windows Server 2003 または 2008
Xen
KVM (libvirt
での管理となります)
virt-v2v
のインストール #Edit sourcevirt-v2v
のインストールは簡単です:
>
sudo
zypper install virt-v2v
なお、 virt-v2v
コマンドを実行するには root
の権限が必要となります。 root
で実行するか、もしくは sudo
を介して実行してください。
libvirt
管理下の KVM 仮想マシンへの変換 #Edit sourcevirt-v2v
は、 Xen ハイパーバイザで動作している仮想マシンを libvirt
管理下の KVM に変換することができるツールです。 libvirt
や virsh
コマンドに関する詳細については、 パートII「libvirt
を利用した仮想マシンの管理」 をお読みください。そのほか、 virt-v2v
のコマンドラインオプションについては、 virt-v2v
のマニュアルページ ( man 1 virt-v2v
) をお読みください。
仮想マシンを変換する前に、まずは下記の手順を実行しておきます:
新しいローカルストレージプールを作成します。
virt-v2v
は、移行元の仮想マシンのストレージを libvirt
の管理下にあるローカルのストレージプールにコピーします (移行元のディスクイメージはそのまま保持されます) 。プールを作成するには 仮想マシンマネージャ を使用するか、もしくは virsh
を使用してください。詳しくは 8.2.2項 「仮想マシンマネージャ を利用したストレージの管理」 および 8.2.1項 「virsh
を利用したストレージの管理」 をお読みください。
ローカルのネットワークインターフェイスを準備します。
変換後の仮想マシンが VM ホストサーバ のローカルネットワークインターフェイスを使用できるかどうかを確認します。通常はネットワークブリッジを使用しますが、ネットワークブリッジを作成していない場合は、
› › › › で作成してください。移行元で Xen ホスト内のネットワークデバイスを使用している場合は、変換処理内で移行先の KVM ホスト内のネットワークデバイスを使用するようにすることができます。たとえば Xen のネットワークブリッジが br0
であれば、そのまま KVM でも使用することができます。 /etc/virt-v2v.conf
ファイル内では、そのような変換ルールを設定することができます。この変換機能を有効化するには、 <!--
と -->
でコメントアウトされた箇所のコメントを外してください。たとえば下記のようになります:
<network type='bridge' name='br0'> <network type='network' name='default'/> </network>
ネットワークブリッジが無い場合、必要であれば 仮想マシンマネージャ で作成することもできます。
virt-v2v
は下記のような書式で実行することができます:
virt-v2v -i 入力方式 -os ストレージプール 移行元_VM
入力方式を指定します。 libvirt
または libvirtxml
のいずれかを指定してください。詳しくは 移行元_VM の説明をお読みください。
移行先の仮想マシン向けに用意したストレージプールを指定します。
移行元の仮想マシンを指定します。ここで指定すべき値は 入力方式 の指定によって異なります。 libvirt
を指定した場合は移行元のドメイン名を、 libvirtxml
を指定した場合は移行元のドメインの XML 設定ファイルのパスを指定します。
仮想マシンの変換には、主にディスクイメージ全体をコピーする処理として、多くのシステム資源が必要となります。 1 台の仮想マシンあたり最大でも 10 分程度が必要になりますが、ディスクイメージが大きい場合はより多く時間がかかる場合もあります。
libvirt
の XML 設定ファイルをベースにした変換 #Edit source本章では、 libvirt
の XML 設定ファイルを利用してローカルの Xen 仮想マシンを変換する方法について説明しています。この方式は、既に KVM ハイパーバイザが動作している環境に適切な仕組みです。なお、移行元の libvirt
の XML ファイルと libvirt
のストレージプールが、それぞれローカルホスト内に存在していることを確認しておいてください。
まずは移行元の仮想マシンに対する libvirt
の XML 設定ファイルを取得します。
移行元の仮想マシンの libvirt
XML ファイルを取得するには、まず Xen カーネルを利用してホスト側の OS を動作させなければなりません。既に KVM が有効化された環境を起動している場合は、まず Xen カーネルに戻してから libvirt
の XML ファイルを取得し、その後再度 KVM 環境にしてください。
まずは移行元の仮想マシンを virsh で識別します:
#
virsh list
Id 名前 状態
----------------------------------------------------
[...]
2 sles12_xen 実行中
[...]
変換元の仮想マシンが sles12_xen
である場合は、これを XML 形式のファイル sles12_xen.xml
に保存するには、下記のようなコマンドを実行します:
#
virsh dumpxml sles12_xen > sles12_xen.xml
出力された XML ファイルの内容を表示させて、 KVM ホストの観点からもアクセス可能なパスであることを確認してください。 1 台のマシン内でローカル移行するだけであれば問題はありませんが、他のホストに移行させるような場合は、パスを変更する必要があるかもしれません。
<source file='/var/lib/libvirt/images/XenPool/SLES.qcow2'/>
イメージを何度もコピーしてしまわないようにするため、ディスクイメージを libvirt
のストレージプールに直接コピーしておくことをお勧めします。この場合は、 XML ファイル内の source file の内容を合わせて変更する必要があります。なお、 virt-v2v
を使用すると、既存のディスクを検出してその場で変換を行うようになります。
virt-v2v
コマンドを実行して KVM 仮想マシンに変換します:
#
virt-v2v sles12_xen.xml1 \
-i XML_ファイル2 \
-os 移行先のホスト:/エクスポートされたディレクトリ3 \
--bridge br04 \
-on sles12_kvm5
移行元の Xen ベースの仮想マシンの XML ファイルを指定します。 | |
| |
移行先の仮想マシンのディスクイメージを配置するストレージプールを指定します。この例では、 移行先のホスト 内にある /エクスポートされたディレクトリ 内にイメージを配置することになります。 | |
移行先の KVM ベースの仮想マシンで使用するネットワークブリッジを指定します。ここではホスト内の | |
移行先の仮想マシンを |
libvirt
のドメイン名をベースにした変換 #Edit sourceこの方式は既に libvirt
で Xen を使用していて、移行後に同じマシンを KVM ハイパーバイザに移行するような場合に有用です。
まずは移行対象の仮想マシンの libvirt
ドメイン名を確認します。
#
virsh list
Id 名前 状態
----------------------------------------------------
[...]
2 sles12_xen 実行中
[...]
上記の出力から、 sles12_xen
が移行対象であるものとします。
virt-v2v
コマンドを実行して KVM 仮想マシンに変換します:
#
virt-v2v sles12_xen1 \
-i libvirt2 \
-os ストレージプール3 \
--network eth04 \
-of qcow25 \
-oa sparse6 \
-on sles12_kvm
Xen ベースの仮想マシンのドメイン名を指定します。 | |
| |
移行先のディスクイメージをローカルの | |
全てのゲストブリッジ (もしくはネットワーク) は、ローカルで管理するネットワークに接続します。 | |
移行先の仮想マシンで使用するディスクイメージの形式を指定します。 | |
変換後のディスク領域の割り当て方法を指定します。 |
この方式は、移行元となる Xen の仮想マシンがリモートに存在するような場合に有用です。 virt-v2v
ではリモートのホストとの間を ssh
経由で接続しますので、移行元のホストで SSH サービスが動作していることを確認しておいてください。
virt-v2v
を動作させるにはパスワード無しの SSH 接続が必要となります。これはつまり、 ssh-agent を利用して SSH 鍵を追加しておく必要があることを意味します。詳しくは man ssh-keygen
および man ssh-add
でそれぞれ表示されるマニュアルページをお読みください。 第22章 「OpenSSH によるネットワーク操作の機密保持」 にも詳しい説明があります。
リモートのホストとの間で libvirt
接続を行うには、まずリモート側のホストを表す URI を組み立てる必要があります。下記の例は、接続先のホスト名が remote_host.example.com
で、接続に使用するユーザ名が root
である場合の例です:
xen+ssh://root@remote_host.example.com/
libvirt
の接続 URI に関する詳細は、 https://libvirt.org/uri.html をお読みください。
出力された内容から、移行対象の仮想マシンの libvirt
ドメイン名を探します。
#
virsh -c xen+ssh://root@remote_host.example.com/ list
Id 名前 状態
----------------------------------------------------
1 sles12_xen 実行中
[...]
上記の出力から、 sles12_xen
が移行対象であるものとします。
リモート接続で virt-v2v
コマンドを使用する場合、下記のようなコマンドラインになります:
#
virt-v2v sles12_xen \
-i libvirt \
-ic xen+ssh://root@remote_host.example.com/ \
-os ローカルストレージプール \
--bridge br0
virt-v2v
が完了すると、 -on
オプションで指定した名前で libvirt
内に新しいドメインが作成されます。 -on
を指定しない場合、移行元と同じ名前の仮想マシンになります。新しいゲストは標準的な libvirt
ツール、たとえば virsh
や 仮想マシンマネージャ などで管理することができます。
17.1.3.2項 「libvirt
のドメイン名をベースにした変換」 の手順で Xen の仮想マシンを変換したあとは、ホストマシンを再起動して非 Xen カーネルを起動することができます。
仮想マシンを管理する際の推奨される方式は libvirt
です (詳しくは https://libvirt.org/ をお読みください) 。 libvirt
は仮想マシンを手作業で作成して動作させるよりも手間のかからない方式で、クロスプラットフォームに対応するほか、多数のハイパーバイザにも対応しています。そのほか、リモート接続に際しても機密を保持することができるほか、仮想ネットワークにも対応し、仮想マシンを管理する際の抽象化レイヤとしても使用することができます。そのため、この記事での説明は libvirt
の方式をベースにしています。
一般的に、 Xen から KVM への移行は下記の手順で行います:
移行元の Xen VM ゲスト に対するバックアップコピーを作成する。
(任意) 準仮想化ゲストに固有の変更を適用する。
移行元の Xen VM ゲスト に関する情報を取得し、 KVM 環境で等価な設定を作成する。
Xen ホスト内の移行元ゲストをシャットダウンし、 KVM ハイパーバイザ内で移行先のゲストを起動する。
Xen から KVM への移行はライブマイグレーションに対応していません。そのため、 VM ゲスト を動作させたままでは移行を行うことができません。移行先の KVM の VM ゲスト を動作させる前に、移行元の Xen の VM ゲスト をシャットダウンしてください。
お使いの Xen VM ゲスト をバックアップするには、下記の手順を実施します:
まずは移行元の Xen ゲストを識別します。下記のようにして ID と名前 (Name) を記憶しておきます。
>
sudo
virsh list --all Id 名前 状態 ---------------------------------- 0 Domain-0 実行中 1 SLES15SP3 実行中 [...]
ゲストをシャットダウンします。シャットダウンはゲスト OS 内から実行することが できるほか、下記のようにして virsh
を利用しても実行できます:
>
sudo
virsh shutdown SLES11SP3
まずは設定を XML ファイルにバックアップします。
>
sudo
virsh dumpxml SLES11SP3 > sles11sp3.xml
次にディスクイメージファイルをバックアップします。 cp
や rsync
などのコマンドを利用してバックアップコピーを作成してください。このとき、 md5sum
コマンドでコピーのチェックサムを作成しておくとよいでしょう。
ディスクイメージファイルをバックアップしたら、再度ゲストを起動します:
>
sudo
virsh start SLES11SP3
準仮想化 Xen ゲストから移行する場合は、下記のような変更を適用します。下記の変更はゲストを動作させて適用してもかまいませんし、 guestfs-tools
を使用すれば停止済みのゲストでも適用することができます。
本章で示した変更を適用してしまうと、移行元の VM ゲスト は Xen 内で動作しなくなってしまいますのでご注意ください。
既定のカーネルをインストールした後は Xen からゲストを起動しようとしないでください。起動しようとしても動作しないためです。
Xen ゲストのディスクイメージを KVM ハイパーバイザ内で使用するためにコピーする場合、 Xen ハイパーバイザを 使用せずに 起動できるものであることを確認してください。準仮想化 Xen ゲストの場合、通常は Xen 向けの特殊なカーネルが動作しているほか、 GRUB 2 などのブートローダもインストールされていないためです。
SLES 11 の場合は /etc/sysconfig/kernel
ファイルを更新します。 INITRD_MODULES
パラメータ内にある全ての Xen ドライバを削除し、 virtio ドライバに置き換えます。たとえば下記前者のような設定になっている場合:
INITRD_MODULES="xenblk xennet"
上記を下記のように変更します:
INITRD_MODULES="virtio_blk virtio_pci virtio_net virtio_balloon"
SLES 12, 15 もしくは openSUSE の場合、 /etc/dracut.conf.d/*.conf
ファイル内を検索し、 xenblk xennet
を virtio_blk virtio_pci virtio_net virtio_balloon
に置き換えます。
準仮想化 Xen ゲストの場合、固有の Xen カーネルを動作させています。 KVM で動作できるようにするには、既定のカーネルをインストールする必要があります。
完全仮想化ゲストの場合は既に標準のカーネルがインストールされていますので、ここで敢えてインストールし直す必要はありません。
rpm -q kernel-default
コマンドを Xen ゲスト内で実行すると、既定のカーネルがインストールされているかどうかを確認することができます。インストールされていない場合は zypper in kernel-default
コマンドでインストールしてください。
なお、 KVM でゲストを動作させるには、 virtio (準仮想化) ドライバをインストールしておかなければなりません。下記のようなコマンドを実行して確認してください。なお、 6.4.0-150600.9
の箇所をお使いのカーネルバージョンに置き換えて実行してください:
>
sudo
sudo find /lib/modules/6.4.0-150600.9-default/kernel/drivers/ -name virtio* /lib/modules/6.4.0-150600.9-default/kernel/drivers/block/virtio_blk.ko.zst /lib/modules/6.4.0-150600.9-default/kernel/drivers/bluetooth/virtio_bt.ko.zst /lib/modules/6.4.0-150600.9-default/kernel/drivers/char/hw_random/virtio-rng.ko.zst /lib/modules/6.4.0-150600.9-default/kernel/drivers/crypto/virtio /lib/modules/6.4.0-150600.9/kernel/drivers/block/virtio_blk.ko ...
次に /etc/fstab
ファイルを更新します。xvda
デバイスを vda
デバイスに変更します。
さらにブートローダの設定を更新します。まずは Xen ゲスト内で rpm -q grub2
を実行して、 GRUB 2 がインストールされているかどうかを確認します。インストールされていない場合は zypper in grub2
を実行してインストールしてください。
OS の起動時に新しくインストールした既定のカーネルを使用するように設定します。なお、 Xen 固有のデバイスを使用している場合は、対応するカーネルのコマンドラインオプションを削除もしくは更新してください。この作業は YaST (
› ) のほか、手作業でも行うことができます:まずはメニュー内の Linux の起動項目のうち、変更したい箇所を識別します:
>
cat /boot/grub2/grub.cfg | grep 'menuentry '
新しくインストールしたものがどれなのかを番号で覚えておきます (上から順に 0 から数えてください) 。
新しくインストールしたカーネルを既定の起動項目に設定します:
>
sudo
grub2-set-default N
ここで、 N の箇所には新しくインストールしたカーネルの順序番号を指定します。
/etc/default/grub
ファイルをエディタなどで開き、 GRUB_CMDLINE_LINUX_DEFAULT
および GRUB_CMDLINE_LINUX_RECOVERY
のオプションを探します。それらの値のうち、 Xen 固有のデバイス指定があれば、それらを削除もしくは更新してください。たとえば下記前者のような指定があった場合:
root=/dev/xvda1 disk=/dev/xvda console=xvc
上記を下記のように変更します:
root=/dev/vda1 disk=/dev/vda
なお、 xvc
のようなコンソール指定があった場合は、それら全て (xvc0
など) を削除する必要があります。
/boot/grub2
もしくは /boot/grub2-efi
ディレクトリ内にある device.map
ファイルを更新します。ここでは xvda
のストレージデバイスを vda
に変更してください。
新しい既定値を取り込むため、下記のように実行します:
grub2-mkconfig -o /boot/grub2/grub.cfg
さらにシステムを更新して、既定のシリアルコンソールを使用するようにします。まずは設定済みのコンソールを一覧表示して、 xvc?
へのシンボリックリンクを削除してください。
>
sudo
ls -l /etc/systemd/system/getty.target.wants/ getty@tty1.service -> /usr/lib/systemd/system/getty@.service getty@xvc0.service -> /usr/lib/systemd/system/getty@xvc0.service getty@xvc1.service -> /usr/lib/systemd/system/getty@xvc1.service # rm /etc/systemd/system/getty.target.wants/getty@xvc?.service
さらに /etc/securetty
ファイルを更新します。 xvc0
を ttyS0
に置き換えてください。
本章では移行元の Xen VM ゲスト の設定をエクスポートする方法、および libvirt
の管理下の KVM ゲストとして取り込む際の変更すべき項目について説明しています。
まずはゲストの設定をエクスポートしてファイルに保存します。保存された内容は、たとえば下記のようになります:
>
sudo
virsh dumpxml SLES11SP3 <domain type='xen'> <name>SLES11SP3</name> <uuid>fa9ea4d7-8f95-30c0-bce9-9e58ffcabeb2</uuid> <memory>524288</memory> <currentMemory>524288</currentMemory> <vcpu>1</vcpu> <bootloader>/usr/bin/pygrub</bootloader> <os> <type>linux</type> </os> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/lib/xen/bin/qemu-dm</emulator> <disk type='file' device='disk'> <driver name='file'/> <source file='/var/lib/libvirt/images/SLES_11_SP2_JeOS.x86_64-0.0.2_para.raw'/> <target dev='xvda' bus='xen'/> </disk> <interface type='bridge'> <mac address='00:16:3e:2d:91:c3'/> <source bridge='br0'/> <script path='vif-bridge'/> </interface> <console type='pty'> <target type='xen' port='0'/> </console> <input type='mouse' bus='xen'/> <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/> </devices> </domain>
libvirt での VM ゲスト の XML 書式に関する詳細は、 https://libvirt.org/formatdomain.html で説明されています。
出力した Xen ゲストの XML 設定ファイルは、 KVM ハイパーバイザで動作させる際にいくつか修正する必要があります。下記の手順は完全仮想化と準仮想化の両方に対応しています。ただし、下記の XML 要素全てが存在するとは限りません。存在しているもののみを修正してください。
XML 設定ファイル内での項目位置を示すため、本文書では XPath 文法を使用しています。たとえば下記のような XML ファイル内で、 <domain>
タグ内の <name>
を表す場合:
<domain> <name>sles11sp3</name> </domain>
XPath では /domain/name
と表記します。
まずは /domain
要素内の type
属性を、 xen
から kvm
に変更します。
/domain/bootloader
要素を削除します。
/domain/bootloader_args
要素を削除します。
/domain/os/type
要素の値を、 linux
から hvm
に変更します。
/domain/os
要素内に <boot dev="hd"/>
を追加します。
/domain/os/type
要素内に arch
属性を追加します。設定可能な値は arch=”x86_64”
もしくは arch=”i686”
のいずれかです。
/domain/devices/emulator
要素内の値を、 /usr/lib/xen/bin/qemu-dm'
から /usr/bin/qemu-kvm
に変更します。
準仮想化 (PV) ゲストに関連づけられたディスクに対して、下記の設定変更を行います:
/domain/devices/disk/driver
要素内にある name
属性を file
から qemu
に変更し、 type
属性を追加します。 type
属性には raw
もしくは qcow2
のいずれかの値を指定します。
/domain/devices/disk/target
要素内の dev
属性を、 xvda
から vda
に変更します。
/domain/devices/disk/target
要素内の bus
属性を、 xen
から virtio
に変更します。
それぞれのネットワークカードに対して、下記の変更を行います:
/domain/devices/interface
内に model
要素が存在している場合は、その type
属性を virtio
に変更します:
<model type=”virtio”>
/domain/devices/interface/script
要素があれば、それらの要素全てを削除します。
/domain/devices/interface/target
要素内に dev
属性が存在していて、その値が vif
, vnet
, veth
のいずれかで始まるものであった場合は、それらの要素全てを削除します。独自のネットワークを使用している場合は、 dev
の値を変更します。
/domain/devices/console
要素があれば、それらの要素全てを削除します。
/domain/devices/serial
要素があれば、それらの要素全てを削除します。
/domain/devices/input
要素内の bus
属性を、 xen
から ps2
に変更します。
メモリバルーン機能を使用する場合は、 /domain/devices
要素内に下記の要素を追加します。
<memballoon model="virtio"/>
<target dev='hda' bus='ide'/>
要素はゲスト OS 側に対してどのようにディスクを提示するのかを制御する項目です。 dev
属性では 「論理」 デバイス名を指定しますが、この値とゲスト OS 内でのデバイス名は、必ずしも一致しているとは限りません。そのため、ブートローダのコマンドラインで、ディスクのマッピングを変更する必要があるかもしれません。たとえばブートローダ側の設定では hda2
にルートディスクが存在しているように記述されているものの、 KVM では sda2
に現れるような場合、下記のようにブートローダのコマンドラインを変更する必要があります:
[...] root=/dev/hda2 resume=/dev/hda1 [...]
上記を下記のように変更します:
[...] root=/dev/sda2 resume=/dev/sda1 [...]
準仮想化型の xvda
デバイスを使用している場合は、下記のようにします:
[...] root=/dev/vda2 resume=/dev/vda1 [...]
上記の変更を行わないと、 VM ゲスト を KVM 環境で起動することができなくなります。
上述の変更点を全て適用すると、 KVM ゲストの設定は下記の例のようになります:
<domain type='kvm'> <name>SLES11SP3</name> <uuid>fa9ea4d7-8f95-30c0-bce9-9e58ffcabeb2</uuid> <memory>524288</memory> <currentMemory>524288</currentMemory> <vcpu cpuset='0-3'>1</vcpu> <os> <type arch=”x86_64”>hvm</type> <boot dev="hd"/> </os> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type="raw"/> <source file='/var/lib/libvirt/images/SLES_11_SP2_JeOS.x86_64-0.0.2_para.raw'/> <target dev='vda' bus='virtio'/> </disk> <interface type='bridge'> <mac address='00:16:3e:2d:91:c3'/> <source bridge='br0'/> </interface> <input type='mouse' bus='usb'/> <graphics type='vnc' port='5900' autoport='yes' keymap='en-us'/> <memballoon model="virtio"/> </devices> </domain>
変更後の設定は、ホームディレクトリ内に SLES11SP3.xml
のようなファイル名で保存してください。取り込みを行うと、設定は /etc/libvirt/qemu
ディレクトリ内にコピーされます。
VM ゲスト の設定とゲスト OS 内での設定を変更したら、移行元の Xen ゲストをシャットダウンして、 KVM ハイパーバイザで移行先を起動してください。
Xen ホスト内で動作するゲストをシャットダウンするには、コンソールから root
で shutdown -h now
を実行します。
必要であれば、 VM ゲスト に結びつけられているディスクファイルをコピーします。既定の設定では、 Xen のディスクイメージは /var/lib/xen/images
にありますので、これを /var/lib/kvm/images
にコピーしてください。なお、 KVM 側にゲストがまだ存在していない場合、 /var/lib/kvm/images
ディレクトリは存在しませんので、 (root
で) 作成してからコピーしてください。
新しいドメインを作成して libvirt
に登録します:
>
sudo
virsh define SLES11SP3.xml ドメイン SLES11SP3 が SLES11SP3.xml から定義されました
作成したドメインが KVM の設定内に存在していることを確認します:
>
virsh list –all
ドメインを作成したら、あとは起動するだけです:
>
sudo
virsh start SLES11SP3 ドメイン SLES11SP3 が起動されました
libvirt に関する詳細は、 https://libvirt.org をお読みください。
libvirt
の XML 書式に関する詳細については、 https://libvirt.org/formatdomain.html をお読みください。