В этой статье я опишу, как подготовить сервер Ubuntu 13.04 для OpenVZ. С OpenVZ можно создать несколько виртуальных частных серверов (VPS) на том же оборудовании, подобно Xen и проекта Linux Vserver. OpenVZ является с открытым исходным кодом филиал Virtuozzo, коммерческого решения виртуализации, используемого многими поставщиками, которые предлагают виртуальные серверы. Патч OpenVZ в ядро под лицензией GPL, и инструменты пользовательского уровня находятся под лицензией QPL.
Это руководство предназначено в качестве практического руководства; он не охватывает теоретические основы. Их много в Интернете.
Эта статья не дает никаких гарантий! Я хочу сказать, что это не единственный способ создания такой системы. Есть много способов достижения этой цели, но это то, как я выбрал. Я не даю никаких гарантий, что это будет работать именно у вас, так как возможны какие то ошибки!
1 Предварительные замечания
У меня установлена x86_64 (amd64) система. Если вы пользуетесь системой i386, некоторые команды будут немного отличаться. Проверить какаю разрядность вы имеете можно следующим образом:
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)):
После чего мы должны убедиться, что правильное ядро (ядро OpenVZ) загружается при перезапуске системы. В выходе последней команды, вы должны увидеть что-то вроде этого:
Это означает, что есть и другое ядро в системе (3.8.0), а ядро OpenVZ (2.6.32) уже не первый в списке. Таким образом, чтобы сделать OpenVZ ядро ядром по умолчанию, у нас есть два варианта — отрегулировать ядро по умолчанию в GRUB (рекомендуется) или удалить ядро не-VZ (ы).
Для регулировки ядра по умолчанию в GRUB необходимо открыть /etc/default/grub…
Нам нужно изменить строку с GRUB_DEFAULT (подсчет начинается с 0; наш OpenVZ является третим ядром в дополнительные параметры подменю GRUB Ubuntu (который является вторым вариантом в меню загрузки после ядра 3.8.0), так что мы должны прописать «1> 2»:
Теперь, когда мы убедились, что правильно загружаться ядро , мы можем идти дальше.
Далее мы должны проверить, что мы используем UUID, вместо имен устройств в /etc/fstab поскольку в противном случае система может не загрузиться с ядром OpenVZ. Запуск …
Мой первоначальный /etc/fstab выглядит следующим образом (как видите, UUID из /boot раздела уже используется, но для /swap, имена устройств уже используются):
После этого. Следующий шаг очень важен, если IP-адреса ваших виртуальных машин из другой подсети, чем IP-адрес хост-системы. Если вы не сделаете этого, сеть не будет работать в виртуальных машинах!
Открываем /etc/vz/vz.conf и устанавливаем строку NEIGHBOUR_DEVS всем:
Перед тем как мы сможем создавать виртуальные машины с OpenVZ, мы должны иметь шаблон для распределения, что мы хотим использовать на виртуальных машинах в директории /var/lib/vz/template/cache. Виртуальные машины будет создан на основе этого шаблона.
Вы сможете посмотреть список precreated шаблонов на http://wiki.openvz.org/Download/template/precreated и выбрать нужный. Например, мы можем скачать минимальный шаблон следующим образом:
Wheezy Debian (x86_64):
101 должна состоять из эксклюзивного ID — все виртуальные машины должны иметь свой собственный уникальный ID. Можно использовать IP-адреса виртуальной машины для этого (последнюю часть). Например, если IP-адрес вашей виртуальной машины — 192.168.0.101, то можно использувать 101 как ID.
Если вы хотите иметь В.М. запускался во время загрузки, запустите:
(Если вы не можете использовать команды vzctl , вы так же можете просто отредактировать файл конфигурации на виртуальной машины, который хранится в /etc/vz/conf. Если идентификатор ВМ 101, то файл конфигурации выглядит: /etc/vz/conf/101.conf.)
Для того чтобы «завести» виртуальную машину, выполните команду в терменале:
Колонна failcnt очень важна, она должна содержать только нули; если это не так, это означает, что виртуальная машина нуждается в большем количестве ресурсов, чем в настоящее время распределена VM. Откройте файл конфигурации виртуальной машины в /etc/vz/conf и поднять соответствующий ресурс, а затем перезапустить виртуальную машину.
Чтобы узнать больше о команде vzctl, запустите команду:
Вы можете выбрать значения для дискового пространства и diskinodes с вашими потребностями. quotaugidlimit устанавливает максимальное количество идентификаторов для пользователей / групп в контейнере, для которого дисковая квота внутри контейнера, будут учитываться.
После того, как контейнер запущен, необходимо установить квоты и quotatool пакеты внутри контейнера:
Создание Ploop контейнера не сильно отличается от создания обычного, на основе контейнер каталогов — просто убедитесь, что вы используете — макета переключатель для Ploop и укажите дискового пространства (например — дискового пространства 10G) при создании контейнера:
Установка OpenVZ на Ubuntu подошла к окончанию. Надеюсь все понятно, тема раскрыта полностью и охватывает очень большую часть. Если есть вопросы, то пишите ниже в комментариях.