<!--
     The FreeBSD Russian Documentation Project

     $FreeBSD$
     $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/formatting-media/article.sgml,v 1.3 2001/07/25 10:28:38 phantom Exp $

     Original revision: 1.16
-->

<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
]>

<article>
  <articleinfo>
    <title>Форматирование носителей для использования с FreeBSD</title>

    <subtitle>Учебное пособие</subtitle>

    <authorgroup>
      <author>
	<firstname>Doug</firstname>

	<surname>White</surname>

	<affiliation>
	  <address>
	    <email>dwhite@resnet.uoregon.edu</email>
	  </address>
	</affiliation>
      </author>
    </authorgroup>

    <pubdate>Март 1997</pubdate>

<!--
    <para>Перевод на русский язык: Андрей Захватов
      (<email>andy@FreeBSD.org</email>)</para>
-->

    <abstract>
      <para>Этот документ описывает, как разбить на слайсы, разделы и
        отформатировать дисковые и подобные им устройства для использования с
        FreeBSD.  Приводимые примеры были протестированы во FreeBSD 2.2 и
        должны работать и в других релизах.  Текст был дополнен для FreeBSD
        версии 4.</para>
    </abstract>
  </articleinfo>

  <sect1>
    <title>Введение и определения</title>

    <sect2>
      <title>Обзор</title>

      <para>Успешное выполнение добавления дисков в существующую систему
        является признаком опытности системного администратора.  Разбиение на
        слайсы, разделы и добавление дисков требуют тщательности в подборе
        команд и их параметров.  Одно неверное нажатие, и все содержимое
        диска может исчезнуть за считанные секунды.  Этот документ был написан
        в попытке упростить этот процесс и избежать ошибок.  К счастью,
        усовершенствования в имеющихся инструментах (в частности, sysinstall)
        весьма упростили этот процесс в последних релизах FreeBSD.</para>

      <para>Существуют два режима форматирования диска:</para>

      <itemizedlist> 
	<listitem>
	  <para><firstterm>режим обеспечения совместимости</firstterm>:
            Подготовка диска так, чтобы он имел таблицу слайсов, которую
            можно использовать с другими операционными системами.</para>
	</listitem>

	<listitem>
	  <para><firstterm>режим эксклюзивного использования</firstterm>,
            иногда называемый <firstterm>опасным режимом</firstterm>:
            Форматирование диска без таблицы слайсов.  Это упрощает процесс
            добавления дисков, но другие операционные системы не смогут
            работать с диском.  Термин <emphasis>опасный</emphasis> относится к
            опасности не распознавания системой диска, отформатированного этим
            способом.</para>
        </listitem>
      </itemizedlist>

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

      <para>Кроме выбора режима, имеются два способа разбиения диска на слайсы.
        Один заключается в использовании инструмента установки системы
        <command>/stand/sysinstall</command>.  2.1.7-RELEASE и более поздние
        версии <command>sysinstall</command> содержат код для облегчения
        установки дисков во время обычных системных работ, в основном давая
        доступ к редактору разделов и разметке диска и возможности записать
        изменения, причем будет обновляться информация только на выбранном
        диске и слайсе, не затрагивая другие диски.  Другой метод состоит в
        ручном запуске утилит администратором из командной строки.  Для режима
        эксклюзивного использования используются только три или четыре команды,
        хотя <command>sysinstall</command> требует некоторых ухищрений.</para>
    </sect2>

    <sect2>
      <title>Определения</title>

      <para>За века существования управления дисками в UNIX было придумано
        много новых названий для старых вещей.  В следующем словарике даны
        определения терминов, используемых в этом документе и (надеемся) во
        FreeBSD вообще.</para>

<!-- I'm tempted to use GLOSSARY here but will resort to a list for
now. -->

      <itemizedlist>
	<listitem>
	  <para>режим обеспечения совместимости: Разбиение диска так, что на
            нем присутствует таблица слайсов, используемая и другими
            операционными системами.  Противоположен режиму эксклюзивного
            использования.</para>
	</listitem>

	<listitem>
	  <para>(опасный) режим эксклюзивного использования: Форматирование
            диска без использования таблицы слайсов.  Это упрощает процесс
            добавления дисков, однако другие (не FreeBSD) операционные системы
            не смогут распознать диск.  Противоположен режиму обеспечения
            совместимости.</para>
	</listitem>

	<listitem>
	  <para>диск: круглый диск, покрытый магнитным материалом или
            материалом с похожими свойствами, раскручиваемый двигателем и
            располагающийся под головками.  Данные хранятся на диске при помощи
            изменения магнитного напряжения на диске, что может быть позже
            прочтено.  Жесткие диски, компакт-диски, магнито-оптические и
            съемные носители Zip/Jaz являются примерами дисков.</para>
	</listitem>

	<listitem>
	  <para>слайс: Часть диска.  На одном диске по стандартам PC может
            располагаться до четырех слайсов.  Слайсы состоят из
            последовательно располагающихся секторов.  Информация о слайсах
            записывается в <quote>таблицу слайсов</quote>, используемую
            системным BIOS для нахождения загрузочных разделов.  Таблица
            слайсов в терминологии DOS обычно называется таблицей разделов
	    (Partition Table).  Управляется утилитой fdisk.</para>
	</listitem>

	<listitem>
	  <para>раздел: Часть слайса.  Обычно используется для обозначения
            частей слайса FreeBSD на диске.  Каждая файловая система и область
            подкачки на диске располагаются в разделе.  Управляется утилитой
	    disklabel.</para>
	</listitem>
	
	<listitem>
	  <para>сектор: Самая малая часть диска.  Один сектор, как правило,
            хранит 512 байт данных.</para>
	</listitem>
      </itemizedlist>
    </sect2>

    <sect2>
      <title>Предостережения & Ловушки</title>

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

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

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

    <sect2>
      <title>Zip, Jaz и другие сменные носители</title>

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

	<informalexample>
	  <screen>Can't get the size
	  </screen>
	</informalexample>

	то диска в устройстве нет.  В таком случае вам нужно перезапустить
        машину перед тем, как пытаться отформатировать диски.</para>
    </sect2>
  </sect1>

  <sect1>
    <title>Форматирование дисков в режиме эксклюзивного использования</title>

    <sect2>
      <title>Введение</title>

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

    <sect2>
      <title>Подготовка дисков в режиме эксклюзивного использования при помощи
        утилиты sysinstall</title>

      <para><command>/stand/sysinstall</command>, программа установки системы,
        в последних версиях была расширена так, что позволяет сделать процесс
        подготовки дисков простой задачей.  Редакторы fdisk и disklabel,
        встроенные в sysinstall, являются инструментами с графическим
        пользовательским интерфейсом, устраняющими большинство неясностей при
        разбиении дисков.  Для версий FreeBSD 2.1.7 и выше это, наверное, самый
        простой способ подготовки дисков.</para>

      <procedure>
	<step>
	  <para>Запустите sysinstall как пользователь root, набрав

	    <informalexample>
	      <screen>
&prompt.root; <userinput>/stand/sysinstall</userinput>
	      </screen>
	    </informalexample> 

	    в командной строке.</para>
	</step>

	<step>
	  <para>Выберите пункт <command>Index</command>.</para>
	</step>

	<step>
	  <para>Выберите пункт <command>Partition</command>.</para>
	</step>

	<step>
	  <para>Выберите диск для редактирования с помощью клавиш управления
            курсором <keycap>пробела</keycap>.</para>
	</step>

	<step>
	  <para>Если вы используете этот диск полностью для FreeBSD, выберите
	    <command>A</command>.</para>
	</step> 

	<step>
	  <para>Когда будет выдано сообщение:

	    <informalexample>
	      <screen>
Do you want to do this with a true partition entry so as to remain
cooperative with any future possible operating systems on the
drive(s)?
	      </screen>
	    </informalexample>

	    ответьте <command>No</command>.</para>
	</step>

	<step>
	  <para>Когда будет задан вопрос о том, действительно ли вы хотите это
            сделать, ответьте <command>Yes</command>.</para>
	</step> 

	<step>
	  <para>Выберите <command>Write</command>.</para>
	</step>

	<step>
	  <para>При выдаче предупреждения Writing on installed systems,
            ответьте <command>Yes</command>.</para>
	</step> 

	<step>
	  <para>Выберите <command>Quit</command> для выхода из редактора FDISK
            и нажмите <keycap>ESCAPE</keycap> для возврата в меню Index.</para>
	</step>

	<step>
	  <para>Выберите пункт <command>Label</command> из меню Index.</para>
	</step>

	<step>
	  <para>Разметьте диск так, как это нужно.  Для работы с единственным
            разделом нажмите <command>C</command> для создания раздела, примите
            размер по умолчанию, установите тип раздела в Filesystem и укажите
            точку монтирования (которая не используется).</para>
	</step>

	<step>
	  <para>Нажмите <command>W</command>, когда все закончите и захотите
            продолжить.  Файловая система будет размечена вновь, если вы не
            указали противное (для новых разделов вам это делать необходимо!).
            Вы получите сообщение об ошибке:

	    <informalexample>
	      <screen>Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory
	      </screen>
	    </informalexample>

	    Проигнорируйте это сообщение.</para>
	</step>

	<step>
	  <para>Выйдите по нескольким нажатиям клавиши
            <keycap>ESCAPE</keycap>.</para>
	</step>
      </procedure>
    </sect2>

    <sect2>
      <title>Подготовка диска к использованию в эксклюзивном режиме из
        командной строки</title>

      <para>Выполните следующие команды, заменяя ad2 на имя вашего
        диска.</para>

      <informalexample>
	<screen>
&prompt.root; <userinput>dd if=/dev/zero of=/dev/ad2 count=2</userinput>
&prompt.root; <userinput>disklabel /dev/ad2 | disklabel -B -R -r ad2 /dev/stdin</userinput>
<lineannotation>We only want one partition, so using slice 'c' should be fine:</lineannotation>
&prompt.root; <userinput>newfs /dev/ad2c</userinput>
	</screen>
      </informalexample>

      <para>Если вам нужно отредактировать метку диска для создания нескольких
        разделов (например, раздела подкачки), выполните следующее:</para>

      <informalexample>
	<screen>
&prompt.root; <userinput>dd if=/dev/zero of=/dev/ad2 count=2</userinput>
&prompt.root; <userinput>disklabel /dev/$d > /tmp/label</userinput>
<lineannotation>Edit disklabel to add partitions:</lineannotation>
&prompt.root; <userinput>vi /tmp/label</userinput>
&prompt.root; <userinput>disklabel -B -R -r ad2 /tmp/label</userinput>
<lineannotation>newfs partitions appropriately</lineannotation>
	</screen>
      </informalexample>

      <para>Теперь ваш диск готов к работе.</para>
    </sect2>
  </sect1>

  <sect1>
    <title>Создание дисков для использования в режиме совместимости</title>

    <sect2>
      <title>Введение</title>

      <para>При подготовке дисков для использования в эксклюзивном режиме проще
        всего воспользоваться командной строкой, но этого делать не следует при
        подготовке дисков для использования в режиме совместимости.  Утилита
        командной строки fdisk требует сложных вычислений и глубокого понимания
        устройства таблицы слайсов, что дано не каждому.  При подготовке дисков
        для использования в режиме совместимости используйте sysinstall.</para>
    </sect2>

    <sect2>
      <title>Подготовка дисков, используемых в режиме совместимости, при помощи
        sysinstall</title>

      <procedure>
	<step>
	  <para>Запустите sysinstall, работая как пользователь root, набрав

	    <informalexample>
	      <screen>&prompt.root; <userinput>/stand/sysinstall</></screen>
	    </informalexample> 

	    в командной строке.</para>
	</step>

	<step>
	  <para>Выберите пункт меню <command>Index</command>.</para>
	</step>

	<step>
	  <para>Выберите пункт меню <command>Partition</command>.</para>
	</step>

	<step>
	  <para>Выберите диск для работы при помощи клавиш управления курсором
            и клавиши <keycap>SPACE</keycap>.</para>
	</step>

	<step>
	  <para>Если вы собираетесь использовать для FreeBSD весь диск, нажмите
	    <command>A</command>.</para>
	</step> 

	<step>
	  <para>Когда будет выдан вопрос:

	    <informalexample>
	      <screen>
Do you want to do this with a true partition entry so as to remain
cooperative with any future possible operating systems on the
drive(s)?
	      </screen>
	    </informalexample>

	    ответьте <command>yes</command>.</para>
	</step>

	<step>
	  <para>Выберите <command>Write</command>.</para>
	</step>

	<step>
	  <para>Когда будет выдано диалоговое окно для установки менеджера
            загрузки, выберите None при помощи клавиши <keycap>SPACE</keycap>,
            а затем нажмите <keycap>ENTER</keycap> для подтверждения.</para>
	</step>

	<step>
	  <para>Выберите <command>Quit</command> для выхода из FDISK.</para>
	</step>

	<step>
	  <para>После выдачи предупреждения о менеджере загрузки, выберите
	    <command>None</command> снова.</para>
	</step> 

	<step>
	  <para>Выберите пункт <command>Label</command> из меню Index.</para>
	</step>  

	<step>
	  <para>Разметьте диск так, как вам нужно.  В случае единственного
            раздела примите размер по умолчанию, тип с наличием файловой
            системы и точку монтирования (которая не будет
            использоваться).</para>
	</step> 

	<step>
	  <para>Файловая система будет вновь создана, если вы не задали
            обратное (эту операцию обязательно нужно делать для новых
            разделов!).  Вы получите сообщение об ошибке:

	    <informalexample>
	      <screen>
Error mounting /mnt/dev/ad2s1e on /mnt/blah : No such file or directory
	      </screen> 
	    </informalexample>

	    Проигнорируйте его.</para>
	</step>

	<step>
	  <para>Выйдите, последовательно нажимая
            <keycap>ESCAPE</keycap>.</para>
	</step>
      </procedure>

      <para>Теперь ваш новый диск готов к использованию.</para>
    </sect2>
  </sect1>

  <sect1>
    <title>Другие операции с диском</title>

    <sect2>
      <title>Добавление пространства для подкачки</title>

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

      <para>Для добавления пространства подкачки при добавлении диска к
        системе:</para>

      <procedure>
	<step>
	  <para>При разбиении диска на разделы, отредактируйте метку диска,
            выделив некоторое объем диска для раздела `b', а остаток
            распределив в другие разделы, например, `a' или `e'.  Размеры
            указываются в блоках по 512 байт.</para>
	</step>

	<step>
	  <para>При создании новых файловых систем на диске, НЕ делайте этого
            для раздела `c'.  Вместо этого выполните создание новых файловых
            систем для разделов, не содержащих пространство для
            подкачки.</para>
	</step> 

	<step>
	  <para>Добавьте такую строчку в файл
            <filename>/etc/fstab</filename>:</para>

	  <informalexample>
	    <programlisting>
/dev/ad0b                       none            swap    sw 0 0
	    </programlisting>
	  </informalexample>
	  
	  <para>Замените здесь /dev/ad0b на имя устройства с только что
            добавленным пространством.</para>
	</step>

	<step>
	  <para>Чтобы сделать пространство для подкачки немедленно доступным,
            воспользуйтесь командой <command>swapon</command>.

	    <informalexample>
	      <screen>
&prompt.root; <userinput>swapon /dev/da0b</userinput>
swapon:  added /dev/da0b as swap space
	      </screen>
	    </informalexample>
	  </para>
	</step>
      </procedure>
    </sect2>

    <sect2>
      <title>Копирование содержимого дисков</title>
<!-- Should have specific tag -->

      <para>Предоставил:  Renaud Waldura
	(<email>renaud@softway.com</email>) </para>

      <para>Для переноса файлов с вашего старого диска на новый, выполните:

	<informalexample>
	  <screen>&prompt.root; <userinput>mount /dev/ad2 /mnt</userinput>
&prompt.root; <userinput>pax -r -w -p e /usr/home /mnt</userinput>
&prompt.root; <userinput>umount /mnt</userinput>
&prompt.root; <userinput>rm -rf /usr/home/*</userinput>
&prompt.root; <userinput>mount /dev/ad2 /usr/home</userinput>
	  </screen>
	</informalexample>
      </para>
    </sect2>

    <sect2>
      <title>Объединение дисков с помощью CCD</title>

      <para>Команды предоставил: Stan Brown
	(<email>stanb@awod.com</email>) </para>

      <para>Драйвер CCD (Concatenated Disk Driver) позволяет вам использовать
        несколько идентичных дисков как один диск.  Объединение дисков может
        повысить производительность через распределение операций чтения и
        записи между дисками.  Обратитесь к страницам справочной системы
	&man.ccd.4; и &man.ccdconfig.8; или к <ulink
        URL="http://stampede.cs.berkeley.edu/ccd/">домашней странице
        CCD</ulink> для получения подробной информации.</para>

      <para>Вам больше не нужно компилировать специальное ядро для
        использования ccd.  Когда вы запускаете команду
        <command>ccdconfig</command>, она загрузит соответствующий KLD, если в
        ядре нет поддержки CCD.</para>

      <para>Вы можете строить объединенные диски в разделах типа
	<emphasis>4.2BSD</emphasis>.  Если вы хотите использовать весь диск, то
        вам все равно нужно создать новый раздел.  Например,
        <userinput>disklabel -e</userinput> может выдавать:</para>

      <informalexample>
	<screen>
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 60074784        0    unused        0     0     0   # (Cyl.    0 - 59597)
	</screen>
      </informalexample>

      <para>Вы не сможете использовать раздел <emphasis>c</emphasis> для CCD,
        так как он имеет тип <emphasis>unused</emphasis>.  Вместо этого
        создайте новый раздел точно такого же размера, но типа
        <emphasis>4.2BSD</emphasis>:</para>

      <informalexample>
	<screen>
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 60074784        0    unused        0     0     0   # (Cyl.    0 - 59597)
<userinput>   e: 60074784        0    4.2BSD        0     0     0   # (Cyl.    0 - 59597)</userinput>
	</screen>
      </informalexample>

      <para>Для создания нового CCD выполните следующие команды.  Здесь
        описано, как объединить три диска; просто добавляйте или убирайте
        устройства по мере необходимости.  Помните, что объединяемые диски
        должны быть <emphasis>идентичными</emphasis>.</para>

      <informalexample>
	<screen>
&prompt.root; <userinput>cd /dev ; sh MAKDEV ccd0</userinput>

&prompt.root; <userinput>disklabel -r -w da0 auto</userinput>
&prompt.root; <userinput>disklabel -r -w da1 auto</userinput>
&prompt.root; <userinput>disklabel -r -w da2 auto</userinput>

&prompt.root; <userinput>disklabel -e da0</userinput>
<lineannotation>Add partition e with type 4.2BSD</lineannotation>
&prompt.root; <userinput>disklabel -e da1</userinput>
<lineannotation>Add partition e with type 4.2BSD</lineannotation>
&prompt.root; <userinput>disklabel -e da2</userinput>
<lineannotation>Add partition e with type 4.2BSD</lineannotation>

&prompt.root; <userinput>ccdconfig ccd0 273 0 /dev/da0e /dev/da1e /dev/da2e</userinput>

&prompt.root; <userinput>newfs /dev/ccd0c</userinput>
	</screen>
      </informalexample>

      <para>Значение 273 задает размер блока данных.  Это число секторов диска,
        (каждый по 512 байт) в каждом блоке данных в CCD.  Он должен быть равен
        по крайней мере 128 kB, и должен быть степенью числа 2.</para>

      <para>Теперь вы можете смонтировать и использовать ваш CCD через
        устройство /dev/ccd0c.</para>

      <para>Более мощной и гибкой альтернативой для CCD является Vinum.
        Обратитесь к <ulink URL="http://www.vinumvm.org/">домашней странице
        проекта Vinum Project</ulink> для получения подробной
        информации.</para>
    </sect2>
  </sect1>

  <sect1>
    <title>Благодарности</title>

    <para>Автор выражает благодарности тем, кто принимал участие в этом
      проекте:</para>

    <itemizedlist>
      <listitem>
	<para>Darryl Okahata (<email>darrylo@hpnmhjw.sr.hp.com</email>) за
          понятное описание настройки диска для режима эксклюзивного
          использования, которое я постоянно использую в списке рассылки
          FreeBSD-questions.</para>
      </listitem>

      <listitem>
	<para>Jordan Hubbard (<email>jkh@FreeBSD.org</email>) за то, что он
          сделал sysinstall подходящим инструментом для выполнения таких
          работ.</para>
      </listitem>

      <listitem>
	<para>John Fieber (<email>jfieber@indiana.edu</email>) за создание
          примеров и предоставление информации о DocBook DTD, на основе чего
          написан этот документ.</para>
      </listitem>

      <listitem>
	<para>Greg Lehey (<email>grog@FreeBSD.org</email>) за проверку
          моей работы и указания на неточности, а также за поддержку.</para>
      </listitem>
    </itemizedlist>
  </sect1>
</article>
