From owner-freebsd-bugs@FreeBSD.ORG Mon Oct 11 21:30:06 2010 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90FC8106566B for ; Mon, 11 Oct 2010 21:30:06 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 520638FC16 for ; Mon, 11 Oct 2010 21:30:06 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o9BLU6dF088149 for ; Mon, 11 Oct 2010 21:30:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o9BLU6A0088144; Mon, 11 Oct 2010 21:30:06 GMT (envelope-from gnats) Resent-Date: Mon, 11 Oct 2010 21:30:06 GMT Resent-Message-Id: <201010112130.o9BLU6A0088144@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Yurij Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3CCB1065674 for ; Mon, 11 Oct 2010 21:22:49 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 95F038FC13 for ; Mon, 11 Oct 2010 21:22:49 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o9BLMnXH068589 for ; Mon, 11 Oct 2010 21:22:49 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id o9BLMnWr068588; Mon, 11 Oct 2010 21:22:49 GMT (envelope-from nobody) Message-Id: <201010112122.o9BLMnWr068588@www.freebsd.org> Date: Mon, 11 Oct 2010 21:22:49 GMT From: Yurij To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/151401: old data in russian documentation in geom:raid1 mirroring X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Oct 2010 21:30:06 -0000 >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 @@ Перевод на русский язык: + + + Юрий + Гончарук + Дополнения: + + GEOM: Модульная инфраструктура преобразования дисковых запросов @@ -251,170 +258,181 @@ прямого доступа (direct access, &man.da.4;) с интерфейсом SCSI. - Начните с установки &os; на первый диск с двумя разделами. - Один из этих разделов должен быть раздел swap, равный двум размерам - RAM, а все остальное место отведено под корневую - файловую систему (/). - Возможно также иметь отдельные разделы и для остальных точек - монтирования, но так как это в несколько раз увеличивает - количество манипуляций с &man.bsdlabel.8; и &man.fdisk.8;, - то в данной главе мы остановимся на более простом варианте. - - После установки перезагрузитесь и дождитесь окончания инициализации - системы, затем войдите как суперпользователь root. - - - Создайте устройство /dev/mirror/gm и свяжите - его с устройством /dev/da1: - - &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 - - В ответ вы должны получить сообщение: - - -Metadata value stored on /dev/da1. -Done. - - Инициализируйте GEOM; эта команда загрузит модуль ядра - /boot/kernel/geom_mirror.ko: - - &prompt.root; gmirror load - - - Эта команда создаст устройства - gm0, gm0s1, - gm0s1a и gm0s1c - в каталоге /dev/mirror. - - - - Установите стандартную разметку fdisk и - загрузчик на новое устройство gm0: - - &prompt.root; fdisk -vBI /dev/mirror/gm0 - - Теперь установите стандартную разметку - bsdlabel: - - &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 - - - Если у вас несколько слайсов или разделов, параметры - двух предыдущих команд должны быть другими. Среди них должны - быть указаны размеры слайсов и разделов. - - - - Используйте &man.newfs.8;, чтобы создать файловую систему на - устройстве gm0s1a: - - &prompt.root; newfs -U /dev/mirror/gm0s1a - - Это заставит систему проассоциировать устройства, и это хорошо. - Проверьте, не было ли сообщений об ошибках, и смонтируйте устройство - в каталог /mnt: - - &prompt.root; mount /dev/mirror/gm0s1a /mnt - - Теперь переместите все данные с загрузочного диска на только - что созданную файловую систему. Для этого используйте &man.dump.8; и - &man.restore.8;; в некоторых случаях можно использовать &man.dd.1;. + Предполагается, что &os; установлена на первое дисковое устройство + da0. &man.gmirror.8; должен знать, что данное устройство + является основным в хранении ифнормации. + + Перед постройкой зеркала необходимо включить дополнительную отладочную + информацию и открыть доступ к устройству хранения данных, установив + значение переменной kern.geom.debugflags &man.sysctl.8; + на следующее: + + &prompt.root; sysctl kern.geom.debugflags=17 + + Теперь создаём зеркало. Начнём процедуру с сохранения метаданных на + основном дисковом устройстве, тем самым создаём /dev/mirror/gm + устройство, используя следующую команду: - &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) - - Проделайте это со всеми файловыми системами. Просто подставьте - нужную файловую систему в предыдущую команду. - - Теперь отредактируйте /mnt/etc/fstab - и закомментируйте swap файл - - Следует заметить, что после комментирования записи о разделе - подкачки в файле fstab вам, скорее всего, - потребуется разрешить подкачку каким-либо другим способом. - Обратитесь к за дополнительной - информацией. - . - Измените информацию о других файловых системах, размещенных на диске, - как показано в примере: - - # Device Mountpoint FStype Options Dump Pass# -#/dev/da0s2b none swap sw 0 0 -/dev/mirror/gm0s1a / ufs rw 1 1 - - Создайте файл boot.config на обоих - разделах: созданном и существующем. С помощью этого файла - BIOS сможет загрузить правильный диск: - - &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config + + Создание зеркала вне загрузочного устройство может повлечь + за собой потерю данных, в том случае если они сохранены в последнем + секторе диска. Риск возможно уменьшить, если создавать зеркало сразу + после установки &os;. + - &prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config + &prompt.root; gmirror label -vb round-robin gm0 /dev/da0 - - Мы поместили этот файл в оба корневых раздела на тот случай, - если по каким-либо причинам система не сможет загрузиться с нового - раздела. В таком случае загрузка со старого все еще будет возможна. - + Система должна выдать соответсвующие сообщение: - Включите загрузку модуля geom_mirror.ko при - старте системы, выполнив следующую команду: + Metadata value stored on /dev/da0. +Done. - &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf +Инициализация GEOM, влечёт за собой загрузку + /boot/kernel/geom_mirror.ko модуля + ядра: - Перезагрузитесь: + &prompt.root; gmirror load - &prompt.root; shutdown -r now + + Когда эта команда выполнится успешно, будет создано + gm0 устройсто в директории + /dev/mirror. + - Если все было сделано правильно, система загрузится с - gm0s1a. Если же что-то пойдёт не так, обратитесь - к секции Решение проблем. - + Включение загрузки geom_mirror.ko + модуля во время инициализации системы: - Теперь добавьте диск - da0 к устройству - gm0: + &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf - &prompt.root; gmirror configure -a gm0 -&prompt.root; gmirror insert gm0 /dev/da0 + Необходимо отредактировать файл /etc/fstab , + заменяя старые ссылки на устройство da0 новыми + нодами зеркала gm0 . + + + Если &man.vi.1; является Вашим любимым редактором, следующее является + простым шагом для завершения нашей задачи: + + &prompt.root; vi /etc/fstab + + В &man.vi.1; сохраните текущую копию вашего файла + fstab введя + :w /etc/fstab.bak. Затем + замените старые ссылки da0 + на новый gm0 введя + :%s/da/mirror\/gm/g. + - Ключ даст утилите команду &man.gmirror.8; - использовать автоматическую синхронизацию, то есть автоматически - дублировать запись на диски. Страница справки разъясняет, как - перестраивать и заменять диски, Будьте внимательны, вместо - gm0 там использовано обозначение - data. + Содержимое файла fstab + должно быть следующим. Не имеет значения или дисковые приводы + являются или SCSI или ATA, + устройство RAID всеравно будет + gm . + + # 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 + +Перезагрузите систему: + + &prompt.root; shutdown -r now + + Во время инициализации системы устройство + gm0 должно быть использовано в месте использования устройства + da0. Когда инициализация завершилась это + возможно проверить изучив вывод комманды mount command: + + &prompt.root; mount +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 + + Вывод это показывает хорошо. Теперь для начала синхронизации + необходимо поместить диск da1 + в зеркало, используя для этого следующую команду: + + &prompt.root; gmirror insert gm0 /dev/da1 + + Во время синхронизации возможно проверить текущий статус зеркала, используя + следующую команду: + + &prompt.root; gmirror status + + Когда сихронизация будет завершена, зеркало будет построено. + Вышеуказанная команда это покажет: + + Name Status Components +mirror/gm0 COMPLETE da0 + da1 + + Если возникают некоторые нюансы, или постройка зеркала в процессе + данный пример это демонстрирует: + DEGRADED in place of + COMPLETE. + - + Решение проблем Система не загружается - Если система прекращает загрузку и выдает строку: + Если система загружается до строки вида: ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> - Перезагрузите компьютер кнопкой питания или кнопкой - Reset. В загрузочном меню выберите опцию (6). - Это приведёт к тому, что система выдаст приглашение &man.loader.8;. - Загрузите модуль ядра вручную: + Перегрузите машину, используя кнопку выключения или перезагрузки. + В загрузочном менювыберите пункт (6). Это выбросит Вас в + системную командную строку &man.loader.8; загрузчика. Загрузите модуь + ядра вручную: OK? load geom_mirror OK? boot - Если это сработало, модуль ядра по какой-либо причине - не загрузился правильно. Добавьте строку + Если это работает, значит модуль не был загружен должным образом. + Проверте, что записи в файле /boot/loader.conf являются коректными. + Если проблема повторяется поместите строку: options GEOM_MIRROR - в файл конфигурации ядра, пересоберите и переустановите ядро. - Это должно устранить проблему. + файл конфигурации ядра, затем откомпилируйте его и установите. + Это должно помочь. - - + + Восстановление после збоев + + Прекрасной особенностью зеркалирования является то, что после + дисковых збоев, сами диски можно менять без каких либо потерь данных. + + В соответсвии с предыдущей конфигурацией RAID1 + будем считать, что устройство da1 + вышло из строя и нуждается в замене. Для этого, необходимо + опредилить какой диск дал збой и выключить систему. С этого места + диск может быть заменен новым и система вернётся в прежнее состояние. + После перезагрузки следующие команды нужно использовать для замены диска: + + &prompt.root; gmirror forget gm0 + + &prompt.root; gmirror insert gm0 /dev/da1 + + Используйте команду gmirror + для наблюдения за процессом построение зеркала. Это так просто. + + + + Сетевые устройства GEOM Gate GEOM включает в себя поддержку работы с удаленными устройствами по >Release-Note: >Audit-Trail: >Unformatted: