Чтение онлайн

на главную

Жанры

Стахнов Алексей Александрович

Шрифт:

Стримеры

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

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

Тестирование архивов

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

в хранилище данных, должна быть проверена на целостность.

Обязательно необходимо произвести пробное восстановление системы из резервной копии, во-первых – для проверки процедуры восстановления данных, во-вторых, чтобы убедиться в корректности процедуры резервирования данных.

Еще одна проблема, связанная с восстановлением систем из резервных копий, заключается в установлении права владения файлами. Когда данные извлекаются из файла копии пользователем с правами root, утилита GNU tar предпринимает попытки восстановить существовавшие права владения (пользователя и группы) каждым файлом, но только если при ее вызове был установлен переключатель (—preserve-permission). В противном случае утилита tar будет использовать текущие установки UMASK. Однако, если перечисленных в файле tar пользователей и групп не существует, то право владения не сможет быть корректно установлено!

Следовательно, прежде чем выполнять восстановление любых некорневых файлов системы, следует восстановить файлы /etc/passwd и /etc/group.

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

Риск при тестировании архивов

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

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

Утилиты резервного копирования

В этом разделе приводятся примеры подготовки и создания полных, выборочных и инкрементных резервных копий с использованием утилит tar, cpio и dump/restore.

Для определенности будем считать, что в нашей системе установлен стример. Аналогичным образом можно использовать и другое оборудование.

Создание резервной копии утилитой tar

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

tar с /

Однако при выполнении указанной команды возникнет несколько проблем. Во-первых, по умолчанию утилита может использовать не тот тип ленточного устройства, который установлен на данном компьютере, и даже вообще осуществлять вывод не на магнитную ленту. Во-вторых, в этом примере будет считано все дерево файловой системы. Это значит, что будет обработана файловая система /proc, любые установленные CD-ROM, файловые системы NFS и Samba, а также другие разделяемые сетевые файловые системы.

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

Ниже приведен пример более корректного вызова утилиты.

tar cSlzf – $(backdirs) | buffer -о /dev/st0

В этом примере создается (с) архив с поддержкой sparse-фэйлов (s), ограниченный локальными файловыми системами (l). Выполняется сжатие данных (z) и их запись в файл (f) stdout, в архив включаются только указанные каталоги (backdirs).

Созданный архив по каналу передается программе buffer, которая записывает его (_ о) на первое ленточное устройство с интерфейсом SCSI. Подобный подход следует использовать и при получении резервной копии от программы сжатия или через сеть.

Параметр bakdirs – это сценарий, в котором перечисляются каталоги и файлы, включаемые в создаваемую резервную копию. Сценарий backdirs может состоять просто из команд echo, которые перечисляют все точки входа локальных файловых систем (за исключением каталога /proc, любых каталогов /temp, установленных CD-ROM, каталогов NFS и других сетевых ресурсов). Назначение bakdirs состоит в просмотре и фильтрации выходных данных команд mount, что позволяет динамически включать в копию только требуемые файловые системы. Неудобство использования обычного статического списка состоит в том, что он не может автоматически обновляться при добавлении новых файловых систем.

Избегайте дублирования ссылок в командной строке, содержащей вызов утилиты tar. Если одновременно будут копироваться каталоги /some/moutpoint и /some/mountpoint/somedir, расположенные в одной и той же файловой системе, утилита tar дважды поместит в архив все содержимое каталога /some/mountpoint/ somedir.

Использование утилиты cpio

Утилита cpio представляет собой еще один традиционный инструмент создания резервных копий и архивирования файловых систем. В сравнении с утилитой tar ее работа организована иначе.

Во многих случаях принимаемый в утилите cpio подход к указанию подлежащих копированию или восстановлению файлов и каталогов является прямо противоположным подходу, применяемому в утилите tar. При создании архива утилите tar передается список файлов и каталогов, указываемых как параметры командной строки. Любой указанный каталог просматривается рекурсивно. При создании архива с помощью утилиты cpio ей предоставляется список объектов (имена файлов и каталогов, символические имена любых устройств, гнезда доменов UNIX, поименованные каналы и т. п.). Этот список помещается в стандартный поток stdin утилиты cpio с помощью канала и обычно генерируется командой find.

Простая команда, выполняющая копирование всей файловой системы, выглядит следующим образом:

find / -print0 I cpio -o0B > /dev/st0

Результаты выполнения команды find будут включать каталог /proc и тому подобные нежелательные для резервного копирования каталоги. Уточнив используемые параметры команды find, можно исправить ситуацию:

find /* -fstype ext2 -print0 I cpio -o0B > /dev/st0

В этом примере копируемые объекты ограничены только файловыми системами типа Ext2. Также будут пропущены все скрытые файлы и каталоги. Устройства вывода информации на магнитную ленту стоят дорого. Получить доступ к удаленным устройствам не намного сложнее, чем к локальным:

find /* -fstype ext2 -print0 | ssh $TAPEHOST «cpio -o0B I buffer -o /dev/st0»

Обратите внимание, что для обращения к удаленным ленточным устройствам используется команда buffer.

Восстановление с локального ленточного устройства

Еще одно принципиальное различие между утилитами tar и cpio состоит в способе сохранения и восстановления абсолютных путей. В случае с утилитой tar ведущая косая черта в абсолютных именах файлов при создании копии удаляется. Утилита cpio в процессе восстановления принудительно превращает все пути в относительные.

Как правило, файлы должны восстанавливаться в тех каталогах, которые будут задаваться относительно текущего каталога (или – в некоторых случаях – каталога root). По умолчанию утилита cpio не восстанавливает каталогов, поэтому при ее вызове следует указывать параметр -d.

Восстановление с удаленного ленточного устройства

Восстановление с удаленных ленточных устройств осуществляется так же просто, как и копирование, например:

ssh $OTHERHOST \'buffer -i /devst0\', I \'find /* -fstype ext2 -print0 | cpio -id\'

Если необходимо восстановить только некоторые файлы, добавьте в конец команды cpio список глобальных шаблонов.

Здесь обнаруживается еще одно различие между утилитами cpio и tar, связанное с выполнением частичного восстановления. При использовании утилиты tar список требуемых файлов и каталогов можно поместить прямо в команду ее вызова. Однако утилита tar не допускает использования глобальных шаблонов.

При работе с утилитой tar типичный способ обойти это ограничение состоит в том, чтобы извлечь индекс архива в файл путем простого перенаправления вывода. Данные полученного файла фильтруются с помощью команды grep, после чего полученный список передается команде вызова утилиты tar для извлечения данных. Например, подготовив файл restorelist, содержащий имена требуемых файлов и каталогов, помещенные в отдельные строки, можно ввести следующую команду:

Поделиться:
Популярные книги

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Третье правило дворянина

Герда Александр
3. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третье правило дворянина

Третий. Том 2

INDIGO
2. Отпуск
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Третий. Том 2

Лорд Системы 11

Токсик Саша
11. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 11

Обыкновенные ведьмы средней полосы

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Обыкновенные ведьмы средней полосы

Купеческая дочь замуж не желает

Шах Ольга
Фантастика:
фэнтези
6.89
рейтинг книги
Купеческая дочь замуж не желает

Para bellum

Ланцов Михаил Алексеевич
4. Фрунзе
Фантастика:
попаданцы
альтернативная история
6.60
рейтинг книги
Para bellum

Неверный

Тоцка Тала
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Неверный

Неудержимый. Книга VI

Боярский Андрей
6. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга VI

Огненный князь

Машуков Тимур
1. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь

Вперед в прошлое 6

Ратманов Денис
6. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 6

Без шансов

Семенов Павел
2. Пробуждение Системы
Фантастика:
боевая фантастика
рпг
постапокалипсис
5.00
рейтинг книги
Без шансов

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия