Установка OpenVZ на Ubuntu

Установка OpenVZ на Ubuntu 13.04

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

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

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

1 Предварительные замечания
У меня установлена x86_64 (amd64) система. Если вы пользуетесь системой i386, некоторые команды будут немного отличаться. Проверить какаю разрядность вы имеете можно следующим образом:

sh
2 lines
# uname -a
#uname -i
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2 Установка OpenVZ
Для Ubuntu 13.04, нет OpenVZ ядра в официальных репозиториях. Поэтому мы должны установить OpenVZ с официальных RPM пакетов из проекта OpenVZ.

2.1 Установка с официального RPM пакета из OpenVZ проекта
Загрузите последние версии vzkernel, Ploop, vzquota RPM, vzctl из http://wiki.openvz.org/Download/kernel/rhel6 и http://wiki.openvz.org/Download/utils, например следующим образом ::

RPMs

Для Ubuntu с 64-битной архитектурой (x86_64 (AMD64, EM64T)):

sh
14 lines
# cd /usr/local/src/
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-2.6.32-042stab085.20.x86_64.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-devel-2.6.32-042stab085.20.x86_64.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-headers-2.6.32-042stab085.20.x86_64.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-debug-2.6.32-042stab085.20.x86_64.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-debug-devel-2.6.32-042stab085.20.x86_64.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-firmware-2.6.32-042stab085.20.noarch.rpm
# wget·http://download.openvz.org/utils/vzctl/4.6.1/vzctl-4.6.1-1.x86_64.rpm
# wget·http://download.openvz.org/utils/vzctl/4.6.1/vzctl-core-4.6.1-1.x86_64.rpm
# wget·http://download.openvz.org/utils/ploop/1.11/ploop-1.11-1.x86_64.rpm
# wget·http://download.openvz.org/utils/ploop/1.11/ploop-devel-1.11-1.x86_64.rpm
# wget·http://download.openvz.org/utils/ploop/1.11/ploop-lib-1.11-1.x86_64.rpm
# wget·http://download.openvz.org/utils/vzquota/3.1/vzquota-3.1-1.x86_64.rpm
# wget·http://download.openvz.org/utils/vzstats/0.5.3/vzstats-0.5.3-1.noarch.rpm
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Для Ubuntu с 32-битной архитектурой (x86 (i686, IA32)):

sh
14 lines
# cd /usr/local/src/
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-2.6.32-042stab085.20.i686.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-devel-2.6.32-042stab085.20.i686.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-headers-2.6.32-042stab085.20.i686.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-debug-2.6.32-042stab085.20.i686.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-debug-devel-2.6.32-042stab085.20.i686.rpm
# wget·http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab085.20/vzkernel-firmware-2.6.32-042stab085.20.noarch.rpm
# wget·http://download.openvz.org/utils/vzctl/4.6.1/vzctl-4.6.1-1.i386.rpm
# wget·http://download.openvz.org/utils/vzctl/4.6.1/vzctl-core-4.6.1-1.i386.rpm
# wget·http://download.openvz.org/utils/ploop/1.11/ploop-1.11-1.i386.rpm
# wget·http://download.openvz.org/utils/ploop/1.11/ploop-devel-1.11-1.i386.rpm
# wget·http://download.openvz.org/utils/ploop/1.11/ploop-lib-1.11-1.i386.rpm
# wget·http://download.openvz.org/utils/vzquota/3.1/vzquota-3.1-1.i386.rpm
# wget·http://download.openvz.org/utils/vzstats/0.5.3/vzstats-0.5.3-1.noarch.rpm
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Установка следующих пакетов …

sh
1 lines
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

И пересобираем пакеты из RPM в DEB для этого нужно выполнить команду:

sh
1 lines
#·fakeroot alien --to-deb --scripts --keep-version vz*.rpm ploop*.rpm
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Установка DEB  пакетов следующим образом:

sh
1 lines
#·dpkg -i vz*.deb ploop*.deb
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

<img aria-describedby=»caption-attachment-1300″ loading=»lazy» class=»size-full wp-image-1300″ title=»dpkg -i vz*.deb ploop*.deb» src=»http://linux-notes.org/wp-content/uploads/2014/04/dpkg-i.png» alt=»dpkg -i vz*.deb ploop*.deb» width=»736″ height=»217″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/dpkg-i.png 736w, https://linux-notes.org/wp-content/uploads/2014/04/dpkg-i-300×88.png 300w» sizes=»(max-width: 736px) 100vw, 736px» />

dpkg -i vz*.deb ploop*.deb

Это означает, что есть и другое ядро в системе (3.8.0), а ядро ​​OpenVZ (2.6.32) уже не первый в списке. Таким образом, чтобы сделать OpenVZ ядро ядром по умолчанию, у нас есть два варианта — отрегулировать ядро по умолчанию в GRUB (рекомендуется) или удалить ядро не-VZ (ы).

Для регулировки ядра по умолчанию в GRUB необходимо открыть /etc/default/grub…

sh
1 lines
# ee·/etc/default/grub
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Нам нужно изменить строку с GRUB_DEFAULT (подсчет начинается с 0; наш OpenVZ является третим ядром в дополнительные параметры подменю GRUB Ubuntu (который является вторым вариантом в меню загрузки после ядра 3.8.0), так что мы должны прописать  «1> 2»:

sh
3 lines
[...]
GRUB_DEFAULT="1>2"
[...]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

После чего необходимо обновить GRUB, сделать это можно:

sh
1 lines
# update-grub
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
# apt-get remove linux-image linux-image-3.8.0-19-generic
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Обновим GRUB еще 1 раз:

sh
1 lines
·# update-grub
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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

sh
1 lines
#·blkid
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

<img aria-describedby=»caption-attachment-1301″ loading=»lazy» class=»size-full wp-image-1301″ src=»http://linux-notes.org/wp-content/uploads/2014/04/blkid.png» alt=»blkid» width=»647″ height=»127″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/blkid.png 647w, https://linux-notes.org/wp-content/uploads/2014/04/blkid-300×58.png 300w» sizes=»(max-width: 647px) 100vw, 647px» />

blkid

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

sh
1 lines
# ee·/etc/fstab
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

<img aria-describedby=»caption-attachment-1302″ loading=»lazy» class=»size-full wp-image-1302″ src=»http://linux-notes.org/wp-content/uploads/2014/04/fstab-on-OpenVZ.png» alt=»fstab on OpenVZ» width=»601″ height=»208″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/fstab-on-OpenVZ.png 601w, https://linux-notes.org/wp-content/uploads/2014/04/fstab-on-OpenVZ-300×103.png 300w» sizes=»(max-width: 601px) 100vw, 601px» />

fstab on OpenVZ

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

<img aria-describedby=»caption-attachment-1303″ loading=»lazy» class=»size-full wp-image-1303″ src=»http://linux-notes.org/wp-content/uploads/2014/04/fstab-on-OpenVZ_norm.png» alt=»fstab on OpenVZ_norm» width=»643″ height=»243″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/fstab-on-OpenVZ_norm.png 643w, https://linux-notes.org/wp-content/uploads/2014/04/fstab-on-OpenVZ_norm-300×113.png 300w» sizes=»(max-width: 643px) 100vw, 643px» />

fstab on OpenVZ_norm

Убедитесь что OpenVZ запускается автоматически при загрузке:

sh
2 lines
# update-rc.d vz defaults
# update-rc.d vzeventd defaults
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Далее нам нужно связать несколько библиотек:

sh
2 lines
# ln -s /usr/lib64/libvzctl-4.3.1.so /usr/lib
# ln -s /usr/lib64/libploop.so /usr/lib
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Если вы хотите использовать Ploop контейнеры, сделайте следующее:

sh
1 lines
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Кроме того, нужно открыть /etc/init.d/vz……:

sh
1 lines
# ee·/etc/init.d/vz
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

И необходимо добавить строку mkdir $VARLOCK/ploop, чтобы убедиться, что каталог /var/lock/ploop воссоздан после перезагрузки:

sh
5 lines
#!/bin/sh
[...]
. /usr/libexec/vzctl/scripts/initd-functions
mkdir $VARLOCK/ploop
[...]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
#·ln -s /vz /var/lib/vz
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
# ee·/etc/sysctl.conf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
sh
11 lines
[...]
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
[...]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Если вы хотите или есть необходимость в изменении /etc/sysctl.conf, то выполните:

sh
1 lines
# sysctl -p
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Открываем /etc/vz/vz.conf и устанавливаем строку NEIGHBOUR_DEVS всем:

sh
1 lines
# ee /etc/vz/vz.conf
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
sh
4 lines
[...]
# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=all
[...]
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Нужно установить утилиту vzdump:

sh
1 lines
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
#·reboot
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
# uname -r
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

и ваше новое ядро ​​OpenVZ должен появиться, Вы должны увидеть что то типа этого:

sh
3 lines
root@testvps:/usr/local/src/OpenVZ# uname -r
2.6.32-042stab085.17
root@testvps:/usr/local/src/OpenVZ#
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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

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

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

Wheezy Debian (x86):

sh
2 lines
# cd /vz/template/cache
# wget http://download.openvz.org/template/precreated/debian-7.0-x86.tar.gz
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Сейчас я покажу и расскажу о некоторых командах для использования OpenVZ.

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

sh
1 lines
# vzctl create 101 --ostemplate debian-7.0-amd64-minimal --config basic
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Если вы хотите иметь В.М. запускался во время загрузки, запустите:

sh
1 lines
#·vzctl set 101 --onboot yes --save
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Чтобы присвоить имя хоста и IP-адрес для VM, запустите следующую команды:

sh
2 lines
# vzctl set 101 --hostname test.example.com --save
# vzctl set 101 --ipadd 192.168.0.101 --save
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

После всего этого мы устанавливаем количество sockets до 120 и назначить несколько сервер имен к ВМ:

sh
2 lines
# vzctl set 101 --numothersock 120 --save
# vzctl set 101 --nameserver 8.8.8.8 --nameserver 8.8.4.4 --save
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Для того чтобы «завести» виртуальную машину, выполните команду в терменале:

sh
1 lines
# vzctl start 101
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
# vzctl exec 101 passwd
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
# vzctl enter 101
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Чтобы закрыть консоль в ВМ выполните:

sh
1 lines
# exit
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Чтобы остановить VM, запустите команду:

sh
1 lines
# vzctl stop 101
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
1 lines
#·vzctl restart 101
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Удалить ВМ из жесткого диска (она должен быть остановлена, прежде чем вы сделаете это), запустите команду:

sh
1 lines
#·vzctl destroy 101
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Чтобы получить список ваших виртуальных машин и их состояние можно следующим образом:

sh
1 lines
#·vzlist -a
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<img aria-describedby=»caption-attachment-1294″ loading=»lazy» class=»size-full wp-image-1294″ src=»http://linux-notes.org/wp-content/uploads/2014/04/vzlist-a.png» alt=»vzlist -a» width=»471″ height=»78″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/vzlist-a.png 471w, https://linux-notes.org/wp-content/uploads/2014/04/vzlist-a-300×49.png 300w» sizes=»(max-width: 471px) 100vw, 471px» />

vzlist -a

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

sh
1 lines
#·vzctl exec 101 cat /proc/user_beancounters
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<img aria-describedby=»caption-attachment-1295″ loading=»lazy» class=»size-full wp-image-1295″ src=»http://linux-notes.org/wp-content/uploads/2014/04/vzctl-exec-101.png» alt=»vzctl exec 101 cat /proc/user_beancounters» width=»575″ height=»507″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/vzctl-exec-101.png 575w, https://linux-notes.org/wp-content/uploads/2014/04/vzctl-exec-101-300×264.png 300w» sizes=»(max-width: 575px) 100vw, 575px» />

vzctl exec 101 cat /proc/user_beancounters

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

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

sh
1 lines
#·man vzctl
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

3.1 Установка квоты внутри контейнера

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

sh
7 lines
# 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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

После того, как контейнер запущен, необходимо установить квоты и quotatool пакеты внутри контейнера:

sh
1 lines
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

После этого выполните команду:

sh
1 lines
#·repquota -avug
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

<img aria-describedby=»caption-attachment-1296″ loading=»lazy» class=»size-full wp-image-1296″ src=»http://linux-notes.org/wp-content/uploads/2014/04/repquota-avug.png» alt=»repquota -avug» width=»522″ height=»800″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/repquota-avug.png 522w, https://linux-notes.org/wp-content/uploads/2014/04/repquota-avug-195×300.png 195w» sizes=»(max-width: 522px) 100vw, 522px» />

repquota -avug

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

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

sh
1 lines
#·vzctl create 102 --layout ploop --diskspace 10G --ostemplate debian-7.0-amd64-minimal --config basic
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Установка все другие варианты (если необходимо):

sh
7 lines
#·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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

sh
3 lines
# vzctl stop 102
# vzctl set 102 --quotaugidlimit 1000 --save
# vzctl start 102
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

После того, как контейнер запущен, необходимо установить квоты и quotatool пакеты внутри контейнера:

sh
2 lines
#·repquota -avug
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Должно показать текущие квоты (если нет, то перезапустить контейнер):

<img aria-describedby=»caption-attachment-1297″ loading=»lazy» class=»size-full wp-image-1297″ src=»http://linux-notes.org/wp-content/uploads/2014/04/repquota-avug1.png» alt=»repquota -avug» width=»530″ height=»785″ srcset=»https://linux-notes.org/wp-content/uploads/2014/04/repquota-avug1.png 530w, https://linux-notes.org/wp-content/uploads/2014/04/repquota-avug1-202×300.png 202w» sizes=»(max-width: 530px) 100vw, 530px» />

repquota -avug

Установка OpenVZ на Ubuntu подошла к окончанию. Надеюсь все понятно, тема раскрыта полностью и охватывает очень большую часть. Если есть вопросы, то пишите ниже в комментариях.

Was this helpful?

0 / 0