Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800521

.pdf
Скачиваний:
3
Добавлен:
01.05.2022
Размер:
4.21 Mб
Скачать

10.РЕЗЕРВНОЕ КОПИРОВАНИЕ

Создание резервных копий вряд ли можно считать увлекательным занятием, но если вы хотите поддерживать работоспособность вашей системы в течение длительного времени, выполнять эту рутинную работу необходимо. Некоторые сети насчитывают один или два сервера и несколько клиентов, причем конфигурация клиентских компьютеров чрезвычайно проста, и они не содержат важной информации. Клиентские машины по сути выполняют функции X-терминалов. Создавая резервные копии данных в такой сети, достаточно скопировать содержимое сервера. Что же касается клиентов, для них можно создать одну копию, отражающую стандартную конфигурацию системы. Если к сети подключено несколько серверов, необходимо организовать копирование данных с каждого из них. Если же на каждом из клиентских компьютеров будет содержаться важная информация, процедура резервного копирования будет выглядеть по-другому. В начале данной главы обсуждаются общие вопросы, связанные с созданием резервных копий, после чего будут рассмотрены три способа решения задачи резервного копирования: использование tar для архивирования информации, содержащейся на компьютерах под управлением Linux или UNIX, применение Samba для копирования данных в системе Windows и координация действий по резервному копированию в сети с помощью инструмента AMANDA.

Резервное копирование данных в сети - достаточно сложная задача, которая усложняется еще больше с увеличением размеров сети. Дополнительную информацию по этой теме вы найдете в документации, поставляемой в комплекте с инструментами резервного копирования. Тем, кому необходимо подробно разобраться в данном вопросе, можно порекомендовать книгу Престона (Preston) Unix Backup & Recovery (O'Reilly, 1999).

121

10.1. Использование серверов резервного копирования

Резервные копии проще всего создавать на локальной машине. Если вы установите накопитель на магнитных лентах на компьютер, работающий под управлением Linux, вы можете пользоваться такими утилитами, как tar, cpio или dump, причем для этого вам не потребуется специально настраивать вашу систему. Резервное копирование в сетевом окружении представляет собой гораздо более сложную задачу, так как компьютеры, участвующие в сетевом взаимодействии, должны быть соответствующим образом сконфигурированы, а программы, применяемые для создания резервных копий, должны обеспечивать работу в сети. (Отсутствие сетевой поддержки в программах резервного копирования в некоторых случаях можно компенсировать за счет применения различных утилит.) Организовать восстановление данных в сети - еще более сложная задача, так как при этом приходится осуществлять взаимодействие с компьютером, на котором отсутствуют многие из сетевых инструментов. По этой причине в небольших сетях рекомендуется осуществлять резервное копирование с использованием локальных устройств. Для обеспечения подобного копирования необходимо затратить значительные средства, поскольку с ростом сети увеличивается число устройств, которые должны быть установлены на компьютерах. Стоимость накопителя, который может быть установлен на рабочей станции, составляет от 100 до 1000 долларов. К этой сумме надо добавить стоимость носителей. Устройства, позволяющие осуществлять резервное копирование в сети, стоят значительно больше, но расходы в пересчете на один компьютер оказываются намного меньше, чем при использовании локальных устройств. Таким образом, одним

122

из аргументов в пользу сетевого резервного копирования является экономия средств.

Аппаратные средства, предназначенные для создания резервных копий. Чаще всего для хранения резервных копий данных используются магнитные ленты. Как правило, чем меньше цена накопителя, тем больше стоят ленты для него, таким образом, по мере приобретения магнитных носителей разница в цене между низкоуровневым и высокоуровневым устройством будет становиться все меньше и меньше. В небольших сетях для резервного копирования чаще всего применяются накопители среднего и высокого уровня стоимостью около 1000 долларов. Такие устройства обычно обеспечивают запись на носитель от 5 до 20 Гбайт информации. Как правило, подобные устройства используют формат DAT (Digital Audio Tape - цифровая аудиолента) или

DLT (Digital Linear Tape - лента с цифровой линейной записью). Для резервного копирования в больших сетях применяются более дорогие устройства, использующие DLT либо другие "экзотические" форматы. Объем копируемой информации может быть настолько велик, что станет оправданным применение накопителей с автоматической сменой лент. Логически устройства с автоматической сменой лент могут рассматриваться как накопители с носителем сверхбольшого объема.

Магнитная лента - не единственный носитель, пригодный для создания резервных копий. В качестве альтернативы могут рассматриваться оптические носители, такие как компакт-диски (в том числе перезаписываемые) и DVD. Обычные компакт-диски имеют небольшой объем (630 Мбайт) и не всегда подходят для резервною копирования, однако на них можно хранить информацию, не изменяющуюся во времени, например, использовать для инсталляции операционной системы на клиентском компьютере. Объем перезаписываемых DVD исчисляется гигабайтами, и на них помещается операционная система в

123

полном объеме, но для сетевого копирования он может оказаться недостаточным. Срок хранения информации на оптических носителях очень велик (для компакт-дисков он составляет от 10 до 100 лет), поэтому они хорошо подходят для создания архивов. В системе Linux подобные устройства гораздо менее удобны, чем накопители на лентах, так как для записи данных на них нужны специальные программы, например cdrecord. Однако процесс восстановления носителей очень прост, поскольку они читаются стандартными устройствами, входящими в состав практически каждого компьютера.

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

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

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

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

124

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

Оба способа будут рассмотрены в данной главе. Каждый из них имеет свои преимущества и недостатки.

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

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

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

125

использованы rshd и Samba. Копирование, инициируемое клиентом, имеет следующие особенности.

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

Контроль пользователя за процессом копирования.

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

Безопасность системы. На компьютере,

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

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

126

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

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

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

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

Контроль пользователя за процессом копирования.

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

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

127

важные данные, например файл /etc/shadow. Сервер резервного копирования в этом случае менее подвержен атакам, так как на нем выполняется только клиентская программа.

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

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

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

Утилита tar - одна из самых популярных программ, используемых для резервного копирования в системах Linux и UNIX. Она объединяет несколько файлов в один файл архива, что упрощает передачу информации по сети и сохранение ее

128

на резервном носителе. Название программы представляет собой сокращение слов tape archive (архив на ленте). Утилиту tarможно использовать для организации резервного копирования как по инициативе клиента, так и по инициативе

сервера.

Вместо tar в

системе Linux могут применяться и

другие

подобные

программы, например cpio или dump.

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

также

потому,

что

она

используется

другими

инструментальными

средствами,

например smbtar и

AMANDA.

 

 

 

 

 

Возможности tar

 

 

 

 

Утилита tar -

чрезвычайно

мощный

инструмент; она

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

включить

в

архив,

или

задать

сжатие

архива

посредством gzip или bzip2 и

т.д.

Утилита tarвызывается

следующим образом:

tar команда [модификаторы] имена_файлов

Вкачестве имен файлов в большинстве случаев задаются имена каталогов. Если при вызове программы задано имя каталога, tar включает в состав архива все файлы и все подкаталоги этого каталога. Чтобы создать архив всей файловой системы, надо указать корневой каталог (/).

Втабл. 10.1 и 10.2 перечислены наиболее часто используемые команды и модификаторы утилиты tar. На самом деле набор допустимых опций гораздо более обширный

129

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

Часто употребляемые команды утилиты tar Таблица 10.1

Команда

Сокращенный

Описание

 

 

 

вариант

 

 

 

 

 

 

 

 

 

--create

с

Создает архив

 

 

 

 

 

 

 

 

--

A

Добавляет

tar-файл

к

concatenate

существующему архиву

 

 

 

 

 

 

 

 

 

--append

r

Добавляет

обычные

файлы

к

существующему архиву

 

 

 

 

 

 

 

 

 

 

 

Добавляет

файлы,

которые

 

 

имеют более позднюю дату

--update

u

создания,

чем

файлы

с

соответствующими

 

именами,

 

 

 

 

 

присутствующие

в

составе

 

 

архива

 

 

 

 

 

 

 

 

 

 

 

--diff

 

Сравнивает

файлы

в

архиве

с

или

d

файлами на диске

 

 

 

--compare

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--list

t

Выводит содержимое архива

 

 

 

 

 

 

 

 

--extract

x

Извлекает файлы из архива

или --get

 

 

 

 

 

 

 

 

 

 

 

 

 

130