Выбрать главу

Способы резервного копирования

Существуют два основных способа сетевого резервного копирования. Первый способ состоит в том, что операция копирования инициируется компьютером, данные которого должны быть сохранены; при этом используется накопитель на лентах, подключенный к другому компьютеру. Такой способ называется резервным копированием, инициируемым клиентом. Второй способ предполагает копирование по инициативе компьютера, к которому подключен накопитель; этот компьютер обращается к узлу сети, содержащему данные, предназначенные для сохранения. В этом случае говорят о резервном копировании, инициируемом сервером. Оба способа будут рассмотрены в данной главе. Каждый из них имеет свои преимущества и недостатки.

На заметку

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

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

При выполнении копирования, инициируемого клиентом, на компьютере, выполняющем функции сервера резервного копирования, должна находиться программа-сервер, которая обеспечивает доступ клиента к устройству, предназначенному для создания резервных копий. Эта программа может не только участвовать в резервном копировании, но и выполнять другие функции. Так, например, в качестве программ-серверов могут быть использованы rshd и Samba. Копирование, инициируемое клиентом, имеет следующие особенности.

• Планирование. Если копирование данных на резервный носитель должно осуществляться периодически, инициировать процесс резервного копирования можно с помощью cron или другого инструмента, осуществляющего вызов программ по расписанию. При этом необходимо предусмотреть средства идентификации, которые позволяли бы различать между собой копии, созданные разными клиентами.

• Контроль пользователя за процессом копирования. Создавая резервные копии содержимого рабочих станций, удобнее осуществлять копирование, инициируемое клиентом, так как в этом случае пользователь может выбирать время начала копирования и даже файлы, предназначенные для сохранения на резервном носителе. Возможно, пользователь захочет выполнить внеочередное копирование после окончания определенного этапа работы над проектом или перед началом отпуска.

• Безопасность системы. На компьютере, выполняющем роль клиента резервного копирования, не должна присутствовать программа-сервер; в результате уровень безопасности системы повышается. Если данные копируются с машины, работающей под управлением Linux или UNIX, резервное копирование может осуществляться от имени пользователя root, что обеспечивает полный доступ ко всем файлам.

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

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

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

• Планирование. Поскольку управление резервным копированием осуществляется централизованно, вы можете без труда предотвратить конфликты и даже составить расписание так, чтобы копирование осуществлялось в те часы, когда нагрузка на сеть минимальна (например, ночью).

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

• Безопасность системы. На каждом клиенте резервного копирования должна выполняться некоторая серверная программа. Обычно эта программа поддерживает протокол разделения файлов, например NFS или SMB/CIFS, либо протокол, подобный FTP, и обеспечивает полный доступ к данным на компьютере. Если злоумышленник использует метод фальсификации IP-адресов и обратится к компьютеру от имени сервера резервного копирования, он может похитить важные данные, например файл /etc/shadow. Сервер резервного копирования в этом случае менее подвержен атакам, так как на нем выполняется только клиентская программа.

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

Внимание

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

Использование tar

Утилита tar — одна из самых популярных программ, используемых для резервного копирования в системах Linux и UNIX. Она объединяет несколько файлов в один файл архива, что упрощает передачу информации по сети и сохранение ее на резервном носителе. Название программы представляет собой сокращение слов tape archive (архив на ленте). Утилиту tar можно использовать для организации резервного копирования как по инициативе клиента, так и по инициативе сервера. Вместо tar в системе Linux могут применяться и другие подобные программы, например cpio или dump. Особенности работы с ними описаны в документации на программы и в справочной системе Linux. В данной главе обсуждается лишь программа tar; ей уделено особое внимание потому, что она наиболее популярна среди пользователей, а также потому, что она используется другими инструментальными средствами, например smbtar и AMANDA.