Next Previous Contents

4. Переход с не-raid на RAID1/4/5

Переход с не-raid системы к raid достаточно прост, и состоит из нескольких последовательных шагов, приведенных ниже. Описание приведено для системы с загрузочным, корневым и swap-разделами.

СТАРЫЙ диск в существующей системе:

    /dev/hda1     загрузочный, возможно dos+loadlin или lilo
    /dev/hda2     корневой
    /dev/hda3     swap
Мы добавим дополнительный диск и преобразуем систему в RAID1. Вы можете легко добавить несколько дисков и сделать RAID5-массив, при помощи подобной процедуры.

4.1 Шаг 1 - готовим новое ядро

Скачайте новое чистое ядро, утилиты raidtools-0.90 (или более новую версию), и патч к ядру, для поддержки raid версии 0.90.

Соберите и установите raidtools и ПРОЧИТАЙТЕ документацию.

Соберите и установите ядро с поддержкой тех видов (0/1/4/5 ?) raid, которые вы будете использовать. Убедитесь в том, что разрешили автозапуск raid-устройств в конфигурации ядра. Удостоверьтесь в том, что ядро нормально загружается и изучите файл /proc/mdstat, чтобы еще раз убедиться в том, что необходимые вам виды raid поддерживаются ядром.

4.2 Шаг 2 - настраиваем raidtab для вашего нового raid-а.

Новый диск будет добавлен на второй IDE-контроллер как главное устройство, поэтому станет /dev/hdc

    /dev/hdc1     16 Мб -- более чем достаточно для нескольких ядер
    /dev/hdc2     большая часть диска
    /dev/hdc3     еще немного swap-пространства, если необходимо. Если нет, увеличьте /dev/hdc2

Измените виды разделов /dev/hdc1 и /dev/hdc2 на вид "fd" для автозапуска raid.

Используя параметр failed-disk, создайте raidtab для необходимой конфигурации RAID1. Этот параметр (failed disk) должен быть последним в таблице.

# пример raidtab
# md0 - это корневой массив
raiddev                 /dev/md0
raid-level              1
nr-raid-disks           2
chunk-size              32
# Свободные диски для реконструкции данных "на-ходу"
nr-spare-disks          0
persistent-superblock   1
device                  /dev/hdc2
raid-disk               0
# это наш старый диск, временно пометим его как отказавший
device                  /dev/hda2
failed-disk             1

# md1 - это загрузочный /boot массив
raiddev                 /dev/md1
raid-level              1
nr-raid-disks           2
chunk-size              32
# Свободные диски для реконструкции данных "на-ходу"
nr-spare-disks          0
persistent-superblock   1
device                  /dev/hdc1
raid-disk               0
# boot также пометим сломанным
device                  /dev/hda1
failed-disk               1

4.3 Создаем, форматируем и настраиваем RAID

Создайте md-устройства следующими командами:

    mkraid /dev/md0
    mkraid /dev/md1

Raid-устройства должны быть созданы, и запущены. Изучите /proc/mdstat, там должны быть указаны виды raid-устройств, поддерживаемые ядром, а также список работающих raid-устройств.

Отформатируйте загрузочное и корневое устройства командами:

    mke2fs /dev/md0
    mke2fs /dev/md1
Подключите новое корневое устройство туда, куда удобно, создайте в нем каталог /boot и подключите туда загрузочный раздел:

    mount /dev/md0 /mnt
    mkdir /mnt/boot
    mount /dev/md1 /mnt/boot

4.4 Копируем текущую ОС на новое raid-устройство

Это достаточно просто и понятно.

    cd /
    # настройте скрипт для того чтобы это сделать
    cp -a /bin /mnt
    cp -a /dev /mnt
    cp -a /etc /mnt
    cp -a (все каталоги кроме /mnt, /proc, и сетевых дисков) /mnt
Процедура может усложниться, если вы подключили или сделали ссылки на другие диски к вашей корневой файловой системе. Пример, приведенный выше, предполагает простую систему, вам, возможно, придется немного изменить процедуру копирования.

4.5 Проверяем ваш новый RAID

Создайте загрузочный флоппи и запустите команду rdev для ядра.

    dd if=kernal.image of=/dev/fd0 bs=2k
    rdev /dev/fd0 /dev/md0
    rdev -r /dev/fd0 0
    rdev -R /dev/fd0 1

Измените файл fstab на RAID-устройстве для отражения новых точек подключения, как указано ниже:

  /dev/md0        /       ext2    defaults        1 1
  /dev/md1        /boot   ext2    defaults        1 1

Отключите raid-устройства и перезагрузите систему, чтобы убедиться в том, что все работает правильно.

    umount /mnt/boot
    umount /mnt
    raidstop /dev/md0
    raidstop /dev/md1
    shutdown -r now

Ваша RAID-система должна загрузиться и работать в сокращенном (degraded) режиме с загрузочным флоппи-диском. Аккуратно проверьте, что вы скопировали ВСЕ на вашу новую raid-систему. Если вы что-то на этом этапе напутаете без сохранения резервной копии, ВАМ БУДЕТ НЕСЛАДКО!

Если что-то не заработало, перезагрузите вашу старую систему, вернитесь и исправьте все, пока все не будет нормально.

4.6 Интегрируем старый диск в raid-массив

Удачное завершение процедур предыдущего пункта означает, что raid-массив работает, но пока без излишеств. Теперь надо переделать разделы старого диска (дисков) для того, чтобы добавить его в raid-массив. Запомните, если геометрии дисков разные, то размер раздела на старом диске должен быть равен или больше размеров raid-разделов, а иначе их нельзя будет добавить в raid-массив.

Переделайте нужным образом разделы на старом диске, например:

    /dev/hda1     равен или больше /dev/hdc1
    /dev/hda2     равен или больше /dev/hdc2
    /dev/hda3     нечто, оставшееся под swap или что-то еще...

Смените параметр failed-disk в raidtab на raid-disk и добавьте новые (старые) разделы к raid-массиву, что называется "на ходу" (hot add).

    raidhotadd /dev/md1 /dev/hda1
    raidhotadd /dev/md0 /dev/hda2
В файле /proc/mdstat должны теперь появиться одно или более raid-устройств, перестраивающих данные для новых разделов. Через минуту или две...или несколько, raid-массивы должны быть полностью синхронизированы (эта процедура может занять длительное время для больших разделов).

Использование вышеописанной процедуры настроит загружаемый raid на новой raid-паре. Пользуйтесь загрузочным флоппи-диском, пока настраиваете и тестируете последний шаг.


Next Previous Contents

Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости