OpenVZ · 5 min read · Jan 18, 2026

Установка и использование OpenVZ на Debian Etch

Установка и использование OpenVZ на Debian Etch

Версия 1.0
Автор: Фалько Тимме

В этом руководстве я опишу, как подготовить сервер Debian Etch для OpenVZ. С помощью OpenVZ вы можете создать несколько Виртуальных Частных Серверов (VPS) на одном оборудовании, аналогично Xen и проекту Linux Vserver. OpenVZ — это открытая версия Virtuozzo, коммерческого решения для виртуализации, используемого многими провайдерами, предлагающими виртуальные серверы. Патч ядра OpenVZ лицензирован под лицензией GPL, а инструменты уровня пользователя — под лицензией QPL.

Это руководство предназначено как практическое руководство; оно не охватывает теоретические основы. Они рассматриваются во многих других документах в интернете.

Этот документ предоставляется без каких-либо гарантий! Я хочу сказать, что это не единственный способ настройки такой системы. Существует множество способов достижения этой цели, но это тот путь, который я выбираю. Я не даю никаких гарантий, что это сработает для вас!

1 Установка OpenVZ

Чтобы установить OpenVZ, нам нужно добавить репозиторий OpenVZ в наш /etc/apt/sources.list:

vi /etc/apt/sources.list

| [...] deb http://download.openvz.org/debian-systs etch openvz [...] |

Запустите

wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add - && apt-get update

после этого, чтобы загрузить ключ этого репозитория и обновить базу данных пакетов.

Репозиторий содержит шесть ядер OpenVZ, из которых вы должны выбрать одно. Пакеты ovzkernel используют оригинальную конфигурацию ядра OpenVZ, пакеты fzakernel используют конфигурацию ядра Debian по умолчанию плюс настройки OpenVZ:

  • ovzkernel-2.6.18: унипроцессор | до 4 ГБ ОЗУ | i386 и amd64
  • ovzkernel-2.6.18-smp: симметричный многопроцессор | до 4 ГБ ОЗУ | i386 и amd64
  • ovzkernel-2.6.18-enterprise: поддержка SMP + PAE + разделение 4/4 ГБ | до 64 ГБ ОЗУ | только i386
  • fzakernel-2.6.18-686: уни- и многопроцессор | до 4 ГБ ОЗУ | i386
  • fzakernel-2.6.18-686-bigmem: симметричный многопроцессор | до 64 ГБ ОЗУ | i386
  • fzakernel-2.6.18-amd64: уни- и многопроцессор | amd64

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

apt-get install fzakernel-2.6.18-686-bigmem

Затем обновите загрузчик GRUB:

update-grub

Теперь мы устанавливаем некоторые инструменты пользователя OpenVZ плюс минимальный шаблон ОС Debian Etch, который мы можем использовать для создания виртуальных машин:

apt-get install vzctl vzquota vzctl-ostmpl-debian vzprocps vzdump

Создайте символическую ссылку из /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 [...] |

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

sysctl -p

после этого.

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

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

vi /etc/vz/vz.conf

| [...] NEIGHBOUR_DEVS=all [...] |

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

reboot

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

Запустите

uname -r

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

server1:~# uname -r  
2.6.18-fza-028stab053.5-686-bigmem  
server1:~#

2 Использование OpenVZ

Теперь я покажу вам основные команды для использования OpenVZ.

Чтобы настроить VPS из минимального шаблона Debian Etch по умолчанию (вы можете найти его в /var/lib/vz/template/cache), выполните:

vzctl create 101 --ostemplate debian-4.0-i386-minimal --config vps.basic

101 должен быть уникальным идентификатором - каждая виртуальная машина должна иметь свой уникальный идентификатор. Вы можете использовать последнюю часть IP-адреса виртуальной машины для этого. Например, если IP-адрес виртуальной машины 1.2.3.101, вы используете 101 в качестве идентификатора.

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

vzctl set 101 --onboot yes --save

Чтобы установить имя хоста и IP-адрес для виртуальной машины, выполните:

vzctl set 101 --hostname test.example.com --save  
vzctl set 101 --ipadd 1.2.3.101 --save

Затем мы устанавливаем количество сокетов на 120 и назначаем несколько DNS-серверов для виртуальной машины:

vzctl set 101 --numothersock 120 --save  
vzctl set 101 --nameserver 213.133.98.98 --nameserver 213.133.99.99 --nameserver 213.133.100.100 --nameserver 145.253.2.75 --save

(Вместо использования команд vzctl set, вы также можете напрямую редактировать файл конфигурации виртуальной машины, который хранится в каталоге /etc/vz/conf. Если идентификатор виртуальной машины 101, то файл конфигурации будет /etc/vz/conf/101.conf.)

Чтобы запустить виртуальную машину, выполните

vzctl start 101

Чтобы установить пароль root для виртуальной машины, выполните

vzctl exec 101 passwd

Теперь вы можете либо подключиться к виртуальной машине через SSH (например, с помощью PuTTY), либо войти в нее следующим образом:

vzctl enter 101

Чтобы выйти из консоли виртуальной машины, введите

exit

Чтобы остановить виртуальную машину, выполните

vzctl stop 101

Чтобы перезапустить виртуальную машину, выполните

vzctl restart 101

Чтобы удалить виртуальную машину с жесткого диска (она должна быть остановлена перед этим), выполните

vzctl destroy 101

Чтобы получить список ваших виртуальных машин и их статусов, выполните

vzlist -a
server1:~# vzlist -a  
      VEID      NPROC STATUS  IP_ADDR         HOSTNAME  
       101          6 running 1.2.3.101       test.example.com  
server1:~#

Чтобы узнать о ресурсах, выделенных виртуальной машине, выполните

vzctl exec 101 cat /proc/user_beancounters
server1:~# vzctl exec 101 cat /proc/user_beancounters  
Version: 2.5  
       uid  resource           held    maxheld    barrier      limit    failcnt  
      101:  kmemsize         500737     517142   11055923   11377049             0  
            lockedpages           0          0        256        256             0  
            privvmpages        2315       2337      65536      69632             0  
            shmpages            640        640      21504      21504             0  
            dummy                 0          0          0          0             0  
            numproc               7          7        240        240             0  
            physpages          1258       1289          0 2147483647             0  
            vmguarpages           0          0      33792 2147483647             0  
            oomguarpages       1258       1289      26112 2147483647             0  
            numtcpsock            2          2        360        360             0  
            numflock              1          1        188        206             0  
            numpty                1          1         16         16             0  
            numsiginfo            0          1        256        256             0  
            tcpsndbuf         17856      17856    1720320    2703360             0  
            tcprcvbuf         32768      32768    1720320    2703360             0  
            othersockbuf       2232       2928    1126080    2097152             0  
            dgramrcvbuf           0          0      262144      262144             0  
            numothersock          1          3        120        120             0  
            dcachesize            0          0    3409920    3624960             0  
            numfile             189       189       9312       9312             0  
            dummy                 0          0          0          0             0  
            dummy                 0          0          0          0             0  
            dummy                 0          0          0          0             0  
            numiptent            10         10        128        128             0  
server1:~#

Столбец failcnt очень важен, он должен содержать только нули; если это не так, это означает, что виртуальной машине требуется больше ресурсов, чем в настоящее время выделено. Откройте файл конфигурации виртуальной машины в /etc/vz/conf и увеличьте соответствующий ресурс, затем перезапустите виртуальную машину.

Чтобы узнать больше о команде vzctl, выполните

man vzctl

3 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.