Переход с не-raid системы к raid достаточно прост, и состоит из нескольких последовательных шагов, приведенных ниже. Описание приведено для системы с загрузочным, корневым и swap-разделами.
СТАРЫЙ диск в существующей системе: /dev/hda1 загрузочный, возможно dos+loadlin или lilo /dev/hda2 корневой /dev/hda3 swapМы добавим дополнительный диск и преобразуем систему в RAID1. Вы можете легко добавить несколько дисков и сделать RAID5-массив, при помощи подобной процедуры.
Скачайте новое чистое ядро, утилиты raidtools-0.90 (или более новую версию), и патч к ядру, для поддержки raid версии 0.90.
Соберите и установите raidtools и ПРОЧИТАЙТЕ документацию.
Соберите и установите ядро с поддержкой тех видов (0/1/4/5 ?) raid, которые вы будете использовать. Убедитесь в том, что разрешили автозапуск raid-устройств в конфигурации ядра. Удостоверьтесь в том, что ядро нормально загружается и изучите файл /proc/mdstat, чтобы еще раз убедиться в том, что необходимые вам виды 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
Создайте 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
Это достаточно просто и понятно.
cd / # настройте скрипт для того чтобы это сделать cp -a /bin /mnt cp -a /dev /mnt cp -a /etc /mnt cp -a (все каталоги кроме /mnt, /proc, и сетевых дисков) /mntПроцедура может усложниться, если вы подключили или сделали ссылки на другие диски к вашей корневой файловой системе. Пример, приведенный выше, предполагает простую систему, вам, возможно, придется немного изменить процедуру копирования.
Создайте загрузочный флоппи и запустите команду 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-систему. Если вы что-то на этом этапе напутаете без сохранения резервной копии, ВАМ БУДЕТ НЕСЛАДКО!
Если что-то не заработало, перезагрузите вашу старую систему, вернитесь и исправьте все, пока все не будет нормально.
Удачное завершение процедур предыдущего пункта означает, что 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-паре. Пользуйтесь загрузочным флоппи-диском, пока настраиваете и тестируете последний шаг.