Date: Mon, 11 Oct 2010 21:22:49 GMT From: Yurij <lnkgyv@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/151401: old data in russian documentation in geom:raid1 mirroring Message-ID: <201010112122.o9BLMnWr068588@www.freebsd.org> Resent-Message-ID: <201010112130.o9BLU6A0088144@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 151401
>Category: misc
>Synopsis: old data in russian documentation in geom:raid1 mirroring
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: doc-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Oct 11 21:30:05 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Yurij
>Release: 8.1-RELEASE
>Organization:
ISP Infocom
>Environment:
FreeBSD 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Russian translate of handook have old data in section about GEOM: RAID1 - Mirroring. I have made some changes considering original English section of this part of Handbook. My translation Project freebsd.org.ua is dead that I send this changes in PR.
>How-To-Repeat:
>Fix:
I have made patch.
Patch attached with submission follows:
--- chapter.sgml.old 2010-10-11 22:33:35.000000000 +0000
+++ chapter.sgml 2010-10-11 23:55:14.000000000 +0000
@@ -23,6 +23,13 @@
<contrib>Перевод на русский язык: </contrib>
</author>
</authorgroup>
+ <authorgroup>
+ <author>
+ <firstname>Юрий</firstname>
+ <surname>Гончарук</surname>
+ <contrib>Дополнения: </contrib>
+ </author>
+ </authorgroup>
</chapterinfo>
<title>GEOM: Модульная инфраструктура преобразования дисковых запросов</title>
@@ -251,170 +258,181 @@
прямого доступа (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>
-
- <para>После установки перезагрузитесь и дождитесь окончания инициализации
- системы, затем войдите как суперпользователь <username>root</username>.
- </para>
-
- <para>Создайте устройство <devicename>/dev/mirror/gm</devicename> и свяжите
- его с устройством <devicename>/dev/da1</devicename>:</para>
-
- <screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
-
- <para>В ответ вы должны получить сообщение:</para>
-
- <screen>
-Metadata value stored on /dev/da1.
-Done.</screen>
-
- <para>Инициализируйте GEOM; эта команда загрузит модуль ядра
- <filename>/boot/kernel/geom_mirror.ko</filename>:</para>
-
- <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>
-
- <para>Установите стандартную разметку <command>fdisk</command> и
- загрузчик на новое устройство <devicename>gm0</devicename>:</para>
-
- <screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
-
- <para>Теперь установите стандартную разметку
- <command>bsdlabel</command>:</para>
-
- <screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
-
- <note>
- <para>Если у вас несколько слайсов или разделов, параметры
- двух предыдущих команд должны быть другими. Среди них должны
- быть указаны размеры слайсов и разделов.
- </para>
- </note>
-
- <para>Используйте &man.newfs.8;, чтобы создать файловую систему на
- устройстве <devicename>gm0s1a</devicename>:</para>
-
- <screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
-
- <para>Это заставит систему проассоциировать устройства, и это хорошо.
- Проверьте, не было ли сообщений об ошибках, и смонтируйте устройство
- в каталог <filename role="directory">/mnt</filename>:</para>
-
- <screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
-
- <para>Теперь переместите все данные с загрузочного диска на только
- что созданную файловую систему. Для этого используйте &man.dump.8; и
- &man.restore.8;; в некоторых случаях можно использовать &man.dd.1;.</para>
+ <para>Предполагается, что &os; установлена на первое дисковое устройство
+ <devicename>da0</devicename>. &man.gmirror.8; должен знать, что данное устройство
+ является основным в хранении ифнормации.</para>
+
+ <para>Перед постройкой зеркала необходимо включить дополнительную отладочную
+ информацию и открыть доступ к устройству хранения данных, установив
+ значение переменной <varname>kern.geom.debugflags</varname> &man.sysctl.8;
+ на следующее:</para>
+
+ <screen>&prompt.root; <userinput>sysctl kern.geom.debugflags=17</userinput></screen>
+
+ <para>Теперь создаём зеркало. Начнём процедуру с сохранения метаданных на
+ основном дисковом устройстве, тем самым создаём <filename class="devicefile">/dev/mirror/gm</filename>
+ устройство, используя следующую команду:</para>
- <screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)</userinput></screen>
-
- <para>Проделайте это со всеми файловыми системами. Просто подставьте
- нужную файловую систему в предыдущую команду.</para>
-
- <para>Теперь отредактируйте <filename>/mnt/etc/fstab</filename>
- и закомментируйте swap файл
- <footnote>
- <para>Следует заметить, что после комментирования записи о разделе
- подкачки в файле <filename>fstab</filename> вам, скорее всего,
- потребуется разрешить подкачку каким-либо другим способом.
- Обратитесь к <xref linkend="adding-swap-space"> за дополнительной
- информацией.</para>
- </footnote>.
- Измените информацию о других файловых системах, размещенных на диске,
- как показано в примере:
-
- <programlisting># Device Mountpoint FStype Options Dump Pass#
-#/dev/da0s2b none swap sw 0 0
-/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
-
- <para>Создайте файл <filename>boot.config</filename> на обоих
- разделах: созданном и существующем. С помощью этого файла
- <acronym>BIOS</acronym> сможет загрузить правильный диск:</para>
-
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /boot.config</userinput></screen>
+ <warning>
+ <para>Создание зеркала вне загрузочного устройство может повлечь
+ за собой потерю данных, в том случае если они сохранены в последнем
+ секторе диска. Риск возможно уменьшить, если создавать зеркало сразу
+ после установки &os;.</para>
+ </warning>
- <screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" > /mnt/boot.config</userinput></screen>
+ <screen>&prompt.root; <userinput>gmirror label -vb round-robin gm0 /dev/da0</userinput></screen>
- <note>
- <para>Мы поместили этот файл в оба корневых раздела на тот случай,
- если по каким-либо причинам система не сможет загрузиться с нового
- раздела. В таком случае загрузка со старого все еще будет возможна.</para>
- </note>
+ <para>Система должна выдать соответсвующие сообщение:</para>
- <para>Включите загрузку модуля <filename>geom_mirror.ko</filename> при
- старте системы, выполнив следующую команду:</para>
+ <screen>Metadata value stored on /dev/da0.
+Done.</screen>
- <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf</userinput></screen>
+<para>Инициализация GEOM, влечёт за собой загрузку
+ <filename>/boot/kernel/geom_mirror.ko</filename> модуля
+ ядра:</para>
- <para>Перезагрузитесь:</para>
+ <screen>&prompt.root; <userinput>gmirror load</userinput></screen>
- <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
+ <note>
+ <para>Когда эта команда выполнится успешно, будет создано
+ <devicename>gm0</devicename> устройсто в директории
+ <filename class="directory">/dev/mirror</filename>.</para>
+ </note>
- <para>Если все было сделано правильно, система загрузится с
- <devicename>gm0s1a</devicename>. Если же что-то пойдёт не так, обратитесь
- к секции <quote>Решение проблем</quote>.
- </para>
+ <para>Включение загрузки <filename>geom_mirror.ko</filename>
+ модуля во время инициализации системы:</para>
- <para>Теперь добавьте диск
- <devicename>da0</devicename> к устройству
- <devicename>gm0</devicename>:</para>
+ <screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' >> /boot/loader.conf</userinput></screen>
- <screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
-&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
+ <para>Необходимо отредактировать файл <filename>/etc/fstab</filename> ,
+ заменяя старые ссылки на устройство <devicename>da0</devicename> новыми
+ нодами зеркала <devicename>gm0</devicename> .</para>
+
+<note>
+ <para>Если &man.vi.1; является Вашим любимым редактором, следующее является
+ простым шагом для завершения нашей задачи:</para>
+
+ <screen>&prompt.root; <userinput>vi /etc/fstab</userinput></screen>
+
+ <para>В &man.vi.1; сохраните текущую копию вашего файла
+ <filename>fstab</filename> введя
+ <userinput>:w /etc/fstab.bak</userinput>. Затем
+ замените старые ссылки <devicename>da0</devicename>
+ на новый <devicename>gm0</devicename> введя
+ <userinput>:%s/da/mirror\/gm/g</userinput>.<para>
+ </note>
- <para>Ключ <option>-a</option> даст утилите команду &man.gmirror.8;
- использовать автоматическую синхронизацию, то есть автоматически
- дублировать запись на диски. Страница справки разъясняет, как
- перестраивать и заменять диски, Будьте внимательны, вместо
- <devicename>gm0</devicename> там использовано обозначение
- <devicename>data</devicename>.</para>
+ <para>Содержимое файла <filename>fstab</filename>
+ должно быть следующим. Не имеет значения или дисковые приводы
+ являются или <acronym>SCSI</acronym> или <acronym>ATA</acronym>,
+ устройство <acronym>RAID</acronym> всеравно будет
+ <devicename>gm</devicename> .</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>
+
+<para>Перезагрузите систему:</para>
+
+ <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
+
+ <para>Во время инициализации системы устройство
+ <devicename>gm0</devicename> должно быть использовано в месте использования устройства
+ <devicename>da0</devicename>. Когда инициализация завершилась это
+ возможно проверить изучив вывод комманды <command>mount</command> command:</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>Вывод это показывает хорошо. Теперь для начала синхронизации
+ необходимо поместить диск <devicename>da1</devicename>
+ в зеркало, используя для этого следующую команду:</para>
+
+ <screen>&prompt.root; <userinput>gmirror insert gm0 /dev/da1</userinput></screen>
+
+ <para>Во время синхронизации возможно проверить текущий статус зеркала, используя
+ следующую команду:</para>
+
+ <screen>&prompt.root; <userinput>gmirror status</userinput></screen>
+
+ <para>Когда сихронизация будет завершена, зеркало будет построено.
+ Вышеуказанная команда это покажет:</para>
+
+ <screen> Name Status Components
+mirror/gm0 COMPLETE da0
+ da1</screen>
+
+ <para>Если возникают некоторые нюансы, или постройка зеркала в процессе
+ данный пример это демонстрирует:
+ <literal>DEGRADED</literal> in place of
+ <literal>COMPLETE</literal>.</para>
+ </sect2>
- <sect2>
+<sect2>
<title>Решение проблем</title>
<sect3>
<title>Система не загружается</title>
- <para>Если система прекращает загрузку и выдает строку:</para>
+ <para>Если система загружается до строки вида:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
- <para>Перезагрузите компьютер кнопкой питания или кнопкой
- <quote>Reset</quote>. В загрузочном меню выберите опцию (6).
- Это приведёт к тому, что система выдаст приглашение &man.loader.8;.
- Загрузите модуль ядра вручную:</para>
+ <para>Перегрузите машину, используя кнопку выключения или перезагрузки.
+ В загрузочном менювыберите пункт (6). Это выбросит Вас в
+ системную командную строку &man.loader.8; загрузчика. Загрузите модуь
+ ядра вручную:</para>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
- <para>Если это сработало, модуль ядра по какой-либо причине
- не загрузился правильно. Добавьте строку</para>
+ <para>Если это работает, значит модуль не был загружен должным образом.
+ Проверте, что записи в файле <filename>/boot/loader.conf</filename> являются коректными.
+ Если проблема повторяется поместите строку:</para>
<programlisting>options GEOM_MIRROR</programlisting>
- <para>в файл конфигурации ядра, пересоберите и переустановите ядро.
- Это должно устранить проблему.</para>
+ <para>файл конфигурации ядра, затем откомпилируйте его и установите.
+ Это должно помочь.</para>
</sect3>
</sect2>
- </sect1>
- <sect1 id="geom-ggate">
+ <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">
<title>Сетевые устройства GEOM Gate</title>
<para>GEOM включает в себя поддержку работы с удаленными устройствами по
>Release-Note:
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010112122.o9BLMnWr068588>
