Установка OpenVZ · 3 min read · Jan 25, 2026

Установка и использование OpenVZ на Debian Wheezy (AMD64) - Страница 2

2.2 Установка ядра Debian Wheezy из проекта OpenVZ

Добавьте следующую строку в /etc/apt/sources.list:

vi /etc/apt/sources.list

| [...] deb http://download.openvz.org/debian wheezy main |

Добавьте ключ OpenVZ в apt:

wget -O- "http://ftp.openvz.org/debian/archive.key" | apt-key add -

Обновите базу данных пакетов:

apt-get update

Установите ядро OpenVZ, vzctl, vzquota и vzdump следующим образом:

apt-get install vzkernel vzctl vzquota vzdump

Далее мы должны убедиться, что правильное ядро (ядро OpenVZ) загружается при перезагрузке системы. В выводе последней команды вы должны увидеть что-то вроде этого:

Генерация grub.cfg …
Найдено изображение linux: /boot/vmlinuz-3.2.0-4-amd64
Найдено изображение initrd: /boot/initrd.img-3.2.0-4-amd64
Найдено изображение linux: /boot/vmlinuz-2.6.32-042stab059.7
Найдено изображение initrd: /boot/initrd.img-2.6.32-042stab059.7
готово
root@server1:~#

Это означает, что на системе также есть другое ядро (3.2.0), и ядро openVZ (2.6.32) не является первым в списке. Поэтому, чтобы сделать ядро OpenVZ ядром по умолчанию, у нас есть два варианта - настроить ядро по умолчанию в GRUB (рекомендуется) или удалить не-VZ ядро(я).

Чтобы настроить ядро по умолчанию в GRUB, откройте /etc/default/grub…

vi /etc/default/grub

… и измените строку GRUB_DEFAULT (нумерация начинается с 0; поскольку каждое ядро также имеет режим восстановления, наше ядро OpenVZ является третьим ядром, поэтому мы должны поставить 2 здесь):

| [...] GRUB_DEFAULT=2 [...] |

Обновите GRUB после этого:

update-grub

Чтобы удалить ядро по умолчанию, выполните…

apt-get remove linux-image-amd64 linux-image-3.2.0-4-amd64

… и обновите GRUB:

update-grub

Теперь, когда мы убедились, что правильное ядро будет загружено, мы можем продолжать.

Далее мы должны проверить, что мы используем UUID вместо имен устройств в /etc/fstab, потому что в противном случае система может не загрузиться с ядром OpenVZ. Выполните…

blkid

… чтобы узнать UUID ваших устройств/разделов:

root@server1:/tmp# blkid
/dev/mapper/server1-swap_1: UUID=”c465cb44-1bf9-4fbe-bb31-17139fd43004” TYPE=”swap”
/dev/sda5: UUID=”WRK6Xm-fg52-T836-sp4k-6uxm-trHH-FiRdBx” TYPE=”LVM2_member”
/dev/sda1: UUID=”46d1bd79-d761-4b23-80b8-ad20cb18e049” TYPE=”ext2”
/dev/mapper/server1-root: UUID=”d5ac6d76-0b69-46da-b0c1-a4376f2f0e4e” TYPE=”ext4”
root@server1:/tmp#

Откройте /etc/fstab:

vi /etc/fstab

Мой оригинальный /etc/fstab выглядит следующим образом (как вы видите, UUID раздела /boot уже используется, но для / и swap используются имена устройств):

| # /etc/fstab: статическая информация о файловой системе. # # Используйте 'blkid', чтобы напечатать универсальный уникальный идентификатор для устройства; это может быть использовано с UUID= как более надежный способ именования устройств, который работает даже если диски добавляются и удаляются. См. fstab(5). # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <передача> /dev/mapper/server1-root / ext4 errors=remount-ro 0 1 # /boot был на /dev/sda1 во время установки UUID=46d1bd79-d761-4b23-80b8-ad20cb18e049 /boot ext2 defaults 0 2 /dev/mapper/server1-swap_1 none swap sw 0 0 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 |

Измените его так, чтобы для всех разделов использовались UUID:

| # /etc/fstab: статическая информация о файловой системе. # # Используйте 'blkid', чтобы напечатать универсальный уникальный идентификатор для устройства; это может быть использовано с UUID= как более надежный способ именования устройств, который работает даже если диски добавляются и удаляются. См. fstab(5). # # <файловая система> <точка монтирования> <тип> <опции> <дамп> <передача> #/dev/mapper/server1-root / ext4 errors=remount-ro 0 1 UUID=d5ac6d76-0b69-46da-b0c1-a4376f2f0e4e / ext4 errors=remount-ro 0 1 # /boot был на /dev/sda1 во время установки UUID=46d1bd79-d761-4b23-80b8-ad20cb18e049 /boot ext2 defaults 0 2 #/dev/mapper/server1-swap_1 none swap sw 0 0 UUID=c465cb44-1bf9-4fbe-bb31-17139fd43004 none swap sw 0 0 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 |

Создайте символическую ссылку из /var/lib/vz в /vz для обеспечения обратной совместимости:

ln -s /var/lib/vz /vz

Откройте /etc/sysctl.conf и убедитесь, что у вас есть следующие настройки:

vi /etc/sysctl.conf

| [...] net.ipv4.conf.all.rp_filter=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.eth0.proxy_arp=1 [...] |

Если вам нужно изменить /etc/sysctl.conf, выполните

sysctl -p 

после этого.

Следующий шаг важен, если IP-адреса ваших виртуальных машин находятся в другом подсети, чем IP-адрес хост-системы. Если вы этого не сделаете, сеть не будет работать в виртуальных машинах!

Откройте /etc/vz/vz.conf и установите NEIGHBOUR_DEVS на all:

vi /etc/vz/vz.conf

| [...] # Управляет тем, какие интерфейсы отправляют ARP-запросы и изменяют таблицы APR. NEIGHBOUR_DEVS=all [...] |

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

reboot

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

Выполните

uname -r

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

root@server1:~# uname -r
2.6.32-042stab059.7
root@server1:~#

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.