Установка в контейнеры Virtuozzo для Linux

Развертывание Plesk в окружении контейнеров Virtuozzo включает следующие шаги:

  1. Установка шаблона приложения Plesk на физическом сервере.
  2. Создание контейнера и развертывание приложения из шаблона.

Дальнейшую информацию о командной строке контейнеров Virtuozzo или использовании API контейнеров Virtuozzo (XML или SOAP) смотрите в документации по контейнерам Virtuozzo для разработчиков.

Первый этап выполняется на каждом физическом сервере только один раз: после установки шаблона он может быть развернут на неограниченном количестве контейнеров. Вместо того чтобы создавать новый контейнер каждый раз, когда вам нужно развернуть контейнер с Plesk, вы можете клонировать уже существующий контейнер с Plesk, использовав его в качестве своего рода шаблона.

Во время установки шаблона на физическом сервере происходит развертывание основного набора файлов, что включает определение репозитория пакетов приложений. Затем, после того как приложение установлено на контейнере, контейнеры Virtuozzo подключаются к этому репозиторию (по умолчанию это http://autoinstall.plesk.com), получают пакеты приложений и устанавливают их на контейнер. Пакеты хранятся в кэше сервера, пока он не будет очищен, а затем, при установке приложения на контейнере, пакеты снова запрашиваются из репозитория. Для экономии времени и трафика рекомендуем использовать собственное зеркало репозитория Plesk. Подробности смотрите в Приложении В: Создание зеркала сервера обновлений Plesk.

 

Чтобы установить шаблон Plesk на физическом сервере Virtuozzo с помощью утилиты vzup2date:

  1. Подключитесь к физическому серверу Virtuozzo по SSH.
  2. Установите шаблон приложения с помощью команды следующего формата:

    vzup2date -z

  3. Выберите нужную операционную систему и шаблоны приложения и нажмите Далее, чтобы начать установку.

Примечание. В Virtuozzo (прежнее название Cloud Server) утилита vzup2date больше не поддерживается. Вместо нее теперь нужно использовать yum.

Чтобы вручную установить шаблон Plesk на сервере Virtuozzo:

  1. Скачайте нужный шаблон с сайта Odin и загрузите его на физический сервер Virtuozzo.
  2. Установите шаблон приложения с помощью команды следующего формата:

    rpm -Uvh <абсолютный путь к шаблону>

Например, команда для установки Qmail выглядит так:

rpm -Uvh pp11.5-centos-5-x86_64-ez-3.0.0-35.prl.293476.noarch.rpm

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

  1. Настройте зеркало, как описано Приложении В: Создание зеркала сервера обновлений Plesk.
  2. На физическом сервере внесите изменения в файл, содержащий URL-адрес репозитория:

    Такой файл находится в папке /vz/template/<ОС>/<версия ОС>/<платформа>/config/app/<имя шаблона приложения>/default/repositories. Например: /vz/template/<ОС>/<версия ОС>/<платформа>/config/app/pp10/default/repositories.

  3. Измените адреса сервера обновлений Plesk на соответствующие адреса вашего зеркала и сохраните файл.
  4. Очистите или обновите мета-данные пакетов.

    Это можно сделать, например, с помощью команды vzpkg clean. Подробности смотрите в документе Virtuozzo containers for Linux Reference Guide на странице http://www.odin.com/support/virtualization-suite/pvc/.

Чтобы создать контейнер и установить на нем Plesk:

  1. Создайте контейнер и настройте его.

    Выполните следующие команды:

    vzctl create <код контейнера> [параметры]

    vzctl set <код контейнера> <название настройки> <значение> [--save]

    где

    • <код контейнера> - уникальный в пределах сервера номер контейнера, больше 100;
    • --save сообщает vzctl, нужно ли сохранить изменения в конфигурационный файл контейнера.

      Примечание. Подробнее о том, как создать и настроить контейнер, смотрите в документе Virtuozzo containers for Linux Reference Guide на странице http://www.odin.com/support/virtualization-suite/pvc/.

    Приведенные ниже команды выполняют следующие действия:

    1. Создание контейнера с номером 444 и IP-адресом 10.100.1.2 на основе шаблона ОС Debian 5.
    2. Установка ограничения на подкачку памяти ядра, собственную (или потенциально собственную) память, количество файлов, которое может быть открыто всеми процессами контейнеров, дисковое пространство и общее количество инодов диска (файлов, папок, символьных ссылок), которое может предоставить контейнер.
    3. Сохранение значений ограничений в конфигурационный файл контейнера.
    4. Включение Power Panel на порту vzpp с помощью параметров "--offline_management yes --offline_service vzpp".

      # vzctl create 444 --ostemplate debian-5.0-x86_64

      # vzctl set 444 --ipadd 10.100.1.2 --hostname example.com --save

      # vzctl set 444 --save --kmemsize 24299200:26429120 --privvmpages 362144:392912 --numfile
      12000:12000 --diskspace 5117880:5242880 --diskinodes 350000:370000

      # vzctl set 444 --save --offline_management yes --offline_service vzpp

      Важно. Необходимо использовать именно эти значения - для обеспечения совместимости Plesk с Virtuozzo.

 

Важно. Для нормальной работы Plesk контейнер должен иметь IPv4-адрес.

  1. Запустите созданный контейнер:

    # vzctl start <код контейнера>

  2. Установите шаблон Plesk на контейнер:
    • С помощью EZ-шаблонов:

      vzpkg install <код контейнера> <имя шаблона> ...

      Например, следующая команда устанавливает основные компоненты Plesk, DNS-сервер BIND и Антивирус Касперского:

      # vzpkg install 444 pp11.5 pp11.5-bind pp11.5-kav

Примечание. Во время установки шаблонов необходимо указать, какой шаблон почтового сервера вы хотите использовать. Это может быть pp12-qmail, pp12-postfix или pp12-msmtp (если вы не хотите устанавливать почтовый сервер вместе в Plesk).

Чтобы клонировать контейнер:

Выполните команду следующего формата:

vzmlocal -C {CT List}
{CT List} = <em><source_CTID></em>:<em><dst_CTID></em>[:[<em><dstCT_private></em>][:<em><dstCT_root></em>]] [...]

Обязательными для указания являются код исходного контейнера (<source_CTID>) и код конечного контейнера (<dst_CTID>). Остальные два параметра (<dstCT_private>) и (<dstCT_root>) необязательны; они позволяют изменить соответствующие пути, заданные по умолчанию - /vz/private/<dst_CTID> и /vz/root/<dst_CTID>. Подробнее об опциях команды смотрите в документе Virtuozzo containers for Linux Reference Guide на странице http://www.odin.com/support/virtualization-suite/pvc/.

Например, чтобы клонировать контейнер с Plesk, созданный во время предыдущей процедуры, выполните следующую команду:

# vzmlocal -C 444:445