<!--
     The FreeBSD Russian Documentation Project

     $FreeBSD$
     $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/backups/chapter.sgml,v 1.3 2000/10/10 18:48:30 phantom Exp $
     Original revision: 1.26
-->

<chapter id="backups">
<title>Резервное копирование</title>

<sect1>
  <title>Описание</title>

  <para>В следующей главе будут описаны методы резервного копирования данных
    и используемые для этого программы.  Если вы хотите добавить что-то в
    этот раздел, пошлите ваш текст на адрес &a.doc;.</para>
</sect1>

<sect1 id="backups-tapebackups">
  <title>Носители на магнитной ленте</title>

  <para>К наиболее часто используемым носителям на магнитной ленте следует
    отнести ленты шириной 4мм и 8мм, а также типа QIC, мини-картриджи и
    DLT.</para>

  <sect2 id="backups-tapebackups-4mm">
    <title>4мм (DDS: Digital Data Storage)</title>

    <para>Ленты шириной 4мм заменяют QIC в качестве наиболее
      предпочтительного носителя для создания резервных копий.	Эта тенденция
      значительно усилилась после покупки компанией Conner фирмы Archive,
      ведущего производителя накопителей QIC и последующего прекращения
      их выпуска.  Накопители 4мм малы по размеру и мало шумят, но у них нет
      репутации носителя, обладающего надежностью приводов 8мм.  Картриджи
      более дешевы и меньше по размеру (3 x 2 x 0.5 дюймов, 76 x 51 x 12 мм),
      чем 8мм-картриджи.  Накопители для лент шириной 4мм, как и 8мм, имеют
      сравнительно малый срок службы головок, по причине использования в
      обоих случаях технологии спирального сканирования (helical
      scan).</para>

    <para>Пропускная способность у таких накопителей начинается с цифры
      ~150kB/s, пиковая достигает ~500kB/s.  Емкость накопителей начинается с
      1.3 GB и может достигать 2.0 GB.	Аппаратное сжатие, имеющееся на
      большинстве таких накопителей, дает увеличение емкости примерно вдвое.
      Блоки многоприводных ленточных библиотек могут иметь до 6 накопителей
      в одном модуле с автоматической сменой ленты.  Емкость библиотек может
      достигать 240 GB.</para>

    <para>Стандарт DDS-3 в настоящее время поддерживает емкость вплоть до
      12GB (или 24GB сжатой информации).</para>

    <para>В накопителях 4мм, как и в приводах 8мм, используется технология
      спирального сканирования.  Все плюсы и минусы этой технологии относятся
      как к 4мм, так и 8мм приводам.</para>

    <para>Не следует использовать ленты после того, как они были подвергнуты
      2000 проходов, или были использованы для создания 100 полных
      копий.</para>
  </sect2>

  <sect2 id="backups-tapebackups-8mm">
    <title>8мм (Exabyte)</title>

    <para>Ленты шириной 8мм являются самым распространенным типом для
      ленточных SCSI-накопителей; они же являются наиболее удачным выбором
      при выборе типа носителей для обмена лентами.  Наверное, каждый сервер
      имеет привод шириной 8мм.  Эти приводы удобны, они работают надежно и
      тихо.  Картриджи дешевы и малы по размеру (4.8 x 3.3 x 0.6 дюймов;
      122 x 84 x 15 мм).  Одним минусом лент шириной 8мм является
      сравнительно малое время службы головок и лент из-за высокой скорости
      движения ленты вдоль головок.</para>

    <para>Скорость передачи данных варьируется от ~250kB/s до ~500kB/s.
      Объем хранимых данных начинается с 300МБ и может достигать 7ГБ.
      Аппаратное сжатие, имеющееся практически на всех таких приводах,
      увеличивает емкость примерно вдвое.  Эти приводы существуют как в виде
      отдельных модулей, так и в виде многоприводных ленточных библиотек с
      6 приводами и 120 лентами в одном отсеке.  Ленты сменяются
      автоматически модулем.  Емкости библиотек достигают величин,
      превышающих 840 ГБ.</para>

    <para>Модель Exabyte <quote>Mammoth</quote> поддерживает емкость ленты в
      12ГБ (25ГБ со сжатием) и стоит примерно вдвое больше, чем обычный
      ленточный накопитель.</para>

    <para>Данные на ленту записываются по технологии спирального
      сканирования, головки позиционируются под углом к носителю (примерно в
      6 градусов).  Лента оборачивается на 270 градусов вокруг шпульки,
      которая держит головки.  Во время скольжения ленты вокруг шпульки
      последняя вращается.  В результате достигается высокая плотность записи
      данных с очень близко лежащими дорожками, расположенными под наклоном
      по всей ленте.</para>
  </sect2>

  <sect2 id="backups-tapebackups-qic">
    <title>QIC</title>

    <para>Ленты и накопители формата QIC-150, наверное, являются наиболее
      распространенным типом носителей.  Приводы лент формата QIC являются
      самыми дешевыми "серьезными" накопителями для резервного копирования.
      Минусом является стоимость носителей.  Ленты формата QIC по сравнению
      с лентами шириной 8мм или 4мм являются дорогими, превосходя их по
      стоимости хранения одного гигабайта в пять раз.  Однако если вам
      будут достаточно половины ленты, QIC может оказаться правильным
      выбором.	QIC является <emphasis>самым</emphasis> распространенным
      типом привода.  Каждый сайт имеет привод QIC какой-либо емкости.	QIC
      имеет большое количество плотностей на физически похожих (иногда
      даже идентичных) лентах.	Приводы QIC работают вовсе не тихо.  Эти
      накопители громко осуществляют поиск перед тем, как начать запись
      данных и достаточно шумны в процессе чтения, записи или поиска.  Ленты
      QIC имеют размеры (6 x 4 x 0.7 дюймов; 15.2 x 10.2 x 1.7 мм).  <link
      linkend="backups-tapebackups-mini">Мини-картриджи</link>, в которых
      также используется лента шириной 1/4", обсуждаются отдельно.
      Библиотек лент и роботов для их замены не существует.</para>

    <para>Скорость обмена данными лежит в границах от ~150kB/s до ~500kB/s.
      Емкость накопителей варьируется от 40 МБ до 15 ГБ.  Аппаратное сжатие
      присутствует во многих современных накопителях QIC.  Приводы QIC
      устанавливаются менее часто; они вытесняются накопителями DAT.</para>

    <para>На ленту данные записываются в виде дорожек.	Дорожки располагаются
      в длину вдоль всей ленты.  Количество дорожек, и, в свою очередь, их
      ширина, меняется вместе с емкостью ленты.  Большинство, если не все
      современные накопители обеспечивают обратную совместимость по крайней
      мере для чтения (однако зачастую и для режима записи).  Формат QIC
      имеет хорошую репутацию в области надежности хранения данных (механика
      устроена проще и более надежна, чем в случае накопителей, построенных
      по технологии спирального сканирования).</para>

    <para>Ленты не следует больше использовать после создания 5,000 резервных
      копий.</para>
  </sect2>

<![ %not.published; [

    <sect2 id="backups-tapebackups-mini">
      <title>* Мини-картриджи</title>

      <para></para>
    </sect2>

]]>

  <sect2 id="backups-tapebackups-dlt">
    <title>DLT</title>

    <para>Формат DLT обладает самой высокой скоростью передачи данных среди
      всех перечисленных здесь накопителей.  Лента шириной 1/2" (12.5мм)
      помещена в один картридж с катушкой (4 x 4 x 1 дюймов; 100 x 100 x
      25 мм).  Вдоль одной из сторон картриджа расположена сдвигающаяся
      крышечка.  Механизм накопителя открывает эту крышку, чтобы вытащить
      конец ленты.  На этом конце имеется овальное отверстие, которое
      используется для "захвата" ленты.  Принимающая катушка размещена внутри
      накопителя.  Все другие типы картриджей, перечисленные здесь (за
      исключением 9-дорожечных лент), имеют как подающий, так и принимающий
      барабаны внутри самого картриджа.</para>

    <para>Скорость передачи данных равна примерно 1.5MB/s, что в три раза
      больше скорости передачи данных для накопителей 4мм, 8мм или QIC.
      Емкость картриджей варьируется от 10ГБ до 20ГБ для одного накопителя.
      Приводы могут компоноваться как многоленточные роботизированные, так
      и многоленточные, многоприводные библиотеки лент, вмещающие от 5 до
      900 лент и от 1 до 20 приводов, что дает емкость хранилища от 50ГБ до
      9ТБ.</para>

    <para>Формат DLT Type IV поддерживает емкость до 70ГБ со сжатием.</para>

    <para>Данные на ленту записываются в виде дорожек, параллельных
      направлению движения (точно также, как и для лент QIC).  Одновременно
      записываются две дорожки.  Срок жизни головок чтения/записи
      сравнительно велик; как только лента перестает двигаться, одновременно
      прекращается трение между головками и лентой.</para>
  </sect2>

  <sect2>
    <title id="backups-tapebackups-ait">AIT</title>

    <para>AIT - это новый формат фирмы Sony, который позволяет хранить до
      50ГБ (со сжатием) информации на одной ленте.  Ленты содержат микросхемы
      памяти, на которых размещается каталог содержимого ленты.  Этот каталог
      может быть быстро считан накопителем для определения расположения
      файлов на ленте, вместо того, чтобы тратить несколько минут на поиск,
      как это происходит с другими форматами.  Такое программное обеспечение,
      как SAMS:Alexandria, может управлять сорока или большим количеством
      ленточных библиотек AIT, связываясь непосредственно с памятью лент для
      вывода их содержимого, определения того, какие файлы были скопированы
      на какую ленту, выбора нужной ленты, ее загрузки и восстановления
      данных с ленты.</para>

    <para>Библиотеки с такими функциями стоят в районе $20,000, выводя их из
      ниши любительского рынка.</para>
  </sect2>

  <sect2>
    <title>Использование новой ленты первый раз</title>

    <para>Если вы попытаетесь прочитать или записать новую, абсолютно чистую
      ленту, в первый раз, то вам это не удастся.  Выводимые на консоль
      сообщения будут выглядеть примерно так:</para>

    <screen>
sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0):	Logical unit is in process of becoming ready
    </screen>

    <para>На ленте отсутствует идентификационный блок (блок номер 0).  Со
      времен принятия стандарта QIC-525 все накопители формата QIC записывают
      на ленту идентификационный блок (Identifier Block).  Здесь имеется два
      решения:</para>

    <para>По команде <command>mt fsf 1</command> ленточный накопитель
      записывает идентификационный блок на ленту.</para>

    <para>Воспользуйтесь кнопкой на передней панели для выброса ленты.</para>

    <para>Вставьте ленту повторно и по команде &man.dump.8; сбросьте данные
      на ленту.</para>

    <para>Команда &man.dump.8; выдаст <literal>DUMP: End of tape
      detected</literal>, а на консоли будет выведено: <literal>HARDWARE
      FAILURE info:280 asc:80,96</literal></para>

    <para>перемотайте ленту такой командой:
      <command>mt rewind</command></para>

    <para>Последующие операции с лентой будут успешными.</para>
  </sect2>
</sect1>

<sect1 id="backup-programs">
  <title>Программы резервного копирования</title>

  <para>Тремя основными программами являются &man.dump.8;, &man.tar.1; и
    &man.cpio.1;.</para>

  <sect2>
    <title>Dump и Restore</title>

    <para>&man.dump.8; и &man.restore.8; являются традиционными для Unix
      программами резервного копирования.  Они работают с приводом как с
      набором дисковых блоков, которые расположены ниже понятий файлов,
      связей и каталогов, создаваемых файловыми системами.  Программа
      &man.dump.8; выполняет резервное копирование устройств, целых файловых
      систем, но не частей файловой системы и не деревьев каталогов, которые
      располагаются более чем в одной файловой системе при помощи
      символических ссылок &man.ln.1; или монтирования одной файловой
      системы в другой.  Утилита &man.dump.8; не записывает на ленту файлы и
      каталоги, она записывает блоки данных, из которых строятся файлы и
      каталоги.  В программе &man.dump.8; имеются некоторые неудобства,
      оставшиеся от ее ранних дней в составе Version 6 операционной системы
      ATT Unix (около 1975).  Параметры, используемые по умолчанию, подходят
      для 9-дорожечных лент (6250 bpi), но не для современных носителей с
      высокой плотностью записи информации (до 62,182 ftpi).  Для
      использования емкостей нынешних накопителей на магнитной ленте эти
      параметры могут быть заданы в командной строке.</para>

    <para>&man.rdump.8; и &man.rrestore.8; предназначены для резервного
      копирования данных по сети на накопитель, подключенный к другому
      компьютеру.  Обе программы используют в работе &man.rcmd.3; и
      &man.ruserok.3; для доступа к накопителю на магнитной ленте на
      удаленном компьютере.  Поэтому пользователь, выполняющий резервное
      копирование, должен иметь доступ к удаленному компьютеру через
      <literal>rhosts</literal>.  Аргументы для &man.rdump.8; и
      &man.rrestore.8; должны подходить для использования на другом
      компьютере.  (Например, при выполнении копирования по команде
      <command>rdump</command> на компьютере с FreeBSD на накопитель Exabyte,
      подключенный к машине Sun по имени <hostid>komodo</hostid>, используйте
      такую команду: <command>/sbin/rdump 0dsbfu 54000 13000 126
      komodo:/dev/nrsa8 /dev/rda0a 2>&amp;1</command>)	Будьте осторожны:
      есть проблемы с обеспечением безопасности при разрешении использования
      команд <literal>rhosts</literal>.  Внимательно отнеситесь к вашей
      ситуации.</para>
  </sect2>

  <sect2>
    <title>Tar</title>

    <para>Утилита &man.tar.1; также восходит корнями к Version 6 системы ATT
      Unix (около 1975).  &man.tar.1; работает с файловой системой;
      &man.tar.1; записывает на ленту файлы и каталоги.  &man.tar.1;
      поддерживает не полный набор опций, имеющихся в &man.cpio.1;, однако
      он не требует необычного перенаправления в командной строке, которое
      используется в утилите &man.cpio.1;.</para>

    <para>В большинстве версий &man.tar.1; создание резервных копий по сети
      не поддерживается.  Версия GNU утилиты &man.tar.1;, которая
      используется во FreeBSD, поддерживает удаленные устройства в том же
      самом синтаксисе, что и &man.rdump.8;.  Чтобы скопировать данные на
      накопитель Exabyte, подключенный к машине Sun по имени
      <hostid>komodo</hostid>, используйте такую команду:
      <command>/usr/bin/tar cf komodo:/dev/nrsa8 . 2>&amp;1</command>.	В
      случае использования версий без поддержки удаленных устройств, вы
      можете воспользоваться перенаправлением вывода и командой &man.rsh.1;
      для посылки данных на удаленный ленточный накопитель.</para>

    <screen>
&prompt.root; <userinput>tar cf - . | rsh <replaceable>hostname</replaceable> dd of=<replaceable>tape-device</replaceable> obs=20b</userinput>
    </screen>

    <para>Если вы беспокоитесь о безопасности создания резервных копий по
      сети, то вместо &man.rsh.1; вам нужно использовать &man.ssh.1;.</para>
  </sect2>

  <sect2>
    <title>Cpio</title>

    <para>&man.cpio.1; является оригинальной программой Unix для обмена
      файлами на магнитных носителях.  В утилите &man.cpio.1; имеются опции
      (кроме всего прочего), позволяющие выполнять изменение порядка
      следования байтов, поддерживающие различные форматы архивов и
      выполняющие перенаправление данных другим программам.  Последняя
      возможность делает &man.cpio.1; прекрасным выбором для целей установки.
      &man.cpio.1; не знает о том, как работать с каталогами, список файлов
      должен даваться через <filename>stdin</filename>.</para>

    <para>&man.cpio.1; не поддерживает создание резервных копий по сети.  Вы
      можете воспользоваться перенаправлением вывода и программой &man.rsh.1;
      для посылки данных на удаленный накопитель.  (XXX добавить пример
      использования утилиты)</para>
  </sect2>

  <sect2>
    <title>Pax</title>

    <para>&man.pax.1; является ответом IEEE/POSIX на утилиты &man.tar.1; и
      &man.cpio.1;.  В течении многих лет различные версии программ
      &man.tar.1; и &man.cpio.1; получались не совсем совместимыми.  Так что
      вместо того, чтобы попытаться полностью их стандартизировать, POSIX
      создал новую утилиту для работы с архивами.  &man.pax.1; пытается
      читать и писать различные форматы &man.cpio.1; и &man.tar.1;, и, кроме
      того, свои собственные новые форматы.  Набор команд этой утилиты больше
      напоминает &man.cpio.1;, чем &man.tar.1;.</para>
  </sect2>

  <sect2 id="backups-programs-amanda">
    <title>Amanda</title>

    <para><ulink url="../ports/misc.html#amanda-2.4.0">Amanda</ulink>
      (Advanced Maryland Network Disk Archiver) является целой
      клиент/серверной системой резервного копирования, а не отдельной
      программой.  Сервер Amanda сможет осуществлять резервное копирование
      на единственный накопитель любого количества компьютеров, на которых
      имеется клиент Amanda и которые могут связываться по сети с сервером
      Amanda.  Общей проблемой систем с большим количеством больших дисков
      является время, требуемое для непосредственной записи данных на ленту,
      превышающее лимит времени, выделенный на эту задачу.  Amanda решает
      эту проблему.  Amanda может использовать "промежуточный диск" для
      резервного копирования нескольких файловых систем одновременно.  Amanda
      создает "наборы архивов": группа лент, используемых в некоторый период
      времени для создания полных копий всех файловых систем, перечисленных
      в конфигурационном файле системы Amanda.	"Архивный набор" содержит
      также создаваемый каждую ночь инкрементальные (или дифференциальные)
      резервные копии всех файловых систем.  Восстановление поврежденной
      файловой системы требует наличие самой последней полной копии и
      инкрементальных резервных копий.</para>

    <para>Конфигурационный файл дает прекрасный механизм управление процессом
      резервного копирования и объемом трафика, генерируемого системой
      Amanda.  Amanda сможет использовать любую из перечисленных выше
      программ для записи данных на ленту.  Amanda имеется в виде как порта,
      так и пакаджа, и по умолчанию она не установлена.</para>
  </sect2>

  <sect2>
    <title>Не делать ничего</title>

    <para><quote>Не делать ничего</quote> - это не программа для компьютера,
      и в то же время это наиболее широко используемая стратегия резервного
      копирования.  Здесь нет никаких первоначальных затрат.  Здесь нет
      расписания, которому нужно следовать.  Просто скажите нет.  Если что-то
      случится с вашими данными, улыбнитесь и забудьте о них!</para>

    <para>Если ваше время и данные практически ничего не стоят, то <quote>не
      делать ничего</quote> является самой подходящей программой для вашего
      компьютера.  Но будьте осторожны, Unix является весьма полезным
      инструментом, и через полгода вы можете обнаружить, что у вас есть
      набор файлов, представляющих для вас определенную ценность.</para>

    <para><quote>Ничего не делать</quote> является правильным методом
      резервного копирования для <filename>/usr/obj</filename> и других
      деревьев каталогов, которые могут быть в точности перегенерированы
      вашим компьютером.  Примером являются файлы, представляющие страницы
      этой книги - они генерируются из входных файлов
      <acronym>SGML</acronym>.	Создание резервных копий файлов
      <acronym>HTML</acronym> не нужно.  Исходные файлы
      <acronym>SGML</acronym> копируются регулярно.</para>
  </sect2>

  <sect2>
    <title>Какая программа резервного копирования самая лучшая?</title>

    <para>&man.dump.8; <emphasis>Точка.</emphasis> Elizabeth D. Zwicky
      протестировала все программы резервного копирования, обсуждаемые здесь.
      Беспроигрышным вариантом для сохранения всех ваших данных и
      особенностей файловых систем Unix является &man.dump.8;.	Элизабет
      создала файловые системы, содержащие большое количество необычных
      элементов (и некоторых не так уж необычных) и тестировала каждую из
      программ, выполняя резервное копирование и последующее восстановление
      этих файловых систем.  В число необычных элементов входили: файлы с
      дырами, файлы с дырами и блоком пустого места, файлы с необычными
      символами в их именах, нечитаемые и незаписываемые файлы, устройства,
      меняющие свой размер во время резервного копирования, файлы,
      создаваемые и удаляемые во время копирования и тому подобное.  Она
      представила результаты на конференции LISA V в октябре 1991 года.
      Посмотрите ссылку на <ulink
      url="http://reality.sgi.com/zwicky_neu/testdump.doc.html">
      torture-testing Backup and Archive Programs</ulink>.</para>
  </sect2>

  <sect2>
    <title>Процедура восстановления при сбое</title>

    <sect3>
      <title>До того, как случится катастрофа</title>

      <para>Вам нужно выполнить всего лишь четыре шага для того, чтобы быть
	готовым к любому сбою.</para>

      <para>Во-первых, распечатайте разметку диска для всех ваших дисков
	(<command>например, disklabel da0 | lpr</command>), таблицу файловых
	систем (<filename>/etc/fstab</filename>) и все сообщения, выводимые
	при загрузке, каждого по два экземпляра.</para>

      <para>Во-вторых, определите, все ли устройства присутствуют на
	загрузочной и аварийной дискетах (<filename>boot.flp</filename> и
	<filename>fixit.flp</filename>).  Самым простым способом проверки
	является перезагрузка вашей машины с загрузочной дискетой,
	вставленной в дисковод и последующая проверка сообщений при загрузке.
	Если все имеющиеся у вас устройства здесь будут перечислены и будут
	работоспособны, перейдите к третьему шагу.</para>

      <para>В противном случае вам необходимо будет создать две особым
	образом  сформированные загрузочные дискеты, на которых помещено
	ядро, могущее смонтировать все ваши диски и получить доступ к вашему
	стримеру.  На этих дискетах должны быть: &man.fdisk.8;,
	&man.disklabel.8;, &man.newfs.8;, &man.mount.8; и какая-либо
	используемая вами программа резервного копирования.  Эти программы
	должны быть скомпонованы статически.  Если вы используете
	&man.dump.8;, то на дискете должна присутствовать и программа
	&man.restore.8;.</para>

      <para>В-третьих, регулярно создавайте резервные копии на ленте.  Любые
	изменения, которые вы делали после последнего резервного копирования,
	могут быть безвозвратно потеряны.  На лентах включайте защиту от
	записи.</para>

      <para>В-четвертых, проверяйте работу дискет (либо
	<filename>boot.flp</filename> и <filename>fixit.flp</filename>, либо
	двух дискет, которые вы сделали при выполнении второго шага) и лент
	с резервными копиями.  Ведите журнал выполняемых действий.  Храните
	эти записи вместе с загрузочной дискетой, распечатками и лентами.
	Вы просто обезумеете при восстановлении данных, если окажется, что
	записи могли бы избежать разрушения ваших резервных копий (Каким
	образом?  Вместо команды <command>tar xvf /dev/rsa0</command> вы
	могли случайно набрать <command>tar cvf /dev/rsa0</command> и тем
	самым перезаписать вашу резервную копию).</para>

      <para>Для дополнительной страховки, каждый раз создавайте загрузочные
	дискеты и две резервные копии на ленте.  Храните одну из копий в
	каком-то удаленном месте и НЕ в том же здании, где находится ваш
	офис.  Достаточно большое количество компаний во Всемирном Торговом
	Центре изучило это на своей шкуре.  Это удаленное хранилище должно
	быть физически отделено на большое расстояние от ваших компьютеров и
	дисковых устройств.</para>

      <para>Пример скрипта для создания загрузочной дискеты:</para>

      <programlisting>
<![ CDATA [#!/bin/sh
#
# create a restore floppy
#
# format the floppy
#
PATH=/bin:/sbin:/usr/sbin:/usr/bin

fdformat -q fd0
if [ $? -ne 0 ]
then
	 echo "Bad floppy, please use a new one"
	 exit 1
fi

# place boot blocks on the floppy
#
disklabel -w -B /dev/rfd0c fd1440

#
# newfs the one and only partition
#
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/rfd0a

#
# mount the new floppy
#
mount /dev/fd0a /mnt

#
# create required directories
#
mkdir /mnt/dev
mkdir /mnt/bin
mkdir /mnt/sbin
mkdir /mnt/etc
mkdir /mnt/root
mkdir /mnt/mnt			# for the root partition
mkdir /mnt/tmp
mkdir /mnt/var

#
# populate the directories
#
if [ ! -x /sys/compile/MINI/kernel ]
then
	 cat << EOM
The MINI kernel does not exist, please create one.
Here is an example config file:
#
# MINI -- A kernel to get FreeBSD on onto a disk.
#
machine 	"i386"
cpu		"I486_CPU"
ident		MINI
maxusers	5

options 	INET			# needed for _tcp _icmpstat _ipstat
					 #	      _udpstat _tcpstat _udb
options 	FFS			#Berkeley Fast File System
options 	FAT_CURSOR		#block cursor in syscons or pccons
options 	SCSI_DELAY=15		#Be pessimistic about Joe SCSI device
options 	NCONS=2 	#1 virtual consoles
options 	USERCONFIG		#Allow user configuration with -c XXX

config		kernel	root on da0 swap on da0 and da1 dumps on da0

controller	isa0
controller	pci0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0

controller	ncr0

controller	scbus0

device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

device		da0
device		da1
device		da2

device		sa0

pseudo-device	loop		# required by INET
pseudo-device	gzip		# Exec gzipped a.out's
EOM
	 exit 1
fi

cp -f /sys/compile/MINI/kernel /mnt

gzip -c -best /sbin/init > /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore

gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync

cp /root/.profile /mnt/root

cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV

chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore

#
# create the devices nodes
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /

#
# create minimum filesystem table
#
cat > /mnt/etc/fstab <<EOM
/dev/fd0a	/	ufs	rw 1 1
EOM

#
# create minimum passwd file
#
cat > /mnt/etc/passwd <<EOM
root:*:0:0:Charlie &:/root:/bin/sh
EOM

cat > /mnt/etc/master.passwd <<EOM
root::0:0::0:0:Charlie &:/root:/bin/sh
EOM

chmod 600 /mnt/etc/master.passwd
chmod 644 /mnt/etc/passwd
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd

#
# umount the floppy and inform the user
#
/sbin/umount /mnt
echo "The floppy has been unmounted and is now ready."]]>
      </programlisting>
    </sect3>

    <sect3>
      <title>После сбоя</title>

      <para>Главный вопрос: выжило ли ваше оборудование?  Вы регулярно делали
	резервные копии, так что нет нужды беспокоиться о программном
	обеспечении.</para>

      <para>Если оборудование было повреждено, первым делом замените
	неисправные компоненты.</para>

      <para>Если с оборудованием все в порядке, проверьте ваши дискеты.  При
	использовании самостоятельно созданной загрузочной дискеты,
	загрузитесь в однопользовательском режиме (набрав
	<literal>-s</literal> в приглашении <prompt>boot:</prompt>).
	Пропустите следующий абзац.</para>

      <para>Если вы используете дискеты <filename>boot.flp</filename> и
	<filename>fixit.flp</filename>, читайте дальше.  Вставьте дискету
	<filename>boot.flp</filename> в первый дисковод и загрузите
	компьютер.  На экран будет выведено оригинальное меню установки.
	Выберите пункт <literal>Fixit--Repair mode with CDROM or
	floppy</literal>.  После вывода приглашения вставьте
	<filename>fixit.flp</filename>.  <command>restore</command> и другие
	нужные вам программы находятся в
	<filename>/mnt2/stand</filename>.</para>

      <para>Восстановите по отдельности каждую файловую систему.</para>

      <para>Попробуйте выполнить команду &man.mount.8; (например,
	<command>mount /dev/da0a /mnt</command>) по отношению к корневому
	разделу вашего первого диска.  Если метка диска была испорчена,
	то воспользуйтесь командой &man.disklabel.8; для переразбиения на
	разделы и разметки диска так, чтобы получившаяся метка совпала с той,
	которая вами была распечатана и сохранена.  Для повторного создания
	файловых систем используйте утилиту &man.newfs.8;.  Повторно
	смонтируйте корневой раздел дискеты в режиме чтения-записи
	(<command>mount -u -o rw /mnt</command>).  Воспользуйтесь вашей
	программой резервного копирования и резервными копиями на лентах для
	восстановления данных для этой файловой системы (например.
	<command>restore vrf /dev/sa0</command>).  Размонтируйте файловую
	систему (например, <command>umount /mnt</command>).  Повторите эту
	процедуру для каждой файловой системы, которая была запорчена.</para>

      <para>Как только ваша система заработает, сделайте резервную копию на
	новые ленты.  Что бы ни вызвало сбой или потерю данных, это может
	случиться снова.  Еще один час, потраченный в этот момент, может
	спасти вас от неприятностей в будущем.</para>
    </sect3>

<![ %not.published; [

    <sect3>
      <title>* Я не был готов к катастрофе, и что теперь?</title>

      <para></para>
    </sect3>
]]>

  </sect2>
</sect1>

<sect1 id="backups-floppybackups">
  <title>Что насчет резервных копий на дискетах?</title>

  <sect2 id="floppies-using">
    <title>Можно ли использовать дискеты для создания резервных копий моих
      данных?</title>

    <para>На самом деле дискеты не подходят для создания резервных копий,
      потому что:</para>

    <itemizedlist>
      <listitem>
	<para>Носитель ненадежен, особенно если речь идет о больших сроках
	  хранения</para>
      </listitem>

      <listitem>
	<para>Создание резервных копий и восстановление данных происходит
	  очень медленно</para>
      </listitem>

      <listitem>
	<para>Дискеты имеют весьма ограниченную емкость (дни, когда весь
	  винчестер копировался на десяток или около того дискет, давно
	  прошли).</para>
      </listitem>
    </itemizedlist>

    <para>Несмотря на все это, если у вас нет другого способа сделать
      резервную копию ваших данных, то дискеты все же лучше, чем
      ничего.</para>

    <para>Если вы используете дискеты, то проверьте, что они должны быть
      хорошего качества.  Дискеты, которые валялись по всему офису в течении
      нескольких лет, не подойдут.  Идеально использовать новые от известного
      производителя.</para>
  </sect2>

  <sect2 id="floppies-creating">
    <title>Итак, как же сделать резервную копию данных на дискетах?</title>

    <para>Самым лучшим методом создания резервной копии на дискете является
      использование утилиты &man.tar.1; с опцией <option>-M</option>
      (многотомные архивы), которая позволяет размещать архивы на нескольких
      дискетах.</para>

    <para>Для копирования всех файлов в текущем каталоге и подкаталогах
      выполните следующее (работая как пользователь root):</para>

    <screen>
&prompt.root; <userinput>tar Mcvf /dev/rfd0 *</userinput>
    </screen>

    <para>Когда первая дискета окажется полностью заполненной, программа
      &man.tar.1; выдаст запрос на следующий том (так как работа утилиты
      &man.tar.1; не зависит от носителя, она имеет дело с томами.  В этом
      смысле это означает дискету)</para>

    <screen>
Prepare volume #2 for /dev/rfd0 and hit return:
    </screen>

    <para>Это сообщение будет повторяться (со все увеличивающимся номером
      тома) до тех пор, пока все указанные файлы не будут
      заархивированы.</para>
  </sect2>

  <sect2 id="floppies-compress">
    <title>Можно ли резервные копии подвергнуть компрессии?</title>

    <para>К сожалению, &man.tar.1; при создании многотомных архивов не
      позволяет использовать опцию <option>-z</option>.  Вы конечно же,
      можете скомпрессировать все файлы утилитой &man.gzip.1;, программой
      &man.tar.1; скопировать их на дискеты, а затем распаковать файлы
      снова утилитой &man.gunzip.1;!</para>
  </sect2>

  <sect2 id="floppies-restoring">
    <title>Как восстановить данные из моих резервных копий?</title>

    <para>Для полного восстановления архива воспользуйтесь такой
      командой:</para>

    <screen>
&prompt.root; <userinput>tar Mxvf /dev/rfd0</userinput>
    </screen>

    <para>Для восстановления только конкретных файлов вы можете либо начать
      с первой дискеты и выдать такую команду:</para>

    <screen>
&prompt.root; <userinput>tar Mxvf /dev/rfd0 <replaceable>filename</replaceable></userinput>
    </screen>

    <para>Программа &man.tar.1; будет выдавать запрос на подачу последующих
      дискет до тех пор, пока не найдет требуемый файл.</para>

    <para>Как альтернатива, если вы знаете, на какой дискете расположен файл,
      то вы можете просто подать ее и дать ту же самую команду, что и выше.
      Заметьте, что если первый файл на дискете является продолжением
      предыдущего, то утилита &man.tar.1; выдаст предупреждение о том, что
      не может его восстановить, хотя вы этого и не просили делать!</para>
  </sect2>
</sect1>

</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
