OpenVZ установка · 5 min read · Jan 19, 2026
Установка и использование OpenVZ на CentOS 5.7
Установка и использование OpenVZ на CentOS 5.7
Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter
В этом руководстве я опишу, как подготовить сервер CentOS 5.7 для OpenVZ. С помощью OpenVZ вы можете создать несколько Виртуальных Частных Серверов (VPS) на одном оборудовании, аналогично Xen и проекту Linux Vserver. OpenVZ является открытой версией Virtuozzo, коммерческого решения для виртуализации, используемого многими провайдерами, которые предлагают виртуальные серверы. Патч ядра OpenVZ лицензирован под лицензией GPL, а инструменты пользовательского уровня — под лицензией QPL.
Это руководство предназначено как практическое руководство; оно не охватывает теоретические основы. Они рассматриваются во многих других документах в сети.
Этот документ предоставляется без каких-либо гарантий! Я хочу сказать, что это не единственный способ настройки такой системы. Существует множество способов достижения этой цели, но это тот путь, который я выбираю. Я не даю никаких гарантий, что это сработает для вас!
1 Установка OpenVZ
Для установки OpenVZ нам нужно добавить репозиторий OpenVZ в yum:
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-based kernel #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-based kernel #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-based kernel #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 (ядро операционной системы Linux)
ovzkernel.x86_64 : Ядро Virtuozzo Linux (ядро операционной системы Linux)
ovzkernel-PAE.i686 : Ядро Linux, скомпилированное для машин с поддержкой PAE.
ovzkernel-PAE-devel.i686 : Пакет разработки для сборки модулей ядра, соответствующих PAE ядру.
ovzkernel-devel.i686 : Пакет разработки для сборки модулей ядра, соответствующих ядру.
ovzkernel-devel.x86_64 : Пакет разработки для сборки модулей ядра, соответствующих ядру.
ovzkernel-ent.i686 : Ядро Linux, скомпилированное для машин с большой памятью.
ovzkernel-ent-devel.i686 : Пакет разработки для сборки модулей ядра, соответствующих ent ядру.
ovzkernel-xen.i686 : Ядро Linux, скомпилированное для операций с Xen VM
ovzkernel-xen.x86_64 : Ядро Linux, скомпилированное для операций с 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_64На системах i686:
yum install ovzkernel.i686Это должно автоматически обновить загрузчик GRUB. В любом случае, мы должны открыть /boot/grub/menu.lst; первый блок ядра теперь должен содержать новое ядро OpenVZ. Убедитесь, что значение по умолчанию равно 0, чтобы первое ядро (ядро OpenVZ) загружалось автоматически вместо ядра CentOS по умолчанию.
vi /boot/grub/menu.lst| # grub.conf, сгенерированный anaconda # # Обратите внимание, что вам не нужно повторно запускать grub после внесения изменений в этот файл # УВЕДОМЛЕНИЕ: У вас есть раздел /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 [...] |
SELinux необходимо отключить, если вы хотите использовать OpenVZ. Откройте /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 ~]#Get new posts in your inbox
No spam. Unsubscribe anytime.