仮想化 · 2 min read · Feb 01, 2026

Scientific Linux 6.3 サーバーでの KVM を使用した仮想化 - ページ 5

8 コマンドラインからの LVM ベースのゲストの作成

Scientific Linux 6.3 KVM ホスト:

LVM ベースのゲストは、イメージベースのゲストに比べていくつかの利点があります。ハードディスク IO に対する負担が少なく、バックアップが容易です (LVM スナップショットを使用)。

LVM ベースのゲストを使用するには、論理ボリュームに割り当てられていない空きスペースを持つボリュームグループが必要です。この例では、サイズが約 465GB のボリュームグループ /dev/vg_server1 を使用します…

vgdisplay
[root@server1 ~]# vgdisplay  
 --- Volume group ---  
 VG Name               vg_server1  
 System ID  
 Format                lvm2  
 Metadata Areas        1  
 Metadata Sequence No  3  
 VG Access            read/write  
 VG Status            resizable  
 MAX LV               0  
 Cur LV               2  
 Open LV              2  
 Max PV               0  
 Cur PV               1  
 Act PV               1  
 VG Size              465.28 GiB  
 PE Size              4.00 MiB  
 Total PE            119112  
 Alloc PE / Size     26500 / 103.52 GiB  
 Free  PE / Size     92612 / 361.77 GiB  
 VG UUID              ZXWn5k-oVkA-ibuC-ip8x-edLx-3DMw-UrYMXg  
  
[root@server1 ~]#

… 論理ボリューム /dev/vg_server1/LogVol00 のサイズが約 100GB、/dev/vg_server1/LogVol01 (約 6GB) が含まれています - 残りは未割り当てで、KVM ゲストに使用できます:

lvdisplay
[root@server1 ~]# lvdisplay  
 --- Logical volume ---  
 LV Path                /dev/vg_server1/LogVol01  
 LV Name                LogVol01  
 VG Name                vg_server1  
 LV UUID                uUpXY3-yGfZ-X6bc-3D1u-gB4E-CfKE-vDcNfw  
 LV Write Access        read/write  
 LV Creation host, time server1.example.com, 2012-08-21 13:45:32 +0200  
 LV Status              available  
 # open                 1  
 LV Size                5.86 GiB  
 Current LE            1500  
 Segments               1  
 Allocation             inherit  
 Read ahead sectors     auto  
 - currently set to     256  
 Block device           253:0  
  
 --- Logical volume ---  
 LV Path                /dev/vg_server1/LogVol00  
 LV Name                LogVol00  
 VG Name                vg_server1  
 LV UUID                FN1404-Aczo-9dfA-CnNI-IKn0-L2hW-Aix0rV  
 LV Write Access        read/write  
 LV Creation host, time server1.example.com, 2012-08-21 13:45:33 +0200  
 LV Status              available  
 # open                 1  
 LV Size                97.66 GiB  
 Current LE            25000  
 Segments               1  
 Allocation             inherit  
 Read ahead sectors     auto  
 - currently set to     256  
 Block device           253:1  
  
[root@server1 ~]#

これから、仮想マシン vm12 を LVM ベースのゲストとして作成します。vm12 に 20GB のディスクスペースを持たせるため、サイズが 20GB の論理ボリューム /dev/vg_server1/vm12 を作成します:

lvcreate -L20G -n vm12 vg_server1

その後、再度 virt-install コマンドを使用してゲストを作成します:

virt-install --connect qemu:///system -n vm12 -r 512 --vcpus=2 --disk path=/dev/vg_server1/vm12 -c /var/lib/libvirt/images/debian-6.0.5-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debiansqueeze --accelerate --network=bridge:br0 --hvm

–disk path=/var/lib/libvirt/images/vm12.img,size=20 の代わりに –disk path=/dev/vg_server1/vm12 を使用し、論理ボリューム vm12 のサイズ (20GB) によってディスクスペースが定義されるため、ディスクスペースを再度定義する必要はありません。

次に、ゲストをインストールするために第 5 章に従ってください。

9 イメージベースのゲストを LVM ベースのゲストに変換する

Scientific Linux 6.3 ホスト:

さて、イメージベースのゲスト vm10 を LVM ベースのゲストに変換したいと仮定しましょう。以下の手順で行います:

まず、ゲストが停止していることを確認します:

virsh --connect qemu:///system
shutdown vm10
quit

次に、イメージファイルと同じサイズの論理ボリューム (例: /dev/vg_server1/vm10) を作成します。イメージのサイズを確認するには、次のコマンドを入力します…

ls -l /var/lib/libvirt/images/
[root@server1 ~]# ls -l /var/lib/libvirt/images/  
total 13819392  
-rw-r--r-- 1 qemu qemu   177209344 May 12 22:41 debian-6.0.5-amd64-netinst.iso  
-rw------- 1 root root 12884901888 Aug 21 15:37 vm10.img  
-rw------- 1 qemu qemu 12884901888 Aug 21 15:51 vm11.img  
[root@server1 ~]#

ご覧の通り、vm10.img のサイズは正確に 12884901888 バイトです。正確に同じサイズの論理ボリュームを作成するには、-L 12884901888b を指定する必要があります (lvcreate にバイトを使用するよう指示するため、末尾の b を忘れないでください - そうしないとメガバイトとして扱われます):

lvcreate -L 12884901888b -n vm10 vg_server1

次に、イメージを変換します:

qemu-img convert /var/lib/libvirt/images/vm10.img -O raw /dev/vg_server1/vm10

その後、ディスクイメージを削除できます:

rm -f /var/lib/libvirt/images/vm10.img

次に、ゲストの XML 構成ファイル /etc/libvirt/qemu/vm10.xml を開く必要があります…

vi /etc/libvirt/qemu/vm10.xml

… 次のセクションを変更します…

| [...]

[...] |

… 次のように見えるように:

| [...]

[...] |

その後、ゲストを再定義する必要があります:

virsh --connect qemu:///system
define /etc/libvirt/qemu/vm10.xml

まだ virsh シェルにいる間に、ゲストを起動できます…

start vm10

… そして virsh シェルを終了します:

quit

10 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。