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.basic101 должен быть уникальным идентификатором - каждая виртуальная машина должна иметь свой уникальный идентификатор. Вы можете использовать последнюю часть 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 -aserver1:~# 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_beancountersserver1:~# 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 vzctl3 Ссылки
- OpenVZ: http://openvz.org
- Debian: http://www.debian.org
Get new posts in your inbox
No spam. Unsubscribe anytime.