FreeSource: SergeyLebedev/EisSystem/RsyncSystemEIS

Rsync

ovz-server-rsync

Необходимо скопировать 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

Установка rsync-контейнера

Все дальнейшие операции необходимо выполнять с привилегиями пользователя 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-сервиса

Прежде чем перейти к непосредственной настройке 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-сервиса