Резервное копирование, инициируемое клиентом

Резервное копирование, инициируемое клиентом

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

Настройка сервера для резервного копирования по инициативе клиента

Опция --file, описанная в табл. 17.2, позволяет указать программе tar файл архива. Это может быть обычный файл на диске, файл устройства, представляющий накопитель на магнитных лентах, и путь к сетевому ресурсу. В последнем случае на компьютере, выступающем в роли сервера резервного копирования, должен выполняться демон rshd (часто он называется in.rshd). Этот демон позволяет удаленной системе выполнять команды на локальной машине. Благодаря наличию программы rshd утилита tar получает возможность передать созданный ею файл на устройство, подключенное к серверу резервного копирования. Сервер rshd поставляется с большинством версией системы Linux и обычно запускается посредством суперсервера. Соответствующая запись в файле /etc/inetd.conf имеет следующий вид:

shell stream tcp nowait root /usr/sbin/tcpd

 /usr/sbin/in.rshd -h

Если в вашей системе используется сервер xinetd, вам необходимо создать запись аналогичного назначения в файле /etc/xinetd.conf или создать отдельный файл и включить его в каталог /etc/xinetd.d. При выполнении резервного копирования чрезвычайно важны меры по ограничению доступа, предпринимаемые посредством TCP Wrappers или непосредственно предусмотренные в xinetd. Решение о предоставлении доступа через rshd принимается на основе анализа IP-адреса. Хотя TCP Wrappers и xinetd используют тот же механизм контроля за обращениями клиентов, избыточные средства обеспечения безопасности пригодятся на тот случай, если в программе rshd будут обнаружены ошибки, позволяющие обойти механизмы защиты.

Несмотря на то что основные меры защиты rshd базируются на использовании информации об IP-адресе, данная программа также проверяет имена пользователей. Это делается для того, чтобы предотвратить попытки запуска программ, которые могут нанести вред системе. В обычных условиях rshd не обрабатывает команды, полученные от пользователя root, независимо от того, на каком компьютере он работает. Это правило можно отменить путем указания опции -h, как это было сделано в рассмотренном выше примере записи в файле inetd.conf. Данная опция чрезвычайно важна, так как для выполнения резервного копирования приходится иметь дело с системными файлами, а для работы с ними необходимы максимальные привилегии. Если вы не укажете опцию -h, то обычные пользователи смогут выполнять резервное копирование только в том случае, если права доступа к файлу устройства на сервере позволят им сделать это. (В большинстве дистрибутивных пакетов обычным пользователям запрещен доступ к накопителям на магнитных лентах.)

Внимание

В некоторых системах опция -h программы rshd не обрабатывается. В этом случае приходится создавать резервные копии по-другому. Необходимо запустить на сервере резервного копирования сервер SSH и на стороне клиента связать ssh с именем rsh. При этом утилита tar для передачи данных по сети будет обращаться к программе ssh. Такой подход обеспечивает дополнительную степень защиты, и ему имеет смысл следовать даже в тех случаях, когда опция -h обрабатывается так, как указано в документации. Сервер SSH необходимо сконфигурировать таким образом, чтобы он при выполнении аутентификации не запрашивал пароль.

Учитывая вопросы защиты данных, желательно выделить для сервера резервного копирования отдельную машину. Для этой цели подойдет компьютер небольшой мощности. Единственное требование, предъявляемое к нему, — это наличие накопителя на магнитных лентах и высокопроизводительного сетевого соединения. Используя брандмауэр, можно запретить доступ к серверу резервного копирования из Internet, но, несмотря на это, нежелательно размещать на нем важные данные.

Выполнение резервного копирования

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

# tar cvlpf buserver:/dev/st0 /home /var /

В результате выполнения данной команды содержимое каталогов /home, /var и / локального компьютера будет передано на устройство записи на магнитную ленту, расположенное на компьютере buserver. Если в подкаталогах указанных каталогов смонтированы другие файловые системы, они исключаются из процесса копирования. Если содержимое компьютера исчерпывается тремя указанными выше каталогами, в результате выполнения данной команды осуществляется полное резервное копирование.

Для управления накопителем, подключенным к серверу резервного копирования, может использоваться утилита mt. Например, по команде mt -f buserver: /dev/nst0 rewind осуществляется перемотка ленты.

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