가상화 · 5 min read · Jan 31, 2026
페도라 10 서버에서 Enomalism 2로 KVM 가상화
페도라 10 서버에서 Enomalism 2로 KVM 가상화
버전 1.0
저자: Falko Timme
Enomalism ECP (Elastic Computing Platform)는 하나 이상의 호스트 시스템에서 가상 머신을 설계, 배포 및 관리할 수 있는 웹 기반 제어판을 제공합니다(여러 시스템의 경우 클러스터 또는 클라우드라고 합니다). 이 문서에서는 Enomalism(또는 Enomaly로도 알려짐)을 사용하여 하나의 페도라 10 서버에서 KVM 게스트를 관리하는 방법을 보여줍니다.
이 방법이 귀하에게 효과가 있을 것이라는 보장은 하지 않습니다!
1 사전 참고
저는 여기서 KVM 호스트로서 hostname이 server1.example.com이고 IP 주소가 192.168.0.100인 페도라 10 서버를 사용하고 있습니다. 이 서버는 DHCP 서버가 있는 사설 네트워크에 위치해 있습니다(라우터에서 IP 192.168.0.1). 공용 네트워크에서 사용할 경우 Enomalism 사용법이 다를 수 있습니다.
시작하기 전에 다음을 실행하십시오.
system-config-firewall방화벽을 비활성화합니다.
또한 SELinux가 비활성화되어 있는지 확인하십시오. /etc/selinux/config를 엽니다…
vi /etc/selinux/config… 그리고 SELINUX를 비활성화로 설정합니다:
| # 이 파일은 시스템에서 SELinux의 상태를 제어합니다. # SELINUX=은 다음 세 가지 값 중 하나를 가질 수 있습니다: # enforcing - SELinux 보안 정책이 적용됩니다. # permissive - SELinux가 적용 대신 경고를 출력합니다. # disabled - SELinux 정책이 로드되지 않습니다. SELINUX=disabled # SELINUXTYPE=은 다음 두 가지 값 중 하나를 가질 수 있습니다: # targeted - 대상 프로세스가 보호됩니다, # mls - 다중 수준 보안 보호. SELINUXTYPE=targeted |
다음 명령을 실행하십시오.
setenforce 0… 변경 사항이 적용되도록 합니다.
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 rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
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 rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
[root@server1 ~]#아무것도 표시되지 않으면 프로세서가 하드웨어 가상화를 지원하지 않으며, 여기서 중단해야 합니다.
2 Enomalism 2 설치
먼저 다음을 수행하십시오:
wget http://downloads.sourceforge.net/enomalism/enomalism.public
rpm --import enomalism.publicwget http://downloads.sourceforge.net/enomalism/enomalism001.pubkey.asc
rpm --import enomalism001.pubkey.ascKVM과 Qemu를 설치하기 위해 다음을 실행합니다.
yum install libvirt libvirt-python kvm qemuln -s /usr/bin/qemu-kvm /usr/bin/kvm그런 다음 libvirt 데몬을 시작합니다:
/etc/init.d/libvirtd startKVM이 성공적으로 설치되었는지 확인하려면 다음을 실행하십시오.
virsh -c qemu:///system list다음과 같은 내용을 표시해야 합니다:
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
----------------------------------
[root@server1 ~]#오류가 표시되면 뭔가 잘못된 것입니다.
다음으로, 가상 머신이 네트워크의 물리적 시스템처럼 다른 호스트에서 접근할 수 있도록 서버에 네트워크 브리지를 설정해야 합니다.
이를 위해 bridge-utils 패키지를 설치합니다…
yum install bridge-utils… 그리고 브리지를 구성합니다. NetworkManager의 시스템 시작 링크를 삭제하고 네트워크의 시스템 시작 링크를 생성합니다:
chkconfig --del NetworkManager
chkconfig --levels 235 network on그런 다음 /etc/sysconfig/network-scripts/ifcfg-virbr0 파일을 생성합니다(부팅 프로토콜, DNS1(및 기타 DNS 설정이 있는 경우), 게이트웨이, IPADDR, NETMASK 및 SEARCH 값을 /etc/sysconfig/network-scripts/ifcfg-eth0 파일에서 가져오십시오):
vi /etc/sysconfig/network-scripts/ifcfg-virbr0| DEVICE=virbr0 TYPE=Bridge BOOTPROTO=static DNS1=145.253.2.75 GATEWAY=192.168.0.1 IPADDR=192.168.0.100 NETMASK=255.255.255.0 ONBOOT=yes SEARCH="example.com" |
/etc/sysconfig/network-scripts/ifcfg-eth0 파일을 다음과 같이 수정합니다(BOOTPROTO, DNS1(및 기타 DNS 서버가 있는 경우), GATEWAY, IPADDR, NETMASK 및 SEARCH를 주석 처리하고 BRIDGE=virbr0를 추가합니다):
vi /etc/sysconfig/network-scripts/ifcfg-eth0| # nVidia Corporation Unknown (0x0760) DEVICE=eth0 #BOOTPROTO=static #DNS1=145.253.2.75 #GATEWAY=192.168.0.1 HWADDR=00:1e:90:f3:f0:02 #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 ONBOOT=yes #SEARCH="example.com" BRIDGE=virbr0 |
그런 다음 시스템을 재부팅합니다:
reboot재부팅 후 다음을 실행합니다.
ifconfig이제 네트워크 브리지(virbr0)가 표시되어야 합니다:
[root@server1 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1611 errors:0 dropped:0 overruns:0 frame:0
TX packets:1986 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:133898 (130.7 KiB) TX bytes:2092110 (1.9 MiB)
Interrupt:22 Base address:0xa000
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:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1040 (1.0 KiB) TX bytes:1040 (1.0 KiB)
virbr0 Link encap:Ethernet HWaddr 00:1E:90:F3:F0:02
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1533 errors:0 dropped:0 overruns:0 frame:0
TX packets:1936 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:95507 (93.2 KiB) TX bytes:2076556 (1.9 MiB)
[root@server1 ~]#또한 KVM 커널 모듈이 이제 로드되어야 합니다:
lsmod | grep -i kvm[root@server1 ~]# lsmod | grep -i kvm
kvm_amd 37644 2
kvm 137976 1 kvm_amd
[root@server1 ~]#(이 출력은 AMD-V 프로세서가 있는 시스템에서 가져온 것입니다. 시스템이 Intel VT CPU를 사용하는 경우 kvm_intel과 같은 내용이 표시되어야 합니다.)
이제 http://sourceforge.net/project/showfiles.php?group_id=164855&package_id=186866&release_id=667675에서 최신 Enomalism.rpm 패키지를 다운로드합니다. 예를 들어 다음과 같이 다운로드합니다( PY2.4가 아닌 PY2.5 패키지를 가져오는지 확인하십시오!):
wget http://dfn.dl.sourceforge.net/sourceforge/enomalism/enomalism2-2.2.3.noarch.PY2.5.rpm다운로드가 완료되면 다음과 같이 Enomalism을 설치합니다:
yum install enomalism2-2.2.3.noarch.PY2.5.rpm그런 다음 MySQL의 시스템 시작 링크를 생성하고 MySQL 서버를 시작합니다:
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start다음 명령을 실행하여 root 사용자에 대한 비밀번호를 설정합니다(그렇지 않으면 누구나 MySQL 데이터베이스에 접근할 수 있습니다!).
mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword마지막 명령이 오류를 발생시키면…
[root@server1 named]# mysqladmin -h server1.example.com -u root password yourrootsqlpassword
mysqladmin: connect to server at 'server1.example.com' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
[root@server1 named]#… 다음과 같이 MySQL에 연결하여 비밀번호를 설정할 수 있습니다:
mysql -u root -pMySQL root 사용자에 대한 비밀번호를 입력합니다. 그런 다음 MySQL 셸에서 다음을 수행합니다:
mysql> USE mysql;mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';다음 명령을 실행하여 모든 root 사용자 행에 비밀번호가 있는지 확인합니다.
mysql> SELECT * FROM user;모든 것이 정상으로 보이면 다음을 실행하십시오.
mysql> FLUSH PRIVILEGES;… 그리고 MySQL 셸을 종료합니다:
mysql> quit;이제 Enomalism을 구성해야 합니다. 다음을 실행하십시오.
cd /opt/enomalism2
scripts/init-db.sh yourrootsqlpassword enomalism enomalismpasswordyourrootsqlpassword를 MySQL root 비밀번호로 바꾸십시오. enomalism은 Enomalism이 MySQL 데이터베이스에 연결하는 데 사용할 데이터베이스 사용자 이름이며, enomalismpassword는 사용자 enomalism의 데이터베이스 비밀번호입니다. 둘 다 원하는 사용자 이름/비밀번호로 바꾸십시오.
/opt/enomalism2 디렉토리에는 server1.example.com.cfg라는 파일이 있어야 합니다. 해당 파일을 /opt/enomalism2/config 디렉토리로 복사합니다:
cp server1.example.com.cfg config/server1.example.com.cfg다음 명령을 실행하여 ID를 생성하고 기록해 둡니다(다음 단계에서 /opt/enomalism2/config/server1.example.com.cfg를 수정할 때 필요합니다):
uuidgen[root@server1 enomalism2]# uuidgen
2d54480f-66c6-4c15-aafc-7242208456e0
[root@server1 enomalism2]#이제 /opt/enomalism2/config/server1.example.com.cfg를 편집합니다:
vi config/server1.example.com.cfg다음 네 가지 값을 조정하십시오:
| [...] sqlobject.dburi="mysql://enomalism:enomalismpassword@localhost:3306/enomalism2" [...] enomalism2.baseurl="http://192.168.0.100:8080/rest/" [...] enomalism2.ip_addr="192.168.0.100" [...] enomalism2.self="2d54480f-66c6-4c15-aafc-7242208456e0" [...] |
MySQL 데이터베이스에 대한 올바른 사용자 이름과 비밀번호를 사용하고 다음 두 설정에 대한 올바른 IP 주소를 사용해야 합니다. enomalism2.self 줄에서는 uuidgen으로 생성된 ID를 사용해야 합니다.
해당 파일에서 enomalism2.drivestorage=’file’ 및 enomalism2.storagetarget=’file:///xen/‘ 설정도 찾을 수 있습니다. 현재 Enomalism은 LVM을 지원하지 않으므로 이러한 설정을 변경하지 않아야 합니다!
다음으로 /etc/libvirt/qemu.conf를 편집합니다…
vi /etc/libvirt/qemu.conf… 그리고 vnc_listen = “0.0.0.0” 줄의 주석을 제거합니다:
| [...] vnc_listen = "0.0.0.0" [...] |
(그렇지 않으면 원격 머신에서 VNC를 통해 KVM 게스트에 연결할 수 없습니다!)
그런 다음 libvirtd를 재시작합니다:
/etc/init.d/libvirtd restart이제 Enomalism의 시스템 시작 링크를 생성하고 시작합니다:
chkconfig --levels 235 enomalism2.sh on
/etc/init.d/enomalism2.sh start이제 브라우저를 열고 http://192.168.0.100:8080으로 이동합니다. 이것으로 Enomalism 설치가 완료되어야 합니다:

Enomalism2를 사용하려면 여기를 클릭하세요! 링크를 클릭하십시오:

새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.