В качестве примера выбора конфигурации системы рассмотрим клиент, который содержит три каталога, предназначенных для копирования на резервный носитель: /home
, /var
и /
(корневой каталог). Для экспортирования соответствующих файловых систем необходимо создать записи в файле /etc/exports
. Если сервер резервного копирования имеет имя buserver
, эти записи будут иметь следующий вид:
/home buserver(ro,no_root_squash)
/var buserver(ro,no_root_squash)
/ buserver(ro,no_root_squash)
Для восстановления файлов следует вместо ro
указать rw
и перезагрузить сервер NFS. При восстановлении данных необходимо также обеспечить сохранность информации о принадлежности файлов владельцам. Если некоторый файл принадлежит, например, пользователю jbrown
, но соответствие имени и числового идентификатора установить не удается, то данные о владельце восстановленного файла могут быть искажены. Чтобы исключить подобный эффект, надо обеспечить, чтобы на сервере и на клиенте резервного копирования содержались учетные записи одних и тех же пользователей и чтобы совпадали их числовые идентификаторы.
Выполнение резервного копирования
Команды, по которым выполняется резервное копирование, напоминают команды, рассмотренные ранее, но, для того, чтобы они выполнялись успешно, необходимо смонтировать каталоги, экспортируемые клиентом, на сервере резервного копирования. Предположим, что клиент резервного копирования имеет имя buclient
, а на сервере существует каталог /mnt/client
, выполняющий роль точки монтирования. Для монтирования каталогов и создания резервной копии может быть использована приведенная ниже последовательность команд.
# mount -t nfs -о soft buclient:/ /mnt/client
# mount -t nfs -o soft buclient:/var /mnt/client/var
# mount -t nfs -o soft buclient:/home /mnt/client/home
# cd /mnt/client
# tar cvlf /dev/st0 home var ./
На заметку
При составлении приведенного выше набора команд предполагалось, что сервер NFS на компьютере, выполняющем роль клиента резервного копирования, не обеспечивает автоматическое монтирование экспортируемых подкаталогов. Если автоматическое монтирование подкаталогов поддерживается, достаточно первой из перечисленных команд mount
.
Обратите внимание на то, что среди представленных выше команд присутствует команда cd
. С ее помощью точка монтирования экспортируемых каталогов объявляется как текущий каталог. При этом дерево подкаталогов выглядит так, как будто вы зарегистрировались на клиенте резервного копирования. Программа tar
сохраняет информацию о каталогах, лишь начиная с точки монтирования; полный путь к файлу не записывается. В результате в архиве на ленте никак не отображена информация о том, что экспортируемые каталоги были смонтированы в точке /mnt/client
и при восстановлении данных требуемые каталоги можно смонтировать в любой другой позиции файловой системы. Для создания резервной копии можно также использовать следующую команду:
# tar cvlf /dev/st0 /mnt/client/home /mnt/client/var /mnt/client
В данной команде явно указан каталог /mnt/client
. (Если вы не зададите модификатор --absolute-paths
, при создании архива первый символ /
будет удален и сохранится лишь имя mnt/client
.) В этом случае при восстановлении файлов каталоги необходимо монтировать либо в той же точке, в которой они монтировались при создании резервной копии, либо в каталоге, путь к которому оканчивается на mnt/client
. В противном случае будет создан новый каталог, причем он разместится не на клиентской машине, а на сервере резервного копирования.
Внимание
Недостаток описанного способа резервного копирования состоит в том, что если клиент прекратит обмен по сети, процесс сохранения данных остановится на неопределенное время. В приведенном выше примере при монтировании указывалась опция -о soft
. Она позволяет клиенту NFS на сервере резервного копирования передавать программе tar
сведения об ошибках, предотвращая тем самым "зависание" процедуры копирования данных.
В предыдущем разделе рассматривалось использование утилиты tar
совместно с программой rshd
, выполняющейся на сервере резервного копирования, либо с сервером NFS, который выполняется на компьютере, выступающем в роли клиента резервного копирования. Для обеспечения взаимодействия компьютеров можно также использовать и другие серверы. В данном разделе рассматриваются вопросы выполнения резервного копирования с применением сервера SMB/CIFS. Такой способ создания резервных копий удобно использовать при работе в сетях, содержащих большое количество компьютеров под управлением Windows. В главе 7 описывался продукт Samba, с помощью которого можно организовать взаимодействие систем Windows и Linux по протоколу SMB/CIFS.
Читать дальше