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

CentOS 5.2 서버에서 KVM으로 가상화하기

CentOS 5.2 서버에서 KVM으로 가상화하기

버전 1.0
저자: Falko Timme

이 가이드는 CentOS 5.2 서버에서 가상 머신을 생성하고 실행하기 위해 KVM을 설치하고 사용하는 방법을 설명합니다. 이미지 기반 가상 머신과 논리 볼륨(LVM)을 사용하는 가상 머신을 만드는 방법을 보여드리겠습니다. KVM은 Kernel-based Virtual Machine의 약자로 하드웨어 가상화를 사용합니다. 즉, 하드웨어 가상화를 지원하는 CPU가 필요합니다. 예를 들어 Intel VT 또는 AMD-V가 필요합니다.

이 방법이 여러분에게 작동할 것이라는 보장은 하지 않습니다!

1 사전 참고

여기서는 KVM 호스트로서 hostname이 server1.example.com이고 IP 주소가 192.168.0.100인 CentOS 5.2 서버를 사용하고 있습니다.

또한 설치한 가상 머신의 그래픽 콘솔에 연결할 수 있도록 virt-manager를 설치할 데스크탑 시스템이 필요합니다. 여기서는 Ubuntu 8.10 데스크탑을 사용하고 있습니다.

2 KVM 설치하기

CentOS 5.2 KVM 호스트:

다음 명령어를 실행합니다.

system-config-securitylevel

SELinux를 Permissive로 설정합니다(SELinux를 Disabled로 설정하면 virt-install이 작동하지 않습니다).

그런 다음 CPU가 하드웨어 가상화를 지원하는지 확인합니다. 이 경우 다음 명령어를 실행합니다.

egrep '(vmx|svm)' --color=always /proc/cpuinfo

다음과 같은 결과가 표시되어야 합니다:

[root@server1 ~]# egrep '(vmx|svm)' --color=always /proc/cpuinfo  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall  
 nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse  
[root@server1 ~]#

아무것도 표시되지 않으면 프로세서가 하드웨어 가상화를 지원하지 않으며 여기서 중단해야 합니다.

이제 소프트웨어 패키지에 대한 GPG 키를 가져옵니다:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

KVM과 virtinst(가상 머신을 생성하는 도구)를 설치하려면 다음을 실행합니다:

yum install kvm kmod-kvm qemu libvirt python-virtinst

그런 다음 시스템을 재부팅합니다:

reboot

재부팅 후 KVM 커널 모듈이 로드되어야 합니다:

lsmod | grep kvm
[root@server1 ~]# lsmod | grep kvm  
kvm_amd                50452  0  
kvm                   109264  1 kvm_amd  
[root@server1 ~]#

(이 출력은 AMD-V 프로세서를 가진 시스템의 것입니다. 시스템이 Intel VT CPU를 사용하는 경우 kvm_intel과 같은 것이 표시되어야 합니다.)

KVM이 성공적으로 설치되었는지 확인하려면 다음을 실행합니다:

virsh -c qemu:///system list

다음과 같은 결과가 표시되어야 합니다:

[root@server1 ~]# virsh -c qemu:///system list  
 Id Name                 State  
----------------------------------  
  
[root@server1 ~]#

오류가 표시되면 뭔가 잘못된 것입니다.

다음으로, 가상 머신이 네트워크의 물리적 시스템처럼 다른 호스트에서 접근할 수 있도록 서버에 네트워크 브리지를 설정해야 합니다.

이를 위해 bridge-utils 패키지를 설치합니다…

yum install bridge-utils

… 그리고 브리지를 구성합니다. /etc/sysconfig/network-scripts/ifcfg-br0 파일을 생성합니다(부트 프로토콜, 브로드캐스트, IP 주소, 넷마스크 및 네트워크 값은 /etc/sysconfig/network-scripts/ifcfg-eth0 파일에서 가져오세요):

vi /etc/sysconfig/network-scripts/ifcfg-br0

| DEVICE=br0 TYPE=Bridge BOOTPROTO=static BROADCAST=192.168.0.255 IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes |

/etc/sysconfig/network-scripts/ifcfg-eth0 파일을 다음과 같이 수정합니다(BOOTPROTO, BROADCAST, IPADDR, NETMASK 및 NETWORK를 주석 처리하고 BRIDGE=br0를 추가합니다):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

| # Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ DEVICE=eth0 #BOOTPROTO=static #BROADCAST=192.168.0.255 HWADDR=00:10:A7:05:AF:EB #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 #NETWORK=192.168.0.0 ONBOOT=yes BRIDGE=br0 |

네트워크를 재시작합니다…

/etc/init.d/network restart

… 그리고 다음을 실행합니다:

ifconfig

이제 네트워크 브리지(br0)가 표시되어야 합니다:

[root@server1 ~]# ifconfig  
br0       Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:1160 (1.1 KiB)  TX bytes:14875 (14.5 KiB)  
  
eth0      Link encap:Ethernet  HWaddr 00:10:A7:05:AF:EB  
          inet6 addr: fe80::210:a7ff:fe05:afeb/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:13662 errors:7 dropped:160 overruns:4 frame:0  
          TX packets:11646 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:1000  
          RX bytes:15144608 (14.4 MiB)  TX bytes:1379942 (1.3 MiB)  
          Interrupt:74 Base address:0xcc00  
  
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0  
          inet6 addr: ::1/128 Scope:Host  
          UP LOOPBACK RUNNING  MTU:16436  Metric:1  
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:4308 (4.2 KiB)  TX bytes:4308 (4.2 KiB)  
  
virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0  
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:0  
          RX bytes:0 (0.0 b)  TX bytes:9987 (9.7 KiB)  
  
[root@server1 ~]#

3 Ubuntu 8.10 데스크탑에 virt-viewer 또는 virt-manager 설치하기

Ubuntu 8.10 데스크탑:

우리는 게스트의 그래픽 콘솔에 연결할 수단이 필요합니다. 이를 위해 virt-manager를 사용할 수 있습니다(자세한 내용은 Ubuntu 8.10에서 Virt-Manager로 KVM 게스트 관리 참조). Ubuntu 8.10 데스크탑을 사용하고 있다고 가정합니다.

다음 명령어를 실행하여 virt-manager를 설치합니다:

sudo aptitude install virt-manager

(만약 Fedora 10 데스크탑을 사용하고 있다면, 다음과 같이 virt-manager를 설치할 수 있습니다:

루트가 되세요…

su

… 그리고 다음을 실행합니다:

yum install virt-manager

)

Share: X/Twitter LinkedIn

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

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