가상화 · 3 min read · Jan 21, 2026

CentOS 6.3 서버에서 KVM으로 가상화 - 페이지 5

8 명령줄에서 LVM 기반 게스트 만들기

CentOS 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 ~]#

이제 LVM 기반 게스트로 가상 머신 vm12를 생성하겠습니다. 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 기반 게스트로 변환하기

CentOS 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

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.