OpenVZ · 6 min read · Jan 24, 2026

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

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

Перед тем как мы сможем создать виртуальные машины с OpenVZ, нам нужен шаблон для дистрибутива, который мы хотим использовать в виртуальных машинах в каталоге /var/lib/vz/template/cache. Виртуальные машины будут созданы из этого шаблона.

Вы можете найти список предсозданных шаблонов на http://wiki.openvz.org/Download/template/precreated. Например, мы можем скачать минимальный шаблон Debian Wheezy (x86_64) следующим образом:

cd /vz/template/cache
wget http://download.openvz.org/template/precreated/contrib/debian-7.0-amd64-minimal.tar.gz

(Если ваш хост — это система i386, вы не можете использовать шаблон amd64 — вам нужно использовать шаблоны i386!)

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

Чтобы настроить VPS из шаблона debian-7.0-amd64-minimal (вы можете найти его в /vz/template/cache), выполните:

vzctl create 101 --ostemplate debian-7.0-amd64-minimal --config basic

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

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

vzctl set 101 --onboot yes --save

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

vzctl set 101 –hostname test.example.com –save
vzctl set 101 –ipadd 192.168.0.101 –save

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

vzctl set 101 –numothersock 120 –save
vzctl set 101 –nameserver 8.8.8.8 –nameserver 8.8.4.4 –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

root@server1:~# vzlist -a
CTID NPROC STATUS IP_ADDR HOSTNAME
101 8 running 192.168.0.101 test.example.com
root@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.1 Установка квоты внутри контейнера

Чтобы включить квоту внутри контейнера (в этом примере это контейнер с идентификатором 101), выполните следующие команды с хоста:

vzctl stop 101
vzctl set 101 –diskquota yes –save
vzctl set 101 –diskspace 10G –save
vzctl set 101 –diskinodes 200000:220000 –save
vzctl set 101 –quotatime 0 –save
vzctl set 101 –quotaugidlimit 1000 –save
vzctl start 101

Вы можете настроить значения для diskspace и diskinodes в соответствии с вашими потребностями. quotaugidlimit устанавливает максимальное количество идентификаторов пользователей/групп в контейнере, для которых будет учитываться квота на диск внутри контейнера.

После того как контейнер запустится, вам нужно установить пакеты quota и quotatool внутри контейнера:

apt-get install quota quotatool

После этого команда…

repquota -avug

… должна показать текущие квоты:

root@test:~# repquota -avug
* Отчет о квотах пользователей на устройстве /dev/simfs
Время грации блока: 00:00; Время грации инода: 00:00
Ограничения блока Ограничения файлов
Пользователь использовано мягкое жесткое грация использовано мягкое жесткое грация

———————————————————————-
root – 325500 0 0 14301 0 0
man – 360 0 0 35 0 0
libuuid – 4 0 0 1 0 0
messagebus – 4 0 0 1 0 0

Статистика:
Всего блоков: 131590
Данные блоков: 2
Записи: 4
Использовано в среднем: 2.000000

* Отчет о квотах групп на устройстве /dev/simfs
Время грации блока: 00:00; Время грации инода: 00:00
Ограничения блока Ограничения файлов
Группа использовано мягкое жесткое грация использовано мягкое жесткое грация

———————————————————————-
root – 325112 0 0 14251 0 0
adm – 36 0 0 23 0 0
tty – 40 0 0 9 0 0
disk – 0 0 0 17 0 0
mail – 4 0 0 1 0 0
kmem – 0 0 0 3 0 0
shadow – 124 0 0 5 0 0
utmp – 16 0 0 4 0 0
staff – 68 0 0 18 0 0
libuuid – 4 0 0 1 0 0
ssh – 128 0 0 1 0 0
messagebus – 292 0 0 2 0 0
crontab – 44 0 0 3 0 0

Статистика:
Всего блоков: 131590
Данные блоков: 4
Записи: 13
Использовано в среднем: 3.250000

root@test:~#

3.2 Создание контейнера ploop

Создание контейнера ploop не сильно отличается от создания обычного контейнера на основе каталога — просто убедитесь, что вы используете переключатель –layout ploop и указываете diskspace (например, –diskspace 10G) при создании контейнера:

vzctl create 102 --layout ploop --diskspace 10G --ostemplate debian-7.0-amd64-minimal --config basic 

Установка всех других параметров такая же:

vzctl set 102 --onboot yes --save

vzctl set 102 –hostname test2.example.com –save
vzctl set 102 –ipadd 192.168.0.102 –save

vzctl set 102 –numothersock 120 –save
vzctl set 102 –nameserver 8.8.8.8 –nameserver 8.8.4.4 –save

vzctl start 102
vzctl exec 102 passwd

Чтобы включить квоту внутри контейнера ploop, нам просто нужно установить параметр quotaugidlimit:

vzctl stop 102
vzctl set 102 –quotaugidlimit 1000 –save
vzctl start 102

После того как контейнер запустится, вам нужно установить пакеты quota и quotatool внутри контейнера:

apt-get install quota quotatool

После этого команда…

repquota -avug

… должна показать текущие квоты:

root@test:~# repquota -avug
* Отчет о квотах пользователей на устройстве /dev/simfs
Время грации блока: 00:00; Время грации инода: 00:00
Ограничения блока Ограничения файлов
Пользователь использовано мягкое жесткое грация использовано мягкое жесткое грация

———————————————————————-
root – 325500 0 0 14301 0 0
man – 360 0 0 35 0 0
libuuid – 4 0 0 1 0 0
messagebus – 4 0 0 1 0 0

Статистика:
Всего блоков: 131590
Данные блоков: 2
Записи: 4
Использовано в среднем: 2.000000

* Отчет о квотах групп на устройстве /dev/simfs
Время грации блока: 00:00; Время грации инода: 00:00
Ограничения блока Ограничения файлов
Группа использовано мягкое жесткое грация использовано мягкое жесткое грация

———————————————————————-
root – 325112 0 0 14251 0 0
adm – 36 0 0 23 0 0
tty – 40 0 0 9 0 0
disk – 0 0 0 17 0 0
mail – 4 0 0 1 0 0
kmem – 0 0 0 3 0 0
shadow – 124 0 0 5 0 0
utmp – 16 0 0 4 0 0
staff – 68 0 0 18 0 0
libuuid – 4 0 0 1 0 0
ssh – 128 0 0 1 0 0
messagebus – 292 0 0 2 0 0
crontab – 44 0 0 3 0 0

Статистика:
Всего блоков: 131590
Данные блоков: 4
Записи: 13
Использовано в среднем: 3.250000

root@test:~#

4 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.