Создание нескольких резервных копий на одной ленте


Если ленточный накопитель обладает достаточно большой емкостью, на одной ленте можно сохранять несколько резервных копий. dump(8) позволяет за один раз копировать только один раздел, и все же держать отдельные ленты для хранения копий каждого раздела весьма неэффективно. С помощью утилиты tar(1) можно сохранять несколько резервных копий на одну ленту, поскольку в этом случае можно с помощью команды mt(1) управлять перемоткой ленты.

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

Например, следующие команды запишут резервные копии трех файловых систем — /, /var и /tmp — на одну и ту же ленту:

# dump -f /dev/nsa0 -auL /
# dump -f /dev/nsa0 -auL /var
# dump -f /dev/nsa0 -auL /tmp

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

Если необходимо определить количество резервных копий на ленте, достаточно запустить команду mt status и посмотреть на последнюю строку.

...
File Number: 3 Record Number: 0 Residual Count 0

Обратите внимание, что номер файла стал равен 3. То есть на ленте записано три файла.

Чтобы получить доступ к файлу, необходимо выполнить позиционирование ленты в накопителе на начало файла и с помощью tar или restore прочитать данные с ленты. После перемотки ленты текущая позиция соответствует началу первого файла. Чтобы переместиться к одному из следующих файлов, следует использовать команду fsf утилиты mt(1). Команда mt fsf принимает один аргумент — количество файлов, которые необходимо пропустить. Если предположить, что изначально считывающая головка накопителя находится в начале первого файла, тогда, чтобы переместиться ко второму файлу, достаточно выполнить команду:

# mt -f /dev/nsa0 fsf 1

В результате лента будет перемотана на один файл вперед. Обратите внимание на ключ -f /dev/nsa0, благодаря которому используется файл устройства, который «не перематывает» ленту. Было бы бессмысленно сначала выполнить переход на один файл вперед, а затем автоматически перемотать ленту.

Теперь с помощью ключа -t программы извлечения файлов из архива можно ознакомиться с содержимым этого файла. Резервную копию легко можно идентифицировать по ее содержимому, поскольку при использовании ключа -t restore(8) выводит даже дату и время копирования, а также имя раздела, с которого была сделана копия. Для перемещения по ленте в обратном направлении используется команда mt bsf, которой передается число файлов, которые нужно пропустить.

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

Комментарии запрещены.