MFen:
- 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:
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
|
@ -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>
|
||||
|
|
|
@ -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"' >> /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; — ваш любимый текстовый редактор, то эта
|
||||
задача решается просто:</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> будет именоваться всегда одинаково —
|
||||
<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 && 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" > /boot.config</userinput></screen>
|
||||
<screen>&prompt.root; <userinput>gmirror status</userinput></screen>
|
||||
|
||||
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /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"' >> /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></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">
|
||||
|
|
Loading…
Reference in a new issue