- handbook/disks/chapter.sgml   1.297 -> 1.298
- handbook/geom/chapter.sgml    1.29  -> 1.50 (complete)

  Information maximum was extracted from a patch, provided with
PR: docs/151401
This commit is contained in:
Taras Korenko 2010-11-22 16:32:08 +00:00
parent 37b123ba58
commit 6a38c0cdc6
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=36622
2 changed files with 130 additions and 112 deletions

View file

@ -4,7 +4,7 @@
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml,v 1.88 2007/06/15 13:01:18 den Exp $
Original revision: 1.297
Original revision: 1.298
-->
<chapter id="disks">
@ -1269,7 +1269,7 @@ scsibus1:
<para>éÓÐÏÌØÚÕÊÔÅ <command>cdda2wav</command> ÄÌÑ ÉÚ×ÌÅÞÅÎÉÑ
ÄÁÎÎÙÈ ÁÕÄÉÏ.</para>
<screen>&prompt.user; <userinput>cdda2wav -v255 -D2,0 -B -Owav</userinput></screen>
<screen>&prompt.user; <userinput>cdda2wav -vall -D2,0 -B -Owav</userinput></screen>
</step>
<step>

View file

@ -229,8 +229,6 @@ Done.</screen>
</sect1>
<sect1 id="GEOM-mirror">
<!-- This section is currently not MFen'ed to 1.50 'cause of
unfinished work over PR/151401. taras, 27.10.2010 -->
<title>RAID1 - úÅÒËÁÌÉÒÏ×ÁÎÉÅ (Mirroring)</title>
<indexterm>
@ -255,137 +253,130 @@ Done.</screen>
ÐÒÑÍÏÇÏ ÄÏÓÔÕÐÁ (direct access, &man.da.4;) Ó ÉÎÔÅÒÆÅÊÓÏÍ
<acronym>SCSI</acronym>.</para>
<para>Начните с установки &os; на первый диск с двумя разделами.
Один из этих разделов должен быть раздел swap, равный двум размерам
<acronym>RAM</acronym>, а все остальное место отведено под корневую
файловую систему (<filename role="directory">/</filename>).
Возможно также иметь отдельные разделы и для остальных точек
монтирования, но так как это в несколько раз увеличивает
количество манипуляций с &man.bsdlabel.8; и &man.fdisk.8;,
то в данной главе мы остановимся на более простом варианте.</para>
<sect2>
<title>Зеркалирование первичных дисков</title>
<para>После установки перезагрузитесь и дождитесь окончания инициализации
системы, затем войдите как суперпользователь <username>root</username>.
</para>
<para>В статье предполагается, что &os; установлена на первый жесткий
диск, определяемый системой как <devicename>da0</devicename>.
Это устройство будет целевым для утилиты &man.gmirror.8;.</para>
<para>Создайте устройство <devicename>/dev/mirror/gm</devicename> и свяжите
его с устройством <devicename>/dev/da1</devicename>:</para>
<para>Перед построением зеркала включите дополнительную отладочную
информацию и откройте доступ к устройству. Это достигается
установкой следующего значения переменной &man.sysctl.8;
<varname>kern.geom.debugflags</varname>:</para>
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
<screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
<para>В ответ вы должны получить сообщение:</para>
<para>Теперь создайте зеркало. Начните процесс с сохранения метаданных
на первом диске. В результате выполнения следующей команды
будет создано устройство вида <filename
class="devicefile">/dev/mirror/gm</filename>:</para>
<screen>
Metadata value stored on /dev/da1.
<warning>
<para>Создание зеркала на диске, с которого произведена загрузка,
может повлечь за собой потерю данных в том случае, если данными
занят последний сектор диска. Риск повреждения данных меньше, если
создание зеркала немедленно следует за свежей установкой &os;.</para>
</warning>
<screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
<para>Система должна выдать следующее сообщение:</para>
<screen>Metadata value stored on /dev/da0.
Done.</screen>
<para>Инициализируйте GEOM; эта команда загрузит модуль ядра
<filename>/boot/kernel/geom_mirror.ko</filename>:</para>
<para>Инициализируйте GEOM, это повлечет за собой загрузку модуля ядра
<filename>/boot/kernel/geom_mirror.ko</filename>:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<note>
<para>Эта команда создаст устройства
<devicename>gm0</devicename>, <devicename>gm0s1</devicename>,
<devicename>gm0s1a</devicename> и <devicename>gm0s1c</devicename>
в каталоге <filename role="directory">/dev/mirror</filename>.
</para>
</note>
<note>
<para>После успешного завершения команды будет создано устройство
<devicename>gm0</devicename> в каталоге
<filename class="directory">/dev/mirror</filename>.</para>
</note>
<para>Установите стандартную разметку <command>fdisk</command> и
загрузчик на новое устройство <devicename>gm0</devicename>:</para>
<para>Включите автоматическую загрузку модуля
<filename>geom_mirror.ko</filename> во время старта операционной
системы:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
<para>Теперь установите стандартную разметку
<command>bsdlabel</command>:</para>
<para>Отредактируйте файл <filename>/etc/fstab</filename>, заменив
в нём упоминания старого имени устройства <devicename>da0</devicename>
новым именем устройства зеркала <devicename>gm0</devicename>.</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
<note>
<para>Если &man.vi.1; &mdash; ваш любимый текстовый редактор, то эта
задача решается просто:</para>
<note>
<para>Если у вас несколько слайсов или разделов, параметры
двух предыдущих команд должны быть другими. Среди них должны
быть указаны размеры слайсов и разделов.
</para>
</note>
<screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
<para>Используйте &man.newfs.8;, чтобы создать файловую систему на
устройстве <devicename>gm0s1a</devicename>:</para>
<para>Сделайте резервную копию файла <filename>fstab</filename>,
набрав в &man.vi.1; <userinput>:w /etc/fstab.bak</userinput>.
Затем замените все части строк, содержащие имя устройства
<devicename>da0</devicename>, на имя <devicename>gm0</devicename>,
набрав <userinput>:%s/da/mirror\/gm/g</userinput>.<para>
</note>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>Независимо от аппаратного интерфейса дисков
(<acronym>SCSI</acronym> или <acronym>ATA</acronym>), устройство
<acronym>RAID</acronym> будет именоваться всегда одинаково &mdash;
<devicename>gm</devicename>. Содержимое файла
<filename>fstab</filename> должно выглядеть подобно следующему:</para>
<para>Это заставит систему проассоциировать устройства, и это хорошо.
Проверьте, не было ли сообщений об ошибках, и смонтируйте устройство
в каталог <filename role="directory">/mnt</filename>:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1d /usr ufs rw 0 0
/dev/mirror/gm0s1f /home ufs rw 2 2
#/dev/mirror/gm0s2d /store ufs rw 2 2
/dev/mirror/gm0s1e /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0</programlisting>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Перезагрузите систему:</para>
<para>Теперь переместите все данные с загрузочного диска на только
что созданную файловую систему. Для этого используйте &man.dump.8; и
&man.restore.8;; в некоторых случаях можно использовать &man.dd.1;.</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>
<para>С этого момента во время каждой загрузки система должна
использовать устройство <devicename>gm0</devicename> вместо устройства
<devicename>da0</devicename>. Удостовериться в этом можно так:
дождитесь загрузки системы, наберите команду <command>mount</command>
и просмотрите её вывод:</para>
<para>Проделайте это со всеми файловыми системами. Просто подставьте
нужную файловую систему в предыдущую команду.</para>
<screen>&prompt.root; <userinput>mount</userinput>
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/mirror/gm0s1a 1012974 224604 707334 24% /
devfs 1 1 0 100% /dev
/dev/mirror/gm0s1f 45970182 28596 42263972 0% /home
/dev/mirror/gm0s1d 6090094 1348356 4254532 24% /usr
/dev/mirror/gm0s1e 3045006 2241420 559986 80% /var
devfs 1 1 0 100% /var/named/dev</screen>
<para>Теперь отредактируйте <filename>/mnt/etc/fstab</filename>
и закомментируйте swap файл
<footnote>
<para>Следует заметить, что после комментирования записи о разделе
подкачки в файле <filename>fstab</filename> вам, скорее всего,
потребуется разрешить подкачку каким-либо другим способом.
Обратитесь к <xref linkend="adding-swap-space"> за дополнительной
информацией.</para>
</footnote>.
Измените информацию о других файловых системах, размещенных на диске,
как показано в примере:
<para>Как и ожидалось, вывод выглядит корректно. И в заключение, чтобы
начать синхронизацию данных, включите в зеркало диск
<devicename>da1</devicename> при помощи следующей команды:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Создайте файл <filename>boot.config</filename> на обоих
разделах: созданном и существующем. С помощью этого файла
<acronym>BIOS</acronym> сможет загрузить правильный диск:</para>
<para>Во время построения зеркала статус процесса построения может быть
проверен следующей командой:</para>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
<screen>&prompt.root; <userinput>gmirror status</userinput></screen>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
<para>Вывод вышеприведённой команды для построенного
и синхронизированного зеркала выглядит подобно следующему:</para>
<note>
<para>Мы поместили этот файл в оба корневых раздела на тот случай,
если по каким-либо причинам система не сможет загрузиться с нового
раздела. В таком случае загрузка со старого все еще будет возможна.</para>
</note>
<screen> Name Status Components
mirror/gm0 COMPLETE da0
da1</screen>
<para>Включите загрузку модуля <filename>geom_mirror.ko</filename> при
старте системы, выполнив следующую команду:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<para>Перезагрузитесь:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Если все было сделано правильно, система загрузится с
<devicename>gm0s1a</devicename>. Если же что-то пойдёт не так, обратитесь
к секции <quote>Решение проблем</quote>.
</para>
<para>Теперь добавьте диск
<devicename>da0</devicename> к устройству
<devicename>gm0</devicename>:</para>
<screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
<para>Ключ <option>-a</option> даст утилите команду &man.gmirror.8;
использовать автоматическую синхронизацию, то есть автоматически
дублировать запись на диски. Страница справки разъясняет, как
перестраивать и заменять диски, Будьте внимательны, вместо
<devicename>gm0</devicename> там использовано обозначение
<devicename>data</devicename>.</para>
<para>Если есть какие-либо неполадки или зеркало находится в процессе
построения, в выводе команды будет обозначен статус
<literal>DEGRADED</literal> вместо статуса
<literal>COMPLETE</literal>.</para>
</sect2>
<sect2>
<title>òÅÛÅÎÉÅ ÐÒÏÂÌÅÍ</title>
@ -397,18 +388,20 @@ Done.</screen>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
mountroot&gt;</programlisting>
<para>ðÅÒÅÚÁÇÒÕÚÉÔÅ ËÏÍÐØÀÔÅÒ ËÎÏÐËÏÊ ÐÉÔÁÎÉÑ ÉÌÉ ËÎÏÐËÏÊ
<quote>Reset</quote>. В загрузочном меню выберите опцию (6).
Это приведёт к тому, что система выдаст приглашение &man.loader.8;.
Загрузите модуль ядра вручную:</para>
<quote>Reset</quote>. В загрузочном меню выберите опцию (6).
Это приведет к тому, что система выдаст приглашение &man.loader.8;.
Загрузите модуль ядра вручную:</para>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
<para>åÓÌÉ ÜÔÏ ÓÒÁÂÏÔÁÌÏ, ÍÏÄÕÌØ ÑÄÒÁ ÐÏ ËÁËÏÊ-ÌÉÂÏ ÐÒÉÞÉÎÅ
не загрузился правильно. Добавьте строку</para>
не загрузился правильно. Проверьте корректность соответствующей
записи в <filename>/boot/loader.conf</filename>. Если проблема
осталась, добавьте строку:</para>
<programlisting>options GEOM_MIRROR</programlisting>
@ -416,6 +409,31 @@ OK? <userinput>boot</userinput></screen>
üÔÏ ÄÏÌÖÎÏ ÕÓÔÒÁÎÉÔØ ÐÒÏÂÌÅÍÕ.</para>
</sect3>
</sect2>
<sect2>
<title>Восстановление после дисковых сбоев</title>
<para>Примечательной особенностью зеркалирования является то, что если
диск вышел из строя, то он, пожалуй, может быть заменён вообще без
ущерба для данных.</para>
<para>Принимая во внимание предыдущую конфигурацию
<acronym>RAID</acronym>1, предположим, что устройство
<devicename>da1</devicename> вышло из строя, и ему требуется замена.
Перед заменой определите, какой именно диск вышел из строя, а потом
выключите систему. Теперь дефектный диск может быть заменён новым,
после чего необходимо снова загрузить систему. После загрузки системы
для замещения диска в зеркале могут быть использованы следующие
команды:</para>
<screen>&prompt.root; <userinput>gmirror forget gm0</userinput></screen>
<screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
<para>Для наблюдения за статусом построения используйте команду
<command>gmirror</command> <option>status</option>. Вывод этой команды
достаточно прост и понятен.</para>
</sect2>
</sect1>
<sect1 id="geom-ggate">