The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Использование программного RAID-1 (gmirror) в FreeBSD (mirror raid disk freebsd geom)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: mirror, raid, disk, freebsd, geom,  (найти похожие документы)
From: Сгибнев Михаил <http://dreamcatcher.ru>; Date: Mon, 14 Nov 2005 18:21:07 +0000 (UTC) Subject: Использование программного RAID-1 (gmirror) в FreeBSD Оригинал: http://dreamcatcher.ru/docs/freebsd-raid.html На английском: http://www.onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html Использование программного RAID-1 в FreeBSD Dru Lavigne Перевод: Сгибнев Михаил Вы когда-нибудь нуждались в программном решении RAID на сервере начального уровня? Возможно, вы хотели бы использовать избыточность, предоставляемую зеркалированием, на своей рабочей станции не тратя денег на RAID-контроллер? А может, у вас был уже опыт настройки программного RAID на UNIX-системах и вы потерпели неудачу? Начиная с 5.3-Release, в состав FreeBSD входит утилита gmirror(8), которая позваляет вам более легко создавать решения RAID 1. Хотя существует учебник по gmirror(8), все равно требуется много вычислений размеров разделов с помощью bsdlabel или использование дискеты восстановления имеющейся системы. Мне кажется, что было бы более разумно настраивать RAID во время установки системы. Так же, хотелось бы разработать методику, на которую не влиял бы человеческий фактор, в виде ошибочных расчетов. После нескольких проб и ошибок, была разработана данная методика, которая была мною проверена на различных системах и хорошо себя зарекомедовала. Так же, я получила ценные данные от Поэльа Джакаба Доидека(Pawel Jakub Dawidek), автора gmirror, в добавок раскрывшего мне некоторые недокументированные возможности gmirror. Некоторая подготовка GEOM Перед тем, как мы приступим к нашим экспериментам, сделаем краткий экскурс в GEOM. GEOM является модульной дисковой структурой, появившейся в FreeBSD 5.0. В результате модульной структуры, появляется возможность создавать программы, способные управлять дисками. Лучшие примеры - программные реализации RAID, появившиеся в FreeBSD 5.3: * gstripe(8) обеспечивает чередование или RAID 0 * mirror(8) обеспечиват зеркалирование/дуплекс или RAID 1 * graid3(8) обеспечивает чередование с контролем четности или RAID 3 Начальная g указывает на то, что эти утилиты пользуются возможностями, которые предоставляет GEOM. Обратите внимание, что если вы плохо знакомы с RAID, то Webopedia дает хорошее определение каждого уровня RAID. man 4 geom описывает используемые термины, которые включают в себя: * Провайдер -- Этот объект GEOM появляется в /dev. В этой статье рассматривается, как создать провайдер, известный как /dev/mirror/gm0, представляющий mirror/duplex диск. * Потребитель -- Этот объект получает запросы ввода - вывода. В примере mirror/duplex, это - два физических диска. Я использую два IDE диска на отдельных кабелях, обозначенных как /dev/ad0 и /dev/ad2. * Метаданные -- При обращении к любому уровню RAID, метаданные описывают членов массива, их размеры и местоположение, содержат описания логических дисков и разделов, и текущее состояния дискового массива. * mirror/duplex -- RAID 1 содержит одинаковые данные на двух различных дисках. Другими словами, происходит зеркалирование данных одного диска на другой. Если оба диска подключены к одному каналу, то они зеркалированы. Если к разным каналам - то они работают в дуплексном режиме. Поскольку в режиме зеркалирования отказ канала приведет к отказу системы, большинство серверов работают в режиме дуплеска. Конфигурирование зеркалирования/дуплекса Если вы собираетесь сделать RAID 1, то не ищите лишних сложностей, а купите два идентичных (одного производителя и емкости) жестких диска. Вы можете и не последовать этому совету, но тогда столкнетесь с некоторыми сложностями и впустую потратите излишек свободного места на большем диске. Подключите диски как primary master и secondary master. Перед установкой операционной системы проверьте, что ваш CMOS распознает оба диска. Используя ваш любимый инсталляционный метод, запустите установку FreeBSD любой версии (5.3 или выше). Когда Вы принимаетесь за меню Select Drives, то должны увидеть ad0 и ad2. Выберите ad0, поскольку вы будете устанавливать операционную систему на primary master. С помощью утилиты fdisk удалите любые существующие разделы и выберите "Use entire disk". На вопрос о меню загрузки, ответьте "Standard MBR". В редакторе меток диска создайте разделы на ad0 согласно вашим требованиям. Если есть какие-либо сомнения, то выберите автоматический режим. После этого выберите устанавливаемые наборы и тип носителя, после чего установите операционную систему в обычном порядке. Когда установка завершится, установите ваш часовой пояс, создайте учетную запись пользователя, установите пароль root, и так далее. После настройки этих параметров не стоит перезагружаться. Нажмите Alt-F4 для перехода в режим командной строки. Первой командой, которую я ввожу, обычно бывает csh, для того, чтобы у меня была оболочка с историей команд (по умолчанию устанавливается оболочка Bourne). Создание зеркалирования/дублекса осуществляется вводом следующей команды: # gmirror label -v -b round-robin gm0 /dev/ad0 Где gmirror label создает зеркало, функция -v включает режим отладки, -b round-robin выбирает алгоритм балансировки (в настоящее время это наиболее быстродействующий алгоритм), gm0 - имя первого зеркала GEOM и /dev/ad0 указывает на диск, содержащий данные для зеркалирования. Однако, если вы попробуете выполнить эту команду сейчас, то будете разочарованы: # gmirror label -v -b round-robin gm0 /dev/ad0 Can't store metadata on /dev/ad0: Operation not permitted Это особенность защиты, которая указывает, что диск в настоящее время установлен для записи и поэтому недоступен. Однако, вы можете обойти эту проблему цыпленка-и-яйца и временно вынудить gmirror обойти эту меру, чтобы создать зеркалирование/дуплекс, устанавливая sysctl MIB: # sysctl kern.geom.debugflags=16 kern.geom.debugflags: 0 -> 16 Не волнуйтесь, после перезагрузки этот параметр снова примет значение "0". А теперь выполним: # gmirror label -v -b round-robin gm0 /dev/ad0 Metadata value stored on /dev/ad0 Все, теперь у нас есть RAID 1. Так же теперь нам необходимо отредактировать два файла. Первый из них в настоящее время пуст, используем утилиту echo для того, чтобы внести в него необходимый параметр: # echo geom_mirror_load="YES" > /boot/loader.conf Поскольку в файле /etc/fstab у нас уже содержатся некие данные, то лучше сделать его резервную копию. # cp /etc/fstab /etc/fstab.orig # vi /etc/fstab Измените каждый ad на gm и вставьте mirror после /dev. Для примера, /dev/ad0s1a трансформируется в /dev/mirror/gm0s1a. Если вы не делали дополнительные разделы, то у вас будут устройства ad0s1, оканчивающиеся на a, b, d, e и f. Необходимо отредактировать каждую строку. После внесения всех изменений, проверьте эти файлы еще раз. Будет очень обидно, если система не загрузится из-за сделанной опечатки. Обратите внимание, что в некоторых руководствах указано требование к наличию опции swapoff в /etc/rc.conf. Теперь это не является необходимым, так же как и использование shutdown -r now вместо reboot. Теперь, когда вы уверены, что все в порядке, нажмите Alt-F1, извлеките установочный диск и выйдите из утилиты установки. Загрузка в режиме зеркалирования/дуплекса Если вы внимательно смотрите на экран во время начальной загрузки, то должны увидеть следущие строки: GEOM_MIRROR: Device gm0 created (id=2125638583). GEOM_MIRROR: Device gm0: provider ad0 detected. GEOM_MIRROR: Device gm0: provider ad0 activated. GEOM_MIRROR: Device gm0: provider mirror/gm0 launched. GEOM_MIRROR: Device gm0 already configured. Mounting root from ufs:/dev/mirror/gm0s1a После монтирования /dev/mirror/gm0s1a система продолжит загрузку. Если вы допустили опечатку в /etc/fstab, то загрузка остановится и система будет ждать от вас каких-либо действий. Я забыла вставить mirror, когда редактировала /etc/fstab: Mounting root from ufs:/dev/gm0s1a setrootbyname failed ffs_mountroot: can't find rootvp Root mount failed: 6 Manual root filesystem specification: : Mount using filesystem e.g. ufs:da0s1a ? List valid disk boot devices Abort manual input mountroot> К счастью, все не так страшно, как выглядит. Сперва просмотрим доступные дисковые устройства: mountroot> ? List of GEOM managed disk devices: mirror/gm0s1f mirror/gm0s1e mirror/gm0s1d mirror/gm0s1c mirror/gm0s1b mirror/gm0s1a mirror/gm0s1 ad2s1 mirror/gm0 ad0s1 ad2 acd0 ad0 fd0 Если вы укажете правильное расположение корневой файловой системы, то система продолжит загружаться: mountroot> ufs:/dev/mirror/gm0s1a Mounting root from /dev/mirror/gm0s1a После входа в систему, исправьте /etc/fstab и перезагрузитесь, после чего снова войдите в систему и удостоверьтесь, что все файловые системы примонтированы правильно: % df -h Filesystem Size Used Avail Capacity Mounted on /dev/mirror/gm0s1a 248M 35M 193M 15% / devfs 1.0K 1.0K 0B 100% /dev /dev/mirror/gm0s1e 248M 12K 228M 0% /tmp /dev/mirror/gm0s1f 7.3G 99M 6.7G 1% /usr /dev/mirror/gm0s1d 248M 196K 228M 0% /var Утилита df не покажет состояние раздела подкачки, воспользуемся другой: % swapinfo Device 1K-blocks Used Avail Capacity /dev/mirror/gm0s1b 629544 0 629544 0% Синхронизация дисков Единственное, что мы еще не сделали, так это не синхронизировали диски. Это случится автоматически, как только вы вставите второй диск в зеркало: # gmirror insert gm0 /dev/ad2 GEOM_MIRROR: Device gm0: provider ad2 detected. GEOM_MIRROR: Device gm0: rebuilding provider ad2. Смотрите, что случится: # gmirror list | more Geom name: gm0 State: DEGRADED Components: 2 Balance: round-robin Slice: 4096 Flags: NONE GenID: 0 SyncID: 1 ID: 2125638583 Providers: 1. Name: mirror/gm0 Mediasize: 10262568448 (9.6G) Sectorsize: 512 Mode: r6w5e2 Consumers: 1. Name: ad0 Mediasize: 10262568448 (9.6G) Sectorsize: 512 Mode: r1w1e1 State: ACTIVE Priority: 0 Flags: DIRTY GenID: 0 SyncID: 1 ID: 3986018406 2. Name: ad2 Mediasize: 10262568448 (9.6G) Sectorsize: 512 Mode: r1w1e1 State: SYNCHRONIZING Priority: 0 Flags: DIRTY, SYNCHRONIZING GenID: 0 SyncID: 1 Synchronized: 1% ID: 1946262342 Обратите на SYNCHRONIZING в строке Flags. Для синхронизации дисков потребуется некоторое время, в настоящее время синхронизировано 1% данных. Приблизительно, время синхронизации составляет от 30 минут для 10Гб и 2.5 часа для 75Гб дисков. Если вам интересно, то вы можете понаблюдать за процессом: # gmirror status Name Status Components mirror/gm0 DEGRADED ad0 ad2 (2%) Когда синхронизация закончится, вы увидите следующее сообщение: GEOM_MIRROR: Device gm0: rebuilding provider ad2 finished. GEOM_MIRROR: Device gm0: provider ad2 activated. Если вы повторно выполните команду gmirror list, то увидите, что в строке State значение DEGRADED изменилось на COMPLETE. Не волнуйтесь, увидев в строке Flags состояние DIRTY, это означает, что система сделала запись на диск, но еще не синхронизировала данные между дисками, если потождать несколько секунд, не производя никаких дисковых операций, то можно увидеть, как состояние изменится на NONE. В финале действа, перезагрузите систему. Во время загрузки вы должны будете увидеть следущие сообщения: GEOM_MIRROR: Device gm0 created (id=2125638583). GEOM_MIRROR: Device gm0: provider ad0 detected. GEOM_MIRROR: Device gm0: provider ad2 detected. GEOM_MIRROR: Device gm0: provider ad0 activated. GEOM_MIRROR: Device gm0: provider ad2 activated. GEOM_MIRROR: Device gm0: provider mirror/gm0 launched. Mounting root from ufs:/dev/mirror/gm0s1a Заключение Утилиты GEOM находятся в постоянном развитии, разработчики вовсю добавляют новые возможности и постоянно вносят изменения в страницы руководства man. Если вы желаете собрать статистику по производительности вашей системы, то используйте gstat(8), так как хорошая скорость работы через gmirror(8) необходима, особенно в случае неисправности одного из дисков.
Пример настройки gmirror на английском. http://people.freebsd.org/~rse/mirror/ FreeBSD System Disk Mirroring How to establish a RAID-1 for the system partitions Ralf S. Engelschall <[1]rse@FreeBSD.org> Written: 09-Jan-2005, Last Modified: 11-Feb-2005 Problem RAID-1 (mirroring) is a popular approach to protect the system from a harddisk failure. It is either done in hardware or software. The usual hardware solution is to buy a RAID disk controller like the popular 3ware ATA RAID controllers and then not having to deal with any software incompatibilities because the system just sees one large physical disk. The software solution is less expensive and more flexible, but usually makes more trouble during booting. Because an important point in establishing a software RAID-1 for the system disk partitions is whether one can directly boot from the resulting mirror setup without ugly BIOS and/or boot loader tricks. Additionally IMHO it is also important that in case of a major problem with the RAID-1 software driver, one is still able to easily rescue boot from the mirror setup by treating it like a plain disk setup again. Possibilities For software solutions in FreeBSD 5 one can choose between the raw ata(4), the good old ccd(4), the classic vinum(4), the new GEOM Vinum, and the GEOM gmirror(8). Each one has its pros and cons: * ATA: Although the ATA driver's RAID functionality is intended for hardware RAID controllers, it allows for creating an ATA RAID-1 on disks with any controller. This is the most raw approach, is suitable for ATA/IDE drives only and has functional restrictions. * CCD: This is the good old Concatenated Disk Driver (CCD) which provides both Concatenation, RAID-0 (Striping) and RAID-1 (Mirroring). It was converted to use GEOM in FreeBSD 5, but it has less features than GEOM mirror AFAIK. * Classic Vinum: This is the classic Vinum which provides all major RAID levels including RAID-1 and additionally is a full-scale volume manager. Although still existing in FreeBSD 5, is is not using GEOM and especially panics the system if automatically enabled during the system boot. It is no longer feasible to use in FreeBSD 5 IMHO, especially not for mirroring the system disks. * GEOM Vinum: This is the new GEOM Vinum, a functional port and code rewrite of Vinum as a GEOM class. It already provides lots of functionality but is still undocumented and hence IMHO still not really ready for production use in FreeBSD 5. * GEOM Mirror: This is the GEOM Mirror, a dedicated GEOM class for establishing a RAID-1. It is a full-featured from-scratch implementation and IMHO fully ready for production use, at least in FreeBSD 5.3-STABLE as of January 2005. I currently prefer GEOM mirror for establishing such a RAID-1 solution for the system disk partitions because it both provides the possibility to directly boot from the mirror without tricks and is a really clean and modern solution. Additionally, GEOM based solutions can be stacked in an arbitrary way, i.e., the resulting GEOM mirror is just another GEOM "provider" on which one can base any other GEOM "consumers", including GEOM striping (gstripe) or GEOM based disk encryption (gbde). Solution The FreeBSD 5 geom(4) framework is an excellent abstraction layer for disk I/O. The GEOM mirror class is a software RAID-1 implementation which can be used even for establishing a mirror for the system disk partitions. GEOM mirror is very flexible and actually can be established for any GEOM "providers", including whole disks or just particular slices on a disk. Unfortunately each approach has again pros and cons and hence should be carefully understood before using one of them: * GEOM mirror on whole disk: This is straight-forward and obvious and results in having the whole disk mirrored, including its MBR. Unfortunately is works only if the two disks are really equal in size or at least requires that the mirror is established on the smaller disk first and that space is lost on the second disk. Finally, in case of a replacement disk (which usually is a lot larger because available disks expand and expand in size without actually getting a lot more expensive), one completely waste disk space. * GEOM mirror on slices of a disk: This is a little bit less obvious, but provides a lot more flexibility and especially allows the usage of disks of different size plus the possibility to still use (either for a second mirror or as plain partitions) the unused space on the disks. GEOM mirror Approach 1: Whole Disk, Acceptable, Less Flexible The following is a step-by-step command list for remotely converting a production FreeBSD 5.3-STABLE system from a single-disk (ad0) to a two-disk (ad0 & ad1) GEOM mirror (gm0) based setup without the need for console access or Fixit/LiveFS CDROM. The assumption is that the two disks are EQUAL in size or that the second disk is a little bit SMALLER than the first one. # make sure the second disk is treated as a really fresh one # (not really necessary, but makes procedure more deterministically ;-) dd if=/dev/zero of=/dev/ad1 bs=512 count=79 # place a GEOM mirror label onto second disk # (actually on the last block of the disk) gmirror label -v -n -b round-robin gm0 /dev/ad1 # activate GEOM mirror kernel layer # (makes the /dev/mirror/gm0 device available) gmirror load # place a PC MBR onto the second disk # (with a single FreeBSD slice /dev/mirror/gm0s1 covering the whole disk) fdisk -v -B -I /dev/mirror/gm0 # place a BSD disklabel onto /dev/mirror/gm0s1 # (ATTENTION: in FreeBSD 5-STABLE before 14-Jan-2005 the # /dev/mirror/gm0s1 device has to be specified as just "mirror/gm0s1" or # the bsdlabel(8) will use the incorrect GEOM name "gm0s1" instead!) # (NOTICE: figure out what partitions you want with "bsdlabel /dev/ad0" before) # (NOTICE: start "a" partition at offset 16, "c" partition at offset 0) bsdlabel -w -B /dev/mirror/gm0s1 # initialize bsdlabel -e /dev/mirror/gm0s1 # create custom partitions # manually copy filesystem data from first to to second disk # (same procedure for partitions "g", etc) newfs -U /dev/mirror/gm0s1a mount /dev/mirror/gm0s1a /mnt dump -L -0 -f- / | (cd /mnt; restore -r -v -f-) newfs -U /dev/mirror/gm0s1d mount /dev/mirror/gm0s1d /mnt/var dump -L -0 -f- /var | (cd /mnt/var; restore -r -v -f-) newfs -U /dev/mirror/gm0s1e mount /dev/mirror/gm0s1e /mnt/usr dump -L -0 -f- /usr | (cd /mnt/usr; restore -r -v -f-) # adjust new system configuration for GEOM mirror based setup cp -p /mnt/etc/fstab /mnt/etc/fstab.orig sed -e 's/dev\/ad0/dev\/mirror\/gm0/g' </mnt/etc/fstab.orig >/mnt/etc/fstab echo 'swapoff="YES"' >>/mnt/etc/rc.conf # for 5.3-RELEASE only echo 'geom_mirror_load="YES"' >>/mnt/boot/loader.conf # instruct boot stage 2 loader on first disk to boot # with the boot stage 3 loader from the second disk # (mainly because BIOS might not allow easy booting from second ATA disk # or at least requires manual intervention on the console) echo "1:ad(1,a)/boot/loader" >/boot.config # reboot system # (for running system with GEOM mirror on second disk) shutdown -r now # make sure the first disk is treated as a really fresh one # (also not really necessary, but makes procedure more deterministically ;-) dd if=/dev/zero of=/dev/ad0 bs=512 count=79 # switch GEOM mirror to auto-synchronization and add first disk # (first disk is now immediately synchronized with the second disk content) gmirror configure -a gm0 gmirror insert gm0 /dev/ad0 # wait for the GEOM mirror synchronization to complete sh -c 'while [ ".`gmirror list | grep SYNCHRONIZING`" != . ]; do sleep 1; done' # reboot into the final two-disk GEOM mirror setup # (now actually boots with the MBR and boot stages on first disk # as it was synchronized from second disk) shutdown -r now GEOM mirror Approach 2: Single Slice, Preferred, More Flexible The following is a step-by-step command list for remotely converting a production FreeBSD 5.3-STABLE system from a single-disk/single-slice (ad0s1) to a two-disk/single-slice (ad0s1 & ad1s1) GEOM mirror (gm0s1) based setup without the need for console access or Fixit/LiveFS CDROM: # make sure the second disk is treated as a really fresh one # (not really necessary, but makes procedure more deterministically ;-) dd if=/dev/zero of=/dev/ad1 bs=512 count=79 # place a PC MBR onto the second disk # (with a single FreeBSD slice /dev/mirror/gm0s1 as large as the /dev/ad0s1) # either automatically if sizes fit... fdisk -v -B -I /dev/ad1 # ...or manually to make sure the sizes fit: size=`fdisk ad0 | grep ', size ' | head -1 | sed -e 's;^.*size \([0-9]*\).*$;\1;'` # ...and reduce the size by one block because ad0 and ad0s1 else would # share the same last sector which could lead to ad0 be recognized as # the GEOM provider instead of ad0s1. Alternatively, you can keep ad0 # and ad0s1 of the same size and hard-code the ad0s1 GEOM provider by # adding the -h option to the "gmirror label" command below. size=`expr $size - 1` (echo "p 1 165 63 $size"; echo "a 1") | fdisk -v -f- -i /dev/ad1 # place a GEOM mirror label onto first slice of second disk # (actually on the last block of the disk slice) gmirror label -v -n -b round-robin gm0s1 /dev/ad1s1 # activate GEOM mirror kernel layer # (makes the /dev/mirror/gm0s1 device available) gmirror load # place a BSD disklabel onto /dev/mirror/gm0s1 # (ATTENTION: in FreeBSD 5-STABLE before 14-Jan-2005 the # /dev/mirror/gm0s1 device has to be specified as just "mirror/gm0s1" or # the bsdlabel(8) will use the incorrect GEOM name "gm0s1" instead!) # (NOTICE: figure out what partitions you want with "bsdlabel /dev/ad0" before) # (NOTICE: start "a" partition at offset 16, "c" partition at offset 0) bsdlabel -w -B /dev/mirror/gm0s1 # initialize bsdlabel -e /dev/mirror/gm0s1 # create custom partitions # manually copy filesystem data from first to to second disk # (same procedure for partitions "g", etc) newfs -U /dev/mirror/gm0s1a mount /dev/mirror/gm0s1a /mnt dump -L -0 -f- / | (cd /mnt; restore -r -v -f-) newfs -U /dev/mirror/gm0s1d mount /dev/mirror/gm0s1d /mnt/var dump -L -0 -f- /var | (cd /mnt/var; restore -r -v -f-) newfs -U /dev/mirror/gm0s1e mount /dev/mirror/gm0s1e /mnt/usr dump -L -0 -f- /usr | (cd /mnt/usr; restore -r -v -f-) # adjust new system configuration for GEOM mirror based setup cp -p /mnt/etc/fstab /mnt/etc/fstab.orig sed -e 's/dev\/ad0s1/dev\/mirror\/gm0s1/g' </mnt/etc/fstab.orig >/mnt/etc/fstab echo 'swapoff="YES"' >>/mnt/etc/rc.conf # for 5.3-RELEASE only echo 'geom_mirror_load="YES"' >>/mnt/boot/loader.conf # instruct boot stage 2 loader on first disk to boot # with the boot stage 3 loader from the second disk # (mainly because BIOS might not allow easy booting from second ATA disk # or at least requires manual intervention on the console) echo "1:ad(1,a)/boot/loader" >/boot.config # reboot system # (for running system with GEOM mirror on second disk) shutdown -r now # make sure the first disk is treated as a really fresh one # (also not really necessary, but makes procedure more deterministically ;-) dd if=/dev/zero of=/dev/ad0 bs=512 count=79 # place a new PC MBR onto the first disk # (with a single FreeBSD slice /dev/ad0s1 _exactly_ as large as the /dev/ad1s1) size=`fdisk ad1 | grep ', size ' | head -1 | sed -e 's;^.*size \([0-9]*\).*$;\1;'` (echo "p 1 165 63 $size"; echo "a 1") | fdisk -v -B -f- -i /dev/ad0 # switch GEOM mirror to auto-synchronization and add first disk # (first disk is now immediately synchronized with the second disk content) gmirror configure -a gm0s1 gmirror insert gm0s1 /dev/ad0s1 # wait for the GEOM mirror synchronization to complete sh -c 'while [ ".`gmirror list | grep SYNCHRONIZING`" != . ]; do sleep 1; done' # reboot into the final two-disk GEOM mirror setup # (now actually boots with the MBR and boot stages on first disk # as it was synchronized from second disk) shutdown -r now References See the following URLs for further details: * gmirror(8) * geom(4)

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, adil_18 (??), 12:20, 19/12/2005 [ответить]  
  • +/
    cool, tolko takoy vopros, zagruzo4niy razdel zerkaliruetsya, ili net?
     
     
  • 2.2, Kuzmich (??), 13:15, 23/01/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Зеркалятся. Только загрузка всё равно идет с ad0,  а зеркало понимается после загрузки ядра, но до монтирования файловых систем. Если ad0 умирает, то в BIOS надо выставлять зарузку с ad2.
     
     
  • 3.4, citrin (??), 15:15, 08/04/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > Если ad0 умирает, то в BIOS надо выставлять зарузку с ad2.

    Хорошие bios умеют при недоступности первого диска пробовать грузиться со следующих.

     

  • 1.3, Andrew (??), 16:09, 03/07/2006 [ответить]  
  • +/
    echo geom_mirror_load=\"YES\" > /boot/loader.conf
    А то незеработет:)
     
  • 1.5, weldpua2008 (ok), 03:48, 18/12/2007 [ответить]  
  • +/
    Ворпро - а найгрузка на проц какая?
     
  • 1.6, ABC (??), 12:57, 20/08/2008 [ответить]  
  • +/
    Вообще-то, парня, которого переводчик обозвал чудовищным именем "Поэльа Джакаба Доидека" зовут на самом деле Павел Якуб Давидек, он поляк.
     
  • 1.7, Василий (??), 22:20, 30/01/2010 [ответить]  
  • +/
    Сегодня экспериментировал под FreeBSD 8.0 так система нормально загружалась и со второго канала (1-й просто отключал)
     
  • 1.8, Роман (??), 14:32, 14/06/2010 [ответить]  
  • +/
    Очень приятно было читать, а у меня вопрос:

    Я ещё ни разу не делал зеркалирование(дуплекс),

    какие могут быть трудности в процессе создания?

    И ещё :теряется ли скорость чтения/записи на диск
    (если это важно, то стоит web-server)

     
  • 1.9, Роман (??), 14:39, 14/06/2010 [ответить]  
  • +/
    Чуть не забыл, самое интересное: а сколько по времени будут синхронизироваться hardы объемом 1.5 терабайт
     
  • 1.10, khaa (??), 22:07, 14/03/2011 [ответить]  
  • +/
    Человеческое спасибо
    Так как я новичок в Free (до этого Linux) - очень помогла статься. Сделал все очень быстро
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру