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>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010112122.o9BLMnWr068588>