BASH Programming - Введение



                


Установка и установочные соображения - часть 7


mdadd /dev/md0 /dev/hda1 /dev/hdc1 { rm -f /fastboot # force an fsck to occur ckraid --fix /etc/raid.usr.conf mdadd /dev/md0 /dev/hda1 /dev/hdc1 } # if a crash occurs later in the boot process, # we at least want to leave this md in a clean state. /sbin/mdstop /dev/md0

mdadd /dev/md1 /dev/hda2 /dev/hdc2 { rm -f /fastboot # force an fsck to occur ckraid --fix /etc/raid.home.conf mdadd /dev/md1 /dev/hda2 /dev/hdc2 } # if a crash occurs later in the boot process, # we at least want to leave this md in a clean state. /sbin/mdstop /dev/md1

mdadd /dev/md0 /dev/hda1 /dev/hdc1 mdrun -p1 /dev/md0 if [ $? -gt 0 ] ; then rm -f /fastboot # force an fsck to occur ckraid --fix /etc/raid.usr.conf mdrun -p1 /dev/md0 fi # if a crash occurs later in the boot process, # we at least want to leave this md in a clean state. /sbin/mdstop /dev/md0

mdadd /dev/md1 /dev/hda2 /dev/hdc2 mdrun -p1 /dev/md1 if [ $? -gt 0 ] ; then rm -f /fastboot # force an fsck to occur ckraid --fix /etc/raid.home.conf mdrun -p1 /dev/md1 fi # if a crash occurs later in the boot process, # we at least want to leave this md in a clean state. /sbin/mdstop /dev/md1

# OK, just blast through the md commands now. If there were # errors, the above checks should have fixed things up. /sbin/mdadd /dev/md0 /dev/hda1 /dev/hdc1 /sbin/mdrun -p1 /dev/md0

/sbin/mdadd /dev/md12 /dev/hda2 /dev/hdc2 /sbin/mdrun -p1 /dev/md1

В дополнение к указанному, Вы должны создать rc.raid.halt, который должен выглядеть как показано ниже:

/sbin/mdstop /dev/md0 /sbin/mdstop /dev/md1

Модифицируйте оба rc.sysinit и init.d/halt для включения этого в место, где файловая система уже демонтирована при halt/reboot. (Заметьте что rc.sysinit демонтирует и перезагружает если fsck

завершился с ошибкой.)

  • В: Могу я установить одну половину RAID-1 зеркала на один диск, который есть у меня сейчас и затем позже взять другой диск и просто его добавить?

    О: С текущими утилитами - нет, во всяком случае не простым способом. В частности, вы не можете просто скопировать содержимое одного диска на другой и затем их спаровать. Это потому, что драйвера RAID используют часть пространства в конце раздела для размещения суперблока. Это слегка уменьшает количество пространства, доступного для файловой системы; если Вы просто попробуете принудительно поставить RAID-1 на раздел с существующей файловой системой, raid суперблок перезапишет часть файловой системы и обрубит данные. Так как ext2fs файловая система разбрасывает фалы по разделу случайным образом (для избежания фрагментации), есть хороший шанс, что файл будет лежать в самом конце раздела перед окончанием диска.

  • Если Вы сообразительны, я предлагаю Вам вычислить сколько места нужно под суперблок RAID, и сделать вашу файловую систему немного короче, оставив место на перспективу. Но тогда, если вы такой умный, Вы должны также быть способны модифицировать утилиты для автоматизации этого процесса. (Утилиты не так уж сложны).

    Заметка: Внимательный читатель заметит, что следующий трюк может сработать; я не пытался проверить это: Сделайте mkraidс /dev/null, как одним из устройств. Тогда mdadd -rс только одним, истинным диском (не делайте mdadd /dev/null). mkraid

    должен быть успешно создать raid массив, когда mdadd шаг выполняется - файловая система запущена в "деградированном" режиме, как если бы один из дисков отказал.




    Содержание  Назад  Вперед