Восстановление с резервных копий
Категория: Резервное копирование | Автор: admin | 25-11-2009, 03:19 | Просмотров: 3645

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

 

Восстановление отдельных файлов

 

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

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

Установив ленту, с которой будет производиться восстановление, создайте временный каталог, к примеру /var/restore, где будет образована большая иерархия каталогов, и перейдите в него с помощью команды cd. Большинство версий команды restore должны создать все каталоги, ведущие к конкретно файлу, иначе восстановить его будет невозможно. Не используйте для этих целей каталог /tmp: в случае системного сбоя и последующей перезагрузки содержимое каталога будет стерто.

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

Команда restore i читает с ленты справочник файлов, а затем позволяе перемещаться по архиву, как в обычном дереве каталогов, с помощью команд ls, cd и pwd. Файлы, которые нужно восстановить, помечаются командой add. Выбрав все необходимые файлы, скопируйте их с ленты посредством командь extract.

Если на одной ленте много архивов, то перед выполнением команды restore следует позиционировать ленту на соответствующий архив с помощьк команды mt. Не забудьте выбрать файл устройства без режима перемотки!

Например, для восстановления файла /users/janet/iamlost во FreeBSD с использованием удаленного накопителя требуется задать показанную ниже последовательность команд. Предполагается, что найдена нужная лента, она смонтирована в точке tapehost:/dev/nst0, а файловая система, содержащая начальный каталог пользователя janet, является четвертой на ленте.

 

# mkdir /var/restore

# cd /var/restore

# rsh tapehost mt -f /dev/nst0 fsf 3

#rrestore if tapehost:/dev/nst0

restore> ls

.:

janet/  garth/  lost+found/  lynda/

restore> cd janet

restore> ls

afile bfile cfile iamlost

restore> add iamlost

restore> ls

afile bfile cfile    iamlost*

restore> extract

You have not read any volumes yet.

Unless you know which volume your files are on you should

start with the last volume and work towards the first.

Specify next volume #: 1

set owner/mode for '.'?  [yn]: n

 

Ленточные тома нумеруются начиная с 1, а не с 0 поэтому для архива, который умещается на одной ленте, нужно указать значение 1. Когда команда restore спрашивает, следует ли установить владельца и режим доступа для каталога ‘.’ это значит, что она интересуется, должен ли текущий каталог соответствовать корневому каталогу ленты. Обычно в этом нет необходимости, если только не восстанавливается вся файловая система целиком.

После того как команда restore завершила свою работу, нужно передать извлеченный файл пользователю janet:

# cd /var/restore

# ls users/janet

iamlost

# ls ~janet

afile bfile cfile

# cp -p users/janet/iamlost ~janet/iamlost.restored

# chown janet ~janet/iamlost.restored

# chgrp student ~janet/iamlost.restored

# rm -rf /var/restore

# mail janet

Your file iamlost has been restored as requested and has

been placed in /users/janet/iamlost.restored.

 

Your Name, Humble System Administrator

 

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

Если резервная копия создавалась с помощью программы rdump и команда restore не может восстановить файлы из архива, попробуйте воспользоваться командой rrestore. Для сведения к минимуму вероятности возникновения проблем старайтесь читать ленту на том же компьютере, на котором она записывалась.

В целом команда restore i — самый простой способ восстановления нескольких файлов или каталогов из архива. Имеется лишь одно ограничение: данная команда не будет работать, если ленту нельзя перематывать по одной записи назад (такая проблема существует для некоторых 8-миллиметровых накопителей). Если это случилось, не паникуйте, а сначала попробуйте использовать команду restore х. Она требует указания полного путевого имени восстанавливаемого файла (относительно корневого каталога архива) в командной строке. Следующая группа команд повторяет приведенный выше пример:

# mkdir /var/restore

# cd /var/restore

# rsh tapehost mt -f /dev/nst0 fsf 3

# rrestore xf tapehost:/dev/nst0 /users/janet/iamlost

 

Восстановление файловых систем

 

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

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

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

  • Шаг 1: восстановите самый последний архив нулевого уровня.
  • Шаг 2: среди последующих архивов восстановите тот, у которого наименьший уровень; если на данном уровне было создано несколько архивов, восстановите новейший из них.
  • Шаг 3: если это оказался самый последний из сделанных архивов, процедуру можно считать завершенной, в противном случае следует вернуться к шагу 2.

Приведем примеры архивных последовательностей. Восстанавливать нужно только те архивы, номера которых выделены полужирным шрифтом:

0 0 0 0 0 0

0 5 5 5 5

0 3 2 5 4 5

0 9 9 5 9 9 3 9 9 5 9 9

0 3 5 9 3 5 9

Рассмотрим всю последовательность команд. Например, если последним был создан месячный архив уровня 3, а перед ним создавался ежегодный архив нулевого уровня (см. параграф "Умеренная схема" выше), то для восстановления файловой системы /home, находящейся на физическом устройстве /dev/dsk/c201d6s0, понадобятся следующие команды (имена устройств и вид команды newfs зависят от операционной системы):

# /etc/newfs /dev/dsk/c201d6s0 QUANTUM_PD1050S

# /etc/mount /dev/dsk/c201d6s0 /home

# cd /home

/* Монтируем первую ленту архива уровня 0 для каталога /home */

# restore r 

/* Монтируем ленты, запрашиваемые командой restore */

/* Монтируем первую ленту ежемесячного архива уровня 3    */

# restore r

 

Если на одной резервной ленте было несколько файловых систем, то перед обращением к команде restore необходимо с помощью команды mt перейти к нужной файловой системе. Описание команды mt дано в параграфе 10.7.

Приведенная последовательность команд позволит восстановить файловую систему в том состоянии, в котором она находилась, когда был создан архив третьего уровня, с одной особенностью: заодно будут "воскрешены" и все удаленные с тех пор файлы. Эта проблема особенно неприятна, когда восстанавливается активная файловая система или диск практически заполнен. Не исключено, что во втором случае команда restore завершится неудачей.

 



 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page