Зеркалирование информации::Журнал СА 5.2004
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1943
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1973
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1530
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1117
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1693
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 Зеркалирование информации

Архив номеров / 2004 / Выпуск №5 (18) / Зеркалирование информации

Рубрика: Администрирование /  Продукты и решения

АЛЕКСАНД БАЙРАК

Зеркалирование информации

В этой статье будет рассказано о создании простой и удобной системы зеркалирования информации с помощью пакета CVSup

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

Процесс зеркалирования хоть и схож по смыслу, но все же несколько отличается от классического резервного копирования информации. Более того, зеркалирование в полной мере не сможет его заменить. А зачем же тогда использовать зеркалирование, если оно не заменит процесс стандартного бекапа? Рассмотрим небольшой пример.

Почему я взял за основу CVSup? CVSup является пакетом программ для передачи и обновления файлов через сеть. Он состоит из двух частей – клиента и сервера. Да, есть аналогичные средства – sup и rdist, а чем CVSup-то лучше? CVSup более гибок в настройках, и обеспечивает большую скорость работы по сравнению с вышеуказанными средствами. CVSup может эффективно копировать файлы любых типов, вплоть до файлов устройств. С помощью CVSup можно зеркалировать как отдельные каталоги, так и весь сервер целиком. А что? Очень удобно получается.

Я установил систему зеркалирования на FreeBSD, но ее так же можно установить на любую другую BSD-систему или на Linux.

CVSup мной был установлен из пакаджей, которые шли вместе с системой. При желании пользователи BSD-систем могут установить этот пакет из коллекции портов, а можно самостоятельно скомпилировать из исходников, которые располагаются тут: ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup.

В сети есть и rmp-пакеты CVSup.

В общем, проблем с получением и установкой возникнуть не должно. Расписывать пошагово весь процесс не вижу смысла.

Так как эта статья не задумывалась как исчерпывающее руководство по зеркалированию информации, я не буду рассматривать примеры создания полной копии одного/нескольких серверов целиком, все будет показано на одном простом примере, я думаю, его будет достаточно, для того чтобы понять, как работает CVSup.

Перейдем от теории к практике:

Предположим, нам нужно держать зеркальные копии следующих каталогов: /var/ftp; /info; /home/user22. Для начала нам нужно создать каталоги, в которых разместятся файлы конфигурации, роль которых – указывать демону cvsupd, какие данные пересылать зеркальной машине.

#cd /etc

#mkdir –p cvsup/sup

#cd cvsup/sup

#mkdir ftp info user22

После этого создаем в каждом каталоге по 2 файла следующего содержания (расписываю на примере ftp):

Создаем первый файл:

#touch ftp.cvs

Помещаем в него следующее:

Upgrade ftp

rsymlink *

Создаем второй файл:

#touch releases

В котором пишем:

ftp list=ftp.cvs prefix=/var

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

Проделываем аналогичные манипуляции с остальными каталогами.

После успешного завершения запускаем сервер cvsupd:

#cvsupd –b /etc/cvsup –C 1 –l /dev/stdout

После опции –b указываем, где у нас лежит каталог, в котором располагаются файлы конфигурации. По умолчанию это /usr/local/etc/cvsup, если файлы с настройками вы поместили именно туда, эту опцию можно опустить. Опция –C отвечает за определение максимального количества клиентов, которые могут одновременно забирать файлы. В нашем случае это 1. После опции –l указывается место, куда выводить логи. Для меня более удобным и наглядным является вывод этой информации непосредственно на экран. Но никто не мешает вам в качестве места для логов указать какой-либо файл. Например, –l /var/log/cvsup.log – и все сообщения будут помещаться в этот файл. Если все запустилось без ошибок, то переходим к настройке машины «зеркала», на этой нам больше делать нечего. Если же возникнут какие-либо ошибки, изучайте файл, который вы определили для вывода информации.

Важное замечание: CVSup по умолчанию работает через 5999-й порт, так что не забудьте открыть его на своем межсетевом экране.

Создаем в каталоге /etc файл mirror (хотя название вы можете выбрать произвольное).

В этот файл мы поместим следующее:

*default host=hostname

*default delete use-rel-suffix

*default compress

*default preserve

*default base=/backup/var

*default releases=ftp

ftp

В качестве hostname вам нужно указать имя вашего хоста, информацию с которого вы хотите получать. Кстати, писать *default в начале каждой строки абсолютно не обязательно, это делается только для удобочитаемости файла. delete use-rel-suffix – эта инструкция дает CVSup право удалять файлы на вашем компьютере. А почему в *default base= указано именно /backup/var, а не /var ?

Потому что /var «основной» машины будет храниться в каталоге /backup/var «резервной» машины. Как вы поняли, это сделано для того, чтобы каталог /var с «основной» машины не заместил собой каталог /var на «резервной» машине.

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

#cvsup –L 2 /etc/mirror

Число после опции –L указывает уровень подробности выводимой информации. По умолчанию используется 1. В данном случае 2 – самый подробный вывод. При 0 в качестве параметра опции –L информация о процессе не выводится. За ней следует указание месторасположения файла с настройками. Вот пошел процесс синхронизации.

В зависимости от объемов информации и скорости сети первоначальный обмен данными может продлиться достаточно долго. Должен заметить, что если нажать Ctrl+C для завершения процесса копирования, CVSup корректно завершит все свои операции, и в следующий раз продолжит свое дело с того места, но котором вы его прервали.

Хочу обратить ваше внимание на одну очень важную деталь: CVSup не копирует файлы, у которых совпадает контрольная сумма и права доступа.

Получается, что если на машине-источнике и машине-получателе присутствуют разные учетные записи пользователей, информация о правах владения файлов может не совпасть.

Отсюда следует, что если какой-либо копируемый файл имеет владельца, упоминаний о котором нет на машине-получателе, CVSup будет копировать этот файл в каждом сеансе синхронизации.

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

Если все отлажено и отлично работает, вполне логичным может выглядеть добавление нового задания для демона cron. Через какой промежуток времени запускать процесс зеркалирования – решать вам. У меня он происходит каждые полчаса.

Существует перевод на русский язык оригинального CVSup faq, который я очень рекомедую вам внимательно почитать. Находится он на: http://ozz.pp.ru/cvsup.html.

Завершая эту небольшую статью, невольно вспоминаются золотые слова: «Лучше 2 бекапа, чем вообще без них». Так что не пренебрегайте такой важной штукой, как резервное копирование информации.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru