BACKUP(8) BACKUP(8) НАЗВАНИЕ backup - сохранение файловой системы, восстановление данных ОПИСАНИЕ Здесь излагаются самые общие соображения относительно сохранения и восстановления данных. Имеется в виду сох- ранение файловой системы или тома на другом носителе и восстановление данных, ранее сохраненных на другом но- сителе. Предполагается, что сохраняемая информация на- ходится на диске. Сохранение Содержимое диска может быть сохранено в виде: 1. Физической копии. Весь том или логический диск пе- реписывается программой dd(1) как бесструктурное устройство. 2. Логической копии. Файловая система или ее части переписываются программой cpio(1). Для сохранения могут использоваться следующие носители: 1. Съемный диск: дорого и быстро. 2. Другой несъемный диск: еще дороже. 3. Магнитная лента: идеальный носитель. 4. Дискеты: дешево, медленно, чревато ошибками; толь ко для бедных людей. Сколько лент (дисков, дискет) необходимо иметь и на к кую ленту выполнять очередное копирование? Если у Вас много кассет с лентой, можно рекомендовать порядок копирования, совпадающий с порядком переклады- вания дисков Ханойской башни: 1, 2, 1, 3, 1, 2, 1, 4, ..., то есть использовать ленту 1 для каждой второй ко пии, ленту 2 - для каждой четвертой, ленту 3 - для каж- дой восьмой и т.д. Если у Вас всего две кассеты, целе- сообразно пользоваться утилитой copall(1M), контролиру- ющей их чередование. В любом случае логическая копия предпочтительнее физической. Для сохранения используются следующие утилиты: dd Физическое копирование. cpio Логическое сохранение/восстановление файлов; часто используется совместно с командой find(1). vsplit Расщепление/слияние на несколько (с нескольких) томов. saveto Shell-процедура, предоставляющая удобный интерфейс с вышеперечисленными утилитами. copall Еще одна shell-процедура для логического копирова- ния, контролирует номер используемой ленты. Рекомендуется иметь на дискете минимальный вариант сис темы на случай серьезного повреждения диска, когда с него невозможно загрузиться. Для получения минимального варианта используйте утилиту mkmini(1M). Восстановление Как восстановить диск после серьезного повреждения? Сначала нужно загрузить систему с какого-либо другого носителя, например с дискеты. Затем с помощью отладчика файловых систем fsdb(1M) по- пытайтесь установить масштабы повреждения и, если это возможно, вручную ликвидируйте самые тяжелые из них. После этого попробуйте привести файловую систему в кор- ректное состояние утилитой fsck(1M), даже ценой потери некоторой части информации, которую придется восстано- вить с логической копии утилитой restall(1M). Если повреждения не поддаются ликвидации, диск придется отформатировать. Затем, если имеется физическая копия, информация восстанавливается утилитой dd(1). Если же имеется только логическая копия, на отформатированном диске нужно создать минимальный вариант системы, загру- зиться с диска и восстановить информацию с логической копии командами вида |cd /; dd if=/dev/mt bs=256k | cpio -idmvu Проверьте, созданы ли каталоги /mnt, /tmp, /lost+found, в каком состоянии файлы /etc/checklist, /etc/fstab и, конечно, файл /unix. Сохранение/восстановление с помощью ленты и диска в памяти Более сложной является ситуация, когда нет возможности загрузить систему ни с диска, ни с дискеты. В этом слу чае нужно воспользоваться комбинацией лента/диск в па- мяти. В вариант системы, загружаемый с ленты, должен входить драйвер диска в памяти /usr/src/uts/io/rd.c; должно быть доступно не менее 2 Мб памяти. Подготовьте ленту, с которой можно загрузить систему. Сделать это достаточно один раз, готовясь к полному краху. Лента готовится следующим образом: Конфигурируется UNIX-ядро с такими характеристиками: 1. Корневой каталог и каналы на диске в памяти. 2. Устройство для подкачки отсутствует. 3. Значения параметров, влияющих на расход памяти (например, размер буферов) минимальны. 4. В ядро входит драйвер диска в памяти; под диск за- резервирован 1 Мб памяти. Адрес диска в памяти должен быть согласован с адресом, используемым программой начальной загрузки. 5. Память, отведенная для диска, исключается из таб лицы распределения памяти, доступной ядру. Создайте минимальный вариант системы [см. mkmini(1M)] размером порядка 900 Кб на свободном логическом диске и скопируйте в корневой каталог полученной файловой сис- темы сконфигурированное ядро. Выполните физическое ко- пирование диска на ленту. Затем ведите нормальную жизнь, регулярно копируйте диск и ждите полного краха. Когда (не дай бог!) крах наступил, восстанавливайтесь так: Загрузите систему с заготовленной ленты. Программа на- чальной загрузки прочтет ленту на диск в памяти, а с точки зрения ядра диск в памяти ничем не отличается от других дисков. Более того, загруженному ядру другие диски не нужны. Дальнейшая процедура восстановления не отличается от описанной выше. Например, можно отформа- тировать поврежденный основной диск и использовать ко- пию. СМ. ТАКЖЕ copall(1M), mkmini(1M), restall(1M), saveto(1M), vsplit(1M). cpio(1), dd(1) в Справочнике пользователя.