서버 관리 · 4 min read · Jan 19, 2026
CentOS 5.7에 OpenVZ 설치 및 사용
CentOS 5.7에 OpenVZ 설치 및 사용
버전 1.0
저자: Falko Timme
Twitter에서 나를 팔로우하세요
이 HowTo에서는 OpenVZ를 위해 CentOS 5.7 서버를 준비하는 방법을 설명합니다. OpenVZ를 사용하면 Xen 및 Linux Vserver 프로젝트와 유사하게 동일한 하드웨어에서 여러 개의 가상 사설 서버(VPS)를 생성할 수 있습니다. OpenVZ는 많은 공급자가 제공하는 상업적 가상화 솔루션인 Virtuozzo의 오픈 소스 분기입니다. OpenVZ 커널 패치는 GPL 라이센스 하에 라이센스가 부여되며, 사용자 수준 도구는 QPL 라이센스 하에 있습니다.
이 문서는 실용적인 가이드를 목적으로 하며 이론적 배경은 다루지 않습니다. 이론적 배경은 웹의 다른 많은 문서에서 다루어집니다.
이 문서는 어떤 종류의 보증 없이 제공됩니다! 이러한 시스템을 설정하는 유일한 방법이 아니라는 점을 말씀드리고 싶습니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 이것이 제가 선택한 방법입니다. 이것이 여러분에게 작동할 것이라는 보증을 제공하지 않습니다!
1 OpenVZ 설치
OpenVZ를 설치하기 위해서는 yum에 OpenVZ 리포지토리를 추가해야 합니다:
cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm --import http://download.openvz.org/RPM-GPG-Key-OpenVZ이제 openvz.repo를 열어보세요…
vi openvz.repo… 그리고 [openvz-kernel-rhel6] 리포지토리를 비활성화하고( enabled=0) [openvz-kernel-rhel5] 리포지토리를 대신 활성화하세요( enabled=1):
| [...] # 안정적인 분기 [openvz-kernel-rhel6] name=OpenVZ RHEL6 기반 커널 #baseurl=http://download.openvz.org/kernel/branches/rhel6-2.6.32/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel6-2.6.32 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-rhel5] name=OpenVZ RHEL5 기반 커널 #baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18 enabled=1 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [openvz-kernel-rhel4] name=OpenVZ RHEL4 기반 커널 #baseurl=http://download.openvz.org/kernel/branches/rhel4-2.6.9/current/ mirrorlist=http://download.openvz.org/kernel/mirrors-rhel4-2.6.9 enabled=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [...] |
리포지토리에는 몇 가지 다른 OpenVZ 커널이 포함되어 있습니다(자세한 내용은 여기에서 확인할 수 있습니다: http://wiki.openvz.org/Kernel_flavors). 명령어
yum search ovzkernel은 사용 가능한 커널을 보여줍니다:
[root@server1 yum.repos.d]# yum search vzkernel
...
ovzkernel.i686 : Virtuozzo Linux 커널 (리눅스 운영 체제의 핵심)
ovzkernel.x86_64 : Virtuozzo Linux 커널 (리눅스 운영 체제의 핵심)
ovzkernel-PAE.i686 : PAE 지원 머신을 위해 컴파일된 리눅스 커널.
ovzkernel-PAE-devel.i686 : PAE 커널에 맞는 커널 모듈을 빌드하기 위한 개발 패키지.
ovzkernel-devel.i686 : 커널에 맞는 커널 모듈을 빌드하기 위한 개발 패키지.
ovzkernel-devel.x86_64 : 커널에 맞는 커널 모듈을 빌드하기 위한 개발 패키지.
ovzkernel-ent.i686 : 대용량 메모리 지원 머신을 위해 컴파일된 리눅스 커널.
ovzkernel-ent-devel.i686 : ent 커널에 맞는 커널 모듈을 빌드하기 위한 개발 패키지.
ovzkernel-xen.i686 : Xen VM 작업을 위해 컴파일된 리눅스 커널
ovzkernel-xen.x86_64 : Xen VM 작업을 위해 컴파일된 리눅스 커널
ovzkernel-xen-devel.i686 : 커널에 맞는 커널 모듈을 빌드하기 위한 개발 패키지.
ovzkernel-xen-devel.x86_64 : 커널에 맞는 커널 모듈을 빌드하기 위한 개발 패키지.
[root@server1 yum.repos.d]#그 중 하나를 선택하여 다음과 같이 설치하세요:
yum install ovzkernel마지막 명령어에서 다음과 같은 오류가 발생하면…
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol strcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol add_memory
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol swiotlb
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol memory_add_physaddr_to_nid
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol remove_memory
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol strcmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/acpi/acpi_memhotplug.ko needs unknown symbol acpi_get_node
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_unregister_ecc_decoder
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_register_ecc_decoder
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_report_gart_errors
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/amd64_edac_mod.ko needs unknown symbol amd_decode_nb_mce
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/cpufreq/freq_table.ko needs unknown symbol strcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/cpufreq/freq_table.ko needs unknown symbol _cpu_pda
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/i7core_edac.ko needs unknown symbol edac_mce_register
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/i7core_edac.ko needs unknown symbol edac_mce_unregister
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/edac/i7core_edac.ko needs unknown symbol __memcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol dma_ops
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol copy_from_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol bad_dma_address
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol find_first_bit
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol strcat
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol mem_section
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol copy_to_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol strncpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol __memcpy
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol strcmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/infiniband/hw/ipath/ib_ipath.ko needs unknown symbol alloc_pages_current
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/kernel/microcode.ko needs unknown symbol copy_from_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol cpu_to_node
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol copy_from_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol copy_user_generic
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol profile_pc
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol copy_to_user
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/oprofile/oprofile.ko needs unknown symbol strcmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/kernel/cpufreq/powernow-k8.ko needs unknown symbol strncmp
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/arch/x86_64/kernel/cpufreq/powernow-k8.ko needs unknown symbol _cpu_pda
WARNING: /lib/modules/2.6.18-274.el5.028stab093.2/kernel/drivers/pci/hotplug/shpchp.ko needs unknown symbol strcpy… ovzkernel을 제거하세요…
yum remove ovzkernel… 그리고 아키텍처에 맞는 ovzkernel 패키지를 설치하세요:
x86_64 시스템에서는:
yum install ovzkernel.x86_64i686 시스템에서는:
yum install ovzkernel.i686이렇게 하면 GRUB 부트로더도 자동으로 업데이트됩니다. 어쨌든 /boot/grub/menu.lst를 열어야 합니다; 첫 번째 커널 스탠자는 이제 새로운 OpenVZ 커널을 포함해야 합니다. 기본값이 0으로 설정되어 있는지 확인하여 첫 번째 커널(OpenVZ 커널)이 기본 CentOS 커널 대신 자동으로 부팅되도록 합니다.
vi /boot/grub/menu.lst| # grub.conf는 anaconda에 의해 생성됨 # # 이 파일을 변경한 후 grub를 다시 실행할 필요는 없습니다 # NOTICE: /boot 파티션이 있습니다. 이는 # 모든 커널 및 initrd 경로가 /boot/에 상대적임을 의미합니다, 예: # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title OpenVZ (2.6.18-274.el5.028stab093.2) root (hd0,0) kernel /vmlinuz-2.6.18-274.el5.028stab093.2 ro root=/dev/VolGroup00/LogVol00 selinux=0 initrd /initrd-2.6.18-274.el5.028stab093.2.img title CentOS (2.6.18-274.el5) root (hd0,0) kernel /vmlinuz-2.6.18-274.el5 ro root=/dev/VolGroup00/LogVol00 initrd /initrd-2.6.18-274.el5.img |
이제 OpenVZ 사용자 도구를 설치합니다:
yum install vzctl vzquota/etc/sysctl.conf를 열고 다음 설정이 포함되어 있는지 확인하세요:
vi /etc/sysctl.conf| [...] net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.conf.all.rp_filter = 1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 [...] |
/etc/sysctl.conf를 수정해야 하는 경우, 이후에
sysctl -p를 실행하세요.
다음 단계는 가상 머신의 IP 주소가 호스트 시스템의 IP 주소와 다른 서브넷에 있는 경우 중요합니다. 이 작업을 수행하지 않으면 가상 머신에서 네트워킹이 작동하지 않습니다!
/etc/vz/vz.conf를 열고 NEIGHBOUR_DEVS를 all로 설정하세요:
vi /etc/vz/vz.conf| [...] NEIGHBOUR_DEVS=all [...] |
OpenVZ를 사용하려면 SELinux를 비활성화해야 합니다. /etc/sysconfig/selinux를 열고 SELINUX의 값을 disabled로 설정하세요:
vi /etc/sysconfig/selinux| # 이 파일은 시스템에서 SELinux의 상태를 제어합니다. # SELINUX=은 다음 세 가지 값 중 하나를 가질 수 있습니다: # enforcing - SELinux 보안 정책이 시행됩니다. # permissive - SELinux가 시행 대신 경고를 출력합니다. # disabled - SELinux가 완전히 비활성화됩니다. SELINUX=disabled # SELINUXTYPE= 사용 중인 정책의 유형. 가능한 값은: # targeted - 오직 대상 네트워크 데몬만 보호됩니다. # strict - 전체 SELinux 보호. SELINUXTYPE=targeted |
마지막으로 시스템을 재부팅합니다:
reboot시스템이 문제 없이 재부팅되면 모든 것이 정상입니다!
uname -r을 실행하면 새로운 OpenVZ 커널이 표시되어야 합니다:
[root@server1 ~]# uname -r
2.6.18-274.el5.028stab093.2
[root@server1 ~]#새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.