Необходимо скопировать ovz-server-default в ovz-server-rsync
Следующим шагом вносим дополнительные пакеты в /ovz-server-rsync/profile/ovz/packages.
Добавляем только один пакет rsync-server
Необходимо заменить так же имя шаблона в /ovz-server-rsync/profile/ovz/config
Непосредственное создание ovz-шаблона
В результате этой операции в /ovz-server-rsync должен появиться следующий файл altlinux-4.0-rsync.tar.gz
Все дальнейшие операции необходимо выполнять с привилегиями пользователя root.
Скопируем /ovz-server-rsync/altlinux-4.0-rsync.tar.gz в /var/lib/vz/template/cache — стандартное место хранения шаблонов ovz-систем.
Создаем на основе шаблона altlinux-4.0-rsync.tar.gz и конфигурационного файла server-4.0 контейнер rsync, с уникальным идентификатором 102.
Следующий шаг, задание имени и hostname контейнера, создание сетевого интерфейса veth102.0.
Сетевой интерфейс создается при помощи ключа --netif_add:
имя_интерфейса_внутри_контейнера,его_мак_адрес,имя_интерфейса_в_root_системе,его_мак_адрес
Мак_адрес — должен не совпадать с мак-адресами существующих компьютеров.
Последний этап — запуск контейнера 102
По умолчанию, при остановке контейнера командой vzctl stop 102, veth102.0 удаляется из vzbr0. Это можно проверить, если выполнить команду brctl show vzbr0. Так что после запуска контейнера vzctl start 102, необходимо выполнить команду brctl addif vzbr0 veth102.0.
После создания контейнера ему необходимо задать сетевой адрес IP.
Для этого необходимо зайти в контейнер
Создаем директории нашего устройства
Задаем IP-адрес в файле /etc/net/ifaces/eth0/ipv4address
Задаем опции интерфейса eth0 /etc/net/ifaces/eth0/options
Перезапускаем сетевую подсистему
Проверяем наличие поднятого интерфейса eth0
После этого проверяем наличие соединения с root-сервером и с dns-сервером
Прежде чем перейти к непосредственной настройке rsync-сервиса необходимо настроить автоматическое подключение каталога /usr/repo внутрь нашего контейнера.
Для этого создаем скрипт /etc/vz/conf/102.mount следующего содержания
Делаем его исполняемым
И теперь при старте контейнера rsync, будет монтироваться каталог /usr/repo в каталог /var/lib/vz/root/102/var/rsync.
Перезапускаем наш контейнер
Вновь добавляем его в bridge-устройство
Заходим в сам контейнер
Добавляем псевдопользователя rsyncuser, с его правами мы будем запускать наш rsync-сервис
Правим файл конфигурации rsync-сервиса /etc/rsyncd.conf
Разрешаем ему стартовать во время загрузки контейнера
Его запускает сервис xinetd, по этому необходимо исправить файл конфигураций /etc/xinetd.conf
Необходимо так же разрешить стартовать при запуске системы
Теперь можно запускать сам xinetd, который при попытке подключения к rsync-порту, будет запускать rsyncd
Проверяем запущенность xinetd-сервиса
Проверяем доступность rsync-сервиса