Прочтите это раньше, чем что-нибудь испортите! (Резервное копирование и восстановление) FreeBSD

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

Хуже другое – читатель этой книги, вероятно, еще только изучает, как настраивать систему FreeBSD, и поэтому пока не готов к аварии. Новичку необходимо протестировать множество вариантов конфигурации и проанализировать «историю» изменений в конфигурации системы. Иногда случаются вещи, которые могут вызвать не только высказывание: «Но в последний месяц это работало, что же я изменил?», – но и более бурные эмоции. Сможете ли вы вспомнить все изменения, которые произвели в течение последних недель, месяцев или лет? А что если изменения были внесены вашими коллегами? На самом деле интенсивные эксперименты могут полностью нарушить работу системы, поэтому необходим способ восстановления важных данных.

Эта глава начинается с рассмотрения общего подхода – резервного копирования всего, что есть в компьютере. Однако такой подход недостаточно хорош для сохранения отдельных файлов, поэтому этот случай будет рассмотрен отдельно. Если файл изменяется три раза в день, а резервное копирование происходит раз в неделю, то при потере файла можно потерять важные данные. Кроме того, будут рассмотрены меры по восстановлению и перекомпоновке системы в случае частичных неполадок – с применением однопользовательского режима и загрузочной дискеты для ремонтных работ (fixit).

Резервное копирование системы

Резервное копирование системы необходимо, лишь если данные важны. Это не так глупо, как может показаться. Вопрос, который надо себе задать, таков: «Сколько будет стоить восстановление данных?» Например, недорогая система резервного копирования стоит несколько сотен долларов. Как дорого стоит ваше время и сколько его потребуется, чтобы восстановить систему с установочного носителя? Если самые драгоценные данные на вашем жестком диске – это файл с закладками веб-броузера, тогда, вероятно, нет смысла вкладывать деньги в систему резервного копирования. Но если речь идет о магистральном сервере компании, тогда вы будете относиться к инвестированию денег в систему резервного копирования очень серьезно.

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

Накопители на лентах

FreeBSD поддерживает накопители на магнитных лентах с интерфейсами SCSI, USB и IDE. По сравнению с устройствами IDE устройства SCSI быстрее и надежнее, однако устройства IDE дешевле. Накопители с интерфейсом USB не всегда соответствуют стандартам и потому могут не поддерживаться системой FreeBSD. Обязательно ознакомьтесь с примечаниями к выпуску в архивах почтовых рассылок Free- BSD, чтобы убедиться, что ваш накопитель на магнитной ленте совместим с FreeBSD.

После физической установки накопителя на ленте необходимо убедиться, что FreeBSD распознала это устройство. Самый простой путь – проверить файл /var/run/dmesg.boot, как рассказывалось в главе 3. Накопители с интерфейсами SCSI и USB отображаются в нем как устройства «sa», тогда как IDE-накопители отображаются как устройства «ast». Например, следующие три строки из файла dmesg.boot описывают SCSI-накопитель, подключенный к этому компьютеру:

OsaO at ©ahcO bus 0 target ©9 lun 0

saO: <S0NY OSDT-IOOOO 0110> Removable Seguential Access SCSI-2 device saO: ©40.000MB/s transfers (20.000MHz, offset 8, 16bit)

Из всей информации, что мы имеем об этом накопителе на магнитной ленте, самое важное, что FreeBSD опознала его как устройство saO О. Кроме того, это устройство подключено к SCSI-карте ahcO © со SCSI ID 9 © и это модель «SONY SDT-IOOOO ОНО» © с максимальной производительностью до 40 Мбайт в секунду ©.

Файлы устройств накопителей на лентах, перемотка и извлечение

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

При наличии обычного SCSI-накопителя интерес представляют только три файла устройств: /dev/esaO, /dev/nsaO и /dev/saO. Точно также для IDE-накопителя важны файлы /dev/eastO, /dev/nastO и /dev/astO.

Накопители на лентах – это устройства с последовательным доступом; данные на ленте хранятся линейно. Для получения доступа к определенным данным на ленте необходимо перематывать ленту вперед и назад. Делать это или не делать – вопрос важный.

Примечание ——————————————————————————————————–

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

Если в команде указывается файл устройства, который соответствует имени устройства, лента будет автоматически перемотана после завершения операции. Возьмем устройство SCSI saO; при запуске команды, в которой в качестве файла устройства указан /dev/saO, лента будет автоматически перемотана по завершении команды.

Бывает так, что после завершения операции ленту перематывать не надо, например, когда предполагается выполнить резервное копирование данных с другой машины и разместить их на ленте или вам необходимо перед перемоткой и извлечением ленты каталогизировать ее. В этом случае следует задействовать файл устройства, имя которого начинается с п. Скажем, если в команде указан /dev/nsaO, лента не будет перемотана.

Чтобы лента извлекалась автоматически после завершения операции, следует указать файл устройства, имя которого начинается с е. Например, если операция подразумевает резервное копирование всей системы, для автоматического извлечения ленты по окончании сохранения следует задействовать устройство /dev/esaO. Некоторые старые накопители на лентах могут не поддерживать автоматическое извлечение ленты; в этом случае необходимо нажать клавишу для приведения в действие рычага, который извлечет ленту из накопителя. Самый простой способ, позволяющий выяснить, возможно ли автоматическое извлечение ленты, состоит в том, чтобы попробовать извлечь ее за счет использования соответствующего файла устройства и посмотреть, что произойдет.

Переменная $ТАРЕ

Во многих программах подразумевается, что накопитель на ленте представлен файлом устройства /dev/saO, однако такое предположение не всегда верно. Даже если в системе установлен только один накопитель SCSI, то возможно, что вам не потребуется автоматическая перемотка ленты (dev/nsaO) или надо будет извлечь ленту по завершении резервного копирования (/dev/esaO). Либо в системе есть накопитель IDE, для которого используется файл устройства с совершенно другим именем.

Многие программы (но не все) ориентируются на переменную окружения $ТАРЕ, значение которой они используют как имя файла устройства по умолчанию. Вы всегда сможете в командной строке указать иной файл устройства, а в переменную $ТАРЕ записать наиболее часто используемое значение и тем самым избавить себя от доли раздражения.

Если вы используете командный процессор по умолчанию, значение переменной $ТАРЕ можно установить следующей командой:

# setenv ТАРЕ /dev/saO

Определение состояние накопителя с помощью команды mt(1)

#mt status

Mode Density

Теперь, когда вы узнали, как отыскать свой накопитель на ленте, можно выполнять основные операции, такие как перемотка, натяжка, очистка и т. д., с помощью команды mt(l). Чаще всего команда mt применяется для выяснения состояния накопителя на ленте:

Blocksize bpi Compression

Current: OOx25:DDS-3 variable               97000   ©DCLZ      available modes

0:        0x25:DDS-3             variable   97000 DCLZ

1:        0x25:DDS-3             variable   97000 DCLZ

2:        0x25:DDS-3             variable   97000 DCLZ

3:        0x25:DDS-3             variable   97000 DCLZ

© Current Driver State: at rest

File Number: 0 Record Number: 0 Residual Count 0

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

Самое первое, что мы видим, – это характеристика плотности записи на ленту О. В устаревших моделях для разных целей могли использоваться ленты с разной плотностью записи, но современные устройства записывают данные настолько плотно, насколько это возможно. В данном случае привод обеспечивает плотность записи DDS-3. Вам могла бы потребоваться иная плотность записи, но DDS-3 – это все, что может вам предложить данное устройство. Далее видно, что устройство предлагает возможность аппаратной компрессии данных по алгоритму DCLZ ©. Ближе к концу видно, что делает устройство в настоящий момент ©.

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

# mt status

mt: /dev/nsaO: Device not configured

Это означает, что в системе нет накопителя на ленте, соответствующего файлу устройства, который указан в переменной $ТАРЕ. С файлами устройств можно поэкспериментировать, если посредством ключа -f указать файл устройства (например, mt -f /dev/nsa1 status). Однако необходимую информацию можно получить из dmesg.boot.

Если вы уверены в работоспособности своего устройства, то, возможно, в приводе отсутствует лента или устройство требует чистки.

Еще один вариант ответа, который можно получить от команды mt status,-mt: /dev/nsaO: Device busy. Вы спрашиваете, в каком состоянии находится ваша лента, и вам отвечают: «Я не могу говорить сейчас, я занят». Попробуйте обратиться позднее или с помощью команды ps -ах посмотрите, кто пользуется приводом. В каждый конкретный момент времени доступ к ленте может получить только один экземпляр программы. Вы не можете вывести содержимое ленты в то время, когда с нее производится чтение файла.

Другие команды управления накопителем на ленте

С накопителем на магнитной ленте можно выполнять гораздо более интересные операции, чем просто получать отчет о его состоянии. Наиболее часто я использую команды retension, erase, rewind и offline.

Ленты имеют свойство растягиваться, особенно первое время. (Я отлично знаю, все современные производители лент заявляют, что они предварительно производят растяжку своих лент или что их ленты не растягиваются; но прибавляем к этим заявлениям два кусочка хлеба и получаем болонский сэндвич.) Повторное натяжение (retensioning) ленты производится простой ее перемоткой вперед и назад, с помощью команды nit retension. Повторное натяжение устраняет слабину и повышает надежность резервного копирования.

Операция стирания удаляет все данные с ленты. Но это не то надежное стирание, которое можно было бы использовать для сокрытия данных от фирмы, занимающейся восстановлением данных или от налогового управления США: mt erase просто прокручивает ленту и накладывает новую запись поверх существующей. Это может занять довольно много времени. Если нужно стереть ленту быстро, можно воспользоваться командой mt erase 0, которая просто пометит ленту как пустую.

Команда mt rewind перемотает ленту в начало, точно так же, как и обращение к устройству через файл устройства с тем же именем.

Когда устройство отключается, оно перематывает ленту и выталкивает ее, что дает возможность вставить новую ленту. Команда, которая делает это, выглядит немного странно – mt offline.

Характер накопителя на ленте

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

Перематывать или нет?

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

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий