8.4. Информация, ориентированная на Red Hat Enterprise Linux

Если говорить о чрезвычайных ситуациях и восстановлении после них, всё это очень мало зависит от конкретной операционной системы. В конце концов, компьютеры в затопленном центре данных не будут работать, вне зависимости от того, установлена ли на них операционная система Red Hat Enterprise Linux или какая-то другая. Тем не менее, некоторые стороны Red Hat Enterprise Linux связаны с определёнными аспектами восстановления после аварии, о них и пойдёт речь в этом разделе.

8.4.1. Поддержка программного обеспечения

Как разработчик программного обеспечения, Red Hat предлагает много вариантов поддержки своих продуктов, включая Red Hat Enterprise Linux. Вы уже используете наиболее простой инструмент поддержки, читая это руководство. Документация к Red Hat Enterprise Linux находится на компакт-диске Red Hat Enterprise Linux Documentation (она также может быть установлена в вашей системе для ускорения доступа), также она доступна в печатной форме или на сайте Red Hat по адресу http://www.redhat.com/docs/.

Предоставляя возможность поддержки по принципу самообслуживания, компания Red Hat ведёт самые разные списки рассылки (они доступны по адресу https://www.redhat.com/mailman/listinfo). Эти списки рассылки позволяют воспользоваться объединёнными знаниями сообщества пользователей Red Hat, кроме этого, их отслеживают сотрудники Red Hat и вносят свою лепту по мере возможности. Другие ресурсы также доступны на основной странице поддержки Red Hat: http://www.redhat.com/apps/support/.

Существуют и варианты более всесторонней поддержки, информацию о них можно найти на сайте Red Hat.

8.4.2. Технологии резервного копирования

В состав Red Hat Enterprise Linux входят несколько разных программ для резервного копирования и восстановления данных. Сами по себе, эти вспомогательные программы не являются полным решением для резервного копирования. Однако они могут быть составными частями такого решения.

ЗамечаниеЗамечание
 

Как было замечено в разделе 8.2.6.1 Восстановление на «голом» компьютере, большинство компьютеров, основанных на стандартной архитектуре PC, не имеют необходимой функциональности для загрузки непосредственно с ленты. Следовательно, и система Red Hat Enterprise Linux не может выполнить загрузку с ленты на таком оборудовании.

Однако, для использования в качестве среды восстановления можно использовать ваш компакт-диск с Red Hat Enterprise Linux CD-ROM, за дополнительной информацией об этом обратитесь к главе, посвящённой восстановлению системы, в Руководстве по системному администрированию Red Hat Enterprise Linux.

8.4.2.1. tar

Утилита tar хорошо известна среди системных администраторов UNIX. Это один из возможных способов переноса разных кусков исходного кода и других файлов между компьютерами. Включённая в Red Hat Enterprise Linux реализация tar — это tar от GNU, одна из самых богатых возможностями реализаций tar.

Сделать копию содержимого каталога с помощью tar не сложнее, чем выполнить примерно следующую команду:

tar cf /mnt/backup/home-backup.tar /home/

Данная команда создаёт файл архива home-backup.tar в /mnt/backup/. В этот архив помещается содержимое каталога /home/.

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

tar czf /mnt/backup/home-backup.tar.gz /home/

Полученный теперь файл архива home-backup.tar.gz сжат с помощью gzip[1].

Команда tar имеет много других параметров, чтобы узнать о них, обратитесь к странице man tar(1).

8.4.2.2. cpio

Утилита cpio — ещё одна традиционная программа UNIX. Это прекрасная универсальная программа для перемещения данных из одного место в другое, и, таким образом, она может хорошо послужить в качестве программы копирования.

Поведение cpio несколько отличается от tar. В отличие от tar, cpio читает имена файлов для обработки из стандартного устройства ввода. Список файлов для cpio обычно создаётся с помощью программ вроде find, вывод которых перенаправляется на вход cpio:

find /home/ | cpio -o > /mnt/backup/home-backup.cpio

Эта команда создаёт файл архива cpio (содержащий всё в каталоге /home/) с именем home-backup.cpio в каталоге /mnt/backup/.

ПодсказкаПодсказка
 

Так как find имеет богатый набор проверок для выбора файлов, с её помощью можно легко делать достаточно сложные копии. Например, следующая команда делает копию только тех файлов, к которым не было ни одного обращения за последний год:

find /home/ -atime +365 | cpio -o > /mnt/backup/home-backup.cpio            

У cpiofind) есть много других параметров, чтобы узнать о них, прочитайте страницы man cpio(1) и find(1).

8.4.2.3. dump/restore: не рекомендуется для смонтированных файловых систем!

Программы dump и restore — это эквиваленты одноименных программ UNIX для Linux. Поэтому, многие системные администраторы, имеющие опыт работы с UNIX, могут подумать, что dump и restore — подходящие кандидаты на роль программ резервного копирования в Red Hat Enterprise Linux. Однако один вариант использования dump может приводить к проблемам. Вот что говорит Линус Торвальдс (Linus Torvald) по этому поводу:

От:	 Linus Torvalds
Кому:	 Neil Conway
Тема: Re: [PATCH] SMP race in ext2 - metadata corruption.
Дата:	 Fri, 27 Apr 2001 09:59:46 -0700 (PDT)
СК:	 Kernel Mailing List <linux-kernel At vger Dot kernel Dot org>

В пятницу, 27 апреля 2001 г., Нейл Конвэй писал:
> > Я удивлён, что dump считается устаревшим (по крайней мере Вами ;-)).  
> Что же использовать для резервного копирования на компьютерах,
>  где нельзя регулярно размонтировать диски? 


Заметьте, что dump просто не будет работать надёжно даже в 2.4.x:
буфер и кэш страниц (в котором собственно находятся все данные)
не соответствуют друг другу. И в версии 2.5.x, когда в кэш страниц
попадут и каталоги,  эта ситуация станет ещё хуже.

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

Dump был глупым с самого начала. Забудьте о нём.

> Я всегда думал, что использовать "tar" не желательно (например, 
> в отношении обновления atimes или ctimes).

На данный момент, решения cpio/tar/xxx определённо лучшие, и будут работать с
разными файловыми системами (ещё одно ограничение dump). Каких бы проблем
у них ни было, это всё же лучше, чем _гарантированное_ (*) разрушение данных
как при использовании dump.

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

		Линус
(*) Dump может прекрасно сделать своё дело тысячу раз. Но он _обязательно_ даст
 сбой при определённых обстоятельствах. И вы ничего не сможете с этим поделать.

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

8.4.2.4. Advanced Maryland Automatic Network Disk Archiver (AMANDA)

AMANDA (название расшифровывается как Advanced Maryland Automatic Network Disk Archiver, Продвинутая автоматическая утилита архивации сетевых дисков из Мэриленда) — это клиент-серверное решение для резервного копирования, разработанное в Мэрилендском университете. Благодаря клиент-серверной архитектуре, один сервер резервного копирования (обычно это довольно мощный компьютер с большим объёмом свободного места на быстрых дисках и подходящим устройством для резервных копий) может выполнить копии множества клиентских систем, на которых нужно лишь установить клиентскую часть AMANDA.

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

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

Для собственно копирования данных AMANDA может использовать tar или dump (хотя в Red Hat Enterprise Linux предпочтительнее использовать tar, ввиду проблем с dump, поднятых в разделе 8.4.2.3 dump/restore: не рекомендуется для смонтированных файловых систем!). А значит, для восстановления резервных копий AMANDA, сама AMANDA не требуется — это определённый плюс.

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

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

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

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

В этом разделе были затронуты лишь самые общие принципы работы AMANDA. Если вы хотите глубже исследовать AMANDA, начните со страницы man amanda(8).

Замечания

[1]

Расширение .gz традиционно используется для обозначения того, что файл был сжат с помощью gzip. Иногда .tar.gz сокращается до .tgz, чтобы имена файлов оставались в меру короткими.