OpenVZ · 3 min read · Dec 08, 2025

Установка и использование OpenVZ на CentOS 6.0

Установка и использование OpenVZ на CentOS 6.0

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

В этом руководстве я опишу, как подготовить сервер CentOS 6.0 для 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-rhel5] (enabled=0) и включите вместо него репозиторий [openvz-kernel-rhel6] (enabled=1):

| [...] [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=0 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [...] [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=1 gpgcheck=1 gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ [...] |

Репозиторий содержит несколько различных ядер OpenVZ (вы можете найти больше деталей о них здесь: http://wiki.openvz.org/Kernel_flavors). Команда

```
yum search vzkernel
```

показывает доступные ядра:

[root@server1 yum.repos.d]# yum search vzkernel  
[...]  
vzkernel.i686 : Ядро Linux  
vzkernel.x86_64 : Ядро Linux  
vzkernel-debug.i686 : Ядро Linux, скомпилированное с включенной дополнительной отладкой  
vzkernel-debug.x86_64 : Ядро Linux, скомпилированное с включенной дополнительной отладкой  
vzkernel-debug-devel.i686 : Пакет разработки для сборки модулей ядра, соответствующих отладочному ядру  
vzkernel-debug-devel.x86_64 : Пакет разработки для сборки модулей ядра, соответствующих отладочному ядру  
vzkernel-devel.i686 : Пакет разработки для сборки модулей ядра, соответствующих ядру  
vzkernel-devel.x86_64 : Пакет разработки для сборки модулей ядра, соответствующих ядру  
vzkernel-firmware.noarch : Файлы прошивки, используемые ядром Linux  
vzkernel-headers.i686 : Заголовочные файлы для ядра Linux для использования glibc  
vzkernel-headers.x86_64 : Заголовочные файлы для ядра Linux для использования glibc  
[root@server1 yum.repos.d]#

Выберите одно из них и установите его следующим образом:

```
yum install vzkernel
```

Это должно автоматически обновить загрузчик GRUB. В любом случае, мы должны открыть /boot/grub/menu.lst; первая строка ядра теперь должна содержать новое ядро OpenVZ. Заголовок этого ядра просто читается как “CentOS Linux “. Я думаю, что хорошей идеей будет изменить этот заголовок и добавить что-то с “OpenVZ” к нему, чтобы вы знали, что это ядро OpenVZ. Также убедитесь, что значение default равно 0, чтобы первое ядро (ядро OpenVZ) загружалось автоматически вместо ядра по умолчанию CentOS.

```
vi /boot/grub/menu.lst
```

| # grub.conf сгенерирован anaconda # # Обратите внимание, что вам не нужно повторно запускать grub после внесения изменений в этот файл # УВЕДОМЛЕНИЕ: У вас есть раздел /boot. Это означает, что # все пути к ядру и initrd относительны к /boot/, т.е. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_server1-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS Linux OpenVZ (2.6.32-042stab020.1) root (hd0,0) kernel /vmlinuz-2.6.32-042stab020.1 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de crashkernel=auto rhgb quiet initrd /initramfs-2.6.32-042stab020.1.img title CentOS (2.6.32-71.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/mapper/vg_server1-lv_root rd_LVM_LV=vg_server1/lv_root rd_LVM_LV=vg_server1/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=de crashkernel=auto rhgb quiet initrd /initramfs-2.6.32-71.el6.x86_64.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 - Защищены целевые процессы, # mls - Защита многоуровенной безопасности. SELINUXTYPE=targeted |

Наконец, перезагрузите систему:

```
reboot
```

Если ваша система перезагрузилась без проблем, значит, все в порядке!

Запустите

```
uname -r
```

и ваше новое ядро OpenVZ должно появиться:

[root@server1 ~]# uname -r  
2.6.32-042stab020.1  
[root@server1 ~]#
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.