Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800521

.pdf
Скачиваний:
3
Добавлен:
01.05.2022
Размер:
4.21 Mб
Скачать

Часто употребляемые модификаторы утилиты tar Таблица 10.2

Модификатор

Сокращенный

Описание

 

вариант

 

 

 

 

 

 

 

 

 

 

 

--absolute-paths

P

Сохраняет символ / в

начале

пути к файлу

 

 

 

 

 

 

 

 

 

 

 

 

Задает

обработку архива с

--bzip2

I

помощью bzip2.

старых

версиях tar не

 

 

 

 

 

 

 

 

поддерживается)

 

 

 

 

 

 

--directory каталог

 

Перед

обработкой

данных

C

делает

указанный

каталог

 

 

текущим

 

 

 

 

 

 

exclude файл

(отсутствует)

Запрещает включать файл в

архив

 

 

 

 

 

 

 

--exclude-from файл

 

Запрещает включать в архив

X

файлы,

указанные в данном

 

 

файле

 

 

 

 

 

 

 

 

 

 

Выполняет

архивирование,

 

 

используя в качестве архива

--file [узел:]файл

 

указанный

 

файл

на

f

указанном

узле. (Узел сети

 

 

указывается при выполнении

 

 

резервного

 

копирования,

 

 

инициируемого клиентом.)

 

 

 

 

 

--gzip или --ungzip

z

Задает

обработку

архива

программой gzip или ungzip

 

 

 

 

 

 

 

 

 

 

Создает

 

или

использует

--listed-

g

файл,

 

 

содержащий

incremental=файл

результаты

инкрементного

 

 

 

копирования

 

 

 

 

 

 

 

 

 

131

Окончание табл. 10.2

--multi-volume

M

Задает обработку

архива

на

нескольких лентах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сохраняет

 

 

или

--one-file-system

1

восстанавливает только одну

 

 

файловую систему

 

 

 

 

 

 

 

 

 

 

Сохраняет

 

информацию

о

--same-permissions

p

пользователях и

о правах

 

 

доступа

 

 

 

 

 

 

 

 

 

 

--tape-length N

 

Определяет

длину

ленты

в

L

килобайтах;

используется

 

 

совместно с --multi-volume

 

 

 

 

 

 

--verbose

v

Выводит

информацию

об

обработанных файлах

 

 

 

 

 

 

 

 

 

 

 

Сразу

после

записи

--verify

W

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

 

 

файлом, записанным в архив

 

 

 

 

 

 

 

В качестве примера использования приведенных выше опций рассмотрим следующую ситуацию. Предположим, что к компьютеру через интерфейс SCSI подключен накопитель на магнитных лентах. Для доступа к этому устройству используется имя /dev/st0 или /dev/nst0. Для создания резервной копии содержимого каталога /home с сохранением прав доступа и с выводом имен архивируемых файлов надо задать следующую команду:

# tar --create --verbose --file /dev/st0 /home

Если указать сокращенные обозначения опций, приведенные в табл. 10.1 и 10.2, то данная команда примет вид:

# tar cvf /dev/st0 /home

132

Некоторые опции программы tar (а именно --one-file- system, --same-permissions, --listed-incremental и --verify)

заслуживают более подробного обсуждения. В состав файловой системы Linux могут входить виртуальные файловые системы (например, /proс) и сменные носители. Кроме того, не исключено, что вы захотите запретить резервное копирование файловых систем, находящихся на некоторых устройствах. При использовании опции --one-file- system копироваться будут только те разделы, которые вы непосредственно укажете. Вместо --one-file-system можно задать опцию --exclude или --exclude-from, которая позволяет непосредственно исключать из процесса резервного копирования некоторые каталоги, например /proc.

Опция --same-permissions важна

при

работе

с

системными файлами, поскольку

в

ряде случаев

утилита tar теряет некоторые данные о правах доступа. Чаще всего это проявляется, когда конкретные права не

соответствуют

значению umask.

Опция --same-

permissions бывает

необходима

при

восстановлении

сохраненных файлов.

 

 

 

Если при вызове tar указана

опция --listed-incremental,

программа создает новый файл либо использует имеющийся с информацией о файлах, включенных в архив. При первом запуске tar с этой опцией создается файл для хранения сведений об архиве, и все указанные файлы помещаются в архив. При последующих вызовах утилиты tar с опцией -- listed-incrementalобрабатываются только те файлы, которые были созданы или модифицированы с момента последней операции резервного копирования. Другими словами, данная опция позволяет вместо полного резервного копирования осуществлять частичное, или инкрементное, копирование. Многие администраторы раз в неделю или раз в месяц выполняют полное копирование и ежедневно - частичное. Такой подход позволяет обеспечить сохранность данных минимальными усилиями. (Восстанавливая информацию с

133

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

- machine2 и т.д.

Опция --verify предназначена для проверки того, насколько корректно выполнено копирование данных. В результате такой проверки время копирования существенно возрастает, но подобное замедление работы часто бывает оправдано, особенно в тех случаях, когда в накопителе отсутствует встроенная функция проверки. (В большинстве устройств среднего и высокого уровня поверка осуществляется на аппаратном уровне.) Если вы указываете при вызове tar опцию --verify или --diff, возможны ложные сообщения об ошибках. Дело в том, что в то время, когда выполняется резервное копирование, пользователи продолжают работать в системе, поэтому с момента копирования на резервный носитель до момента проверки файл может быть изменен. Наиболее часто модифицируются файлы протоколов, содержимое очереди на печать, файлы в каталоге /tmp и другие подобные данные. Если в результате проверки выявлено несоответствие содержимого часто изменяемых файлов, повода для беспокойства нет. Если же при проверке не совпали статические данные, например файлы в каталоге /usr это может означать, что копирование выполняется некорректно.

Многие современные накопители на магнитных лентах поддерживают встроенные функции сжатия, поэтому в

134

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

Например,

в

коммерческом

продукте

BRU

(http://www.tolisgroup.com) используется

пофайловое

сжатие

информации.

 

 

 

 

 

 

10.3.

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

средств

резервного

копирования на локальном компьютере

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

135

выполнять резервное копирование данных, содержащихся на других компьютерах.

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

используются

следующие

четыре

имени: /dev/st0, /dev/nst0, /dev/ht0 и /dev/nht0.

Первые два

имени применяются для обозначения устройств SCSI, а остальные два соответствуют устройствам EIDE/ATAPI.

Имена файлов, имена

которых

начинаются с буквы n,

представляют устройства

без

перемотки (nonrewinding

device). По окончании действий с таким устройством лента остается в той позиции, в которой были записаны последние данные, в результате вы можете размещать несколько копий на одной ленте. Если в начале имени файла буква n отсутствует, это устройство считается устройством с перемоткой (rewinding device). В этом случае по окончании операции записи лента автоматически перематывается. Заметьте, что наличие или отсутствие перемотки является характеристикой не устройства, а представляющего его файла. Каждый накопитель, в зависимости от используемого драйвера, может рассматриваться либо как устройство без перемотки, либо как устройство с перемоткой. Если к компьютеру подключено несколько накопителей на ленте, имя файла, представляющего второе устройство, будет заканчиваться следующему устройству будет соответствовать

2 и т.д.

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

ними

осуществлялась

посредством

файлов /dev/qft0 и /dev/nqft0. Эти накопители

отличаются

136

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

Если при выполнении копирования данных с локального компьютера у вас возникают проблемы, проверьте используемые аппаратные средства и драйверы устройств. Для работы с устройством SCSI необходимы как базовые средства поддержки SCSI, так и средства для взаимодействия с накопителем SCSI. Соответственно при использовании устройств EIDE/ATAPI необходимо обеспечить поддержку как EIDE, так и накопителя EIDE/ATAPI. При тестировании следует проверить не только создание резервных копий, но и восстановление данных. Целесообразно сначала испробовать сервер резервного копирования на небольшом каталоге, а потом переходить к работе с данными значительного объема. Чтобы убедиться, что информация восстановлена корректно, надо использовать режим верификации.

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

На заметку

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

Используя tar и mt, можно разместить на одной ленте несколько резервных копий. Утилита mt вызывается следующим образом:

137

mt [-f устройство] операция [счетчик] [параметры]

Под операцией подразумевается одна из следующих команд: fsf (forward space files - переход к следующему файлу), bsf(backward space files - переход к предыдущему файлу), rewind (перемотка ленты) и datcompression (установка режима сжатия; параметр 0 запрещает, а параметр 1 разрешает сжатие). Например, в результате приведенной ниже последовательности команд создаются две резервные копии и осуществляется их верификация.

#tar cvplf /dev/nst0 testdir-1/

#tar cvplf /dev/nst0 testdir-2/

#mt -f /dev/nst0 rewind

#tar df /dev/nst0 testdir-1/

#mt -f /dev/nst0 fsf 1

#tar df /dev/nst0 testdir-2/

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

rsync (Remote Synchronization) — программа для UNIX-

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

138

rsyncd демон,

реализующий протокол rsync. По

умолчанию использует TCP-порт 873.

 

 

Выпущен

под

лицензией GNU

GPL,

rsync

является свободным программным обеспечением.

Утилита

rsync использует алгоритм, разработанный австралийским программистом Эндрю Триджеллом, для эффективной передачи структур (например, файлов) по коммуникационным соединениям в том случае, когда принимающий компьютер уже имеет отличающуюся версию этой структуры.

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

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

свойства

кольцевого

хэша: если

кольцевой

хэш

байт

от n до n

+ S

1 равняется R,

то

кольцевой

хэш

байт

от n +

1 до n

+

S может быть

посчитан исходя

из R,

байта n и байта n

+

S без необходимости учитывать байты,

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

CSUNC2

Утилита csync2 также служит для синхронизации данных между серверами в кластерах.

Ключевые особенности по сравнению с аналогами:

Высокая скорость работы.

Низкое потребление ресурсов (CPU, дисковые операции). Два этих фактора позволяют запускать процесс синхронизации максимально часто, поэтому данные на

139

серверах становятся идентичными практически в "реальном времени".

Простота настройки для обмена данными между любым количеством серверов.

Возможность синхронизации удаления файлов.

Защищенный обмен данными между хостами (SSL). Подробная документация по использованию и

конфигурированию csync2 доступна на официальном сайте разработчика: http://oss.linbit.com/csync2/

FTP ("File Transfer Protocol" - протокол передачи файлов) - это популярный способ передачи файлов между двумя удаленными системами.

SFTP ("SSH File Transfer Protocol" или "Secure File Transfer Protocol") - это отдельный протокол с SSH, который работает аналогичным образом, но с использованием защищенного соединения. Его преимуществом является способность использовать защищенное соединение для передачи файлов и навигации по файловой системе на обеих системах - локальной и удаленной.

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

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

Как установить соединение через SFTP

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

Хотя пароли просты в использовании и используются по умолчанию, мы рекомендуем создать SSH ключи и передать

140