О: Miguel de Icaza < miguel@luthien.nuclecu.unam.mx> написал:Я изменил код ext2fs для способности поддерживать много устройств вместо обычного предположения - одно устройство на файловую систему.Итак, когда вы хотите расширить файловую систему, вы запускаете служебную программу, которая делает необходимые изменения на новом устройстве (вашем дополнительном разделе) и затем, Вы только говорите системе расширить файловую систему используя указанное устройство.
Вы можете расширить файловую систему новым устройством во время работы системы, без остановки (и когда есть свободное время, вы можете удалить удалить устройства из ext2 набора, снова без необходимости переходить в однопользовательский режим или любого подобного хака).
Вы можете получить патч для ядра 2.1.x с моей web страницы:
http://www.nuclecu.unam.mx/~miguel/ext2-volume
О: Сейчас (сентябрь 1997) - нет, нельзя без стирания всех данных. Утилита преобразования, позволяющая это делать еще не существует. Проблема в том, что структура и размещение массива RAID-5 зависит от количества дисков в массиве. Конечно, вы можете добавить диски заархивировав массив на ленте, удалив все данные, создав новый массив, и восстановив данные с ленты.
/dev/hdb
на /dev/hdc
?
Из-за глупых кабельно/корпусно/размерных дурацких решений, я создал
мой RAID набор на одном IDE контроллере (/dev/hda
и /dev/hdb
). Сейчас я усвоил несколько вещей, я хочу
перейти от /dev/hdb
к /dev/hdc
.
Что должно случиться, если я просто сменю /etc/mdtab
и
/etc/raid1.conf
файлы для отображения нового положенияe?
О: Для RAID-0/linear, нужно только осторожно указать диски в том-же порядке. Тикам образом, в выше приведенном примере, если оригинальная конфигурациято новая конфигурация *должна* быть
mdadd /dev/md0 /dev/hda /dev/hdbДля RAID-1/4/5, ''RAID число'' диска хранится в суперблоке RAID, и следовательно порядок в котором диски указаны не важен. RAID-0/linear не содержит суперблока из-за своего старого дизайна, и желания сохранить обратную совместимость со старым дизайном.
mdadd /dev/md0 /dev/hda /dev/hdc
О: Да. Michael из BizSystems нашел хитрый способ сделать это. Однако фактически, подобно всем манипуляциям с RAID массивами содержащими данные, это опасно и склонно к человеческим ошибкам. Перед началом сделайте резервную копию данных.Я сделаю следующие допущения: --------------------------------------------- диски изначально: hda - hdc raid1 разделы hda3 - hdc3 имя массива /dev/md0 новые hda - hdc - hdd raid5 разделы hda3 - hdc3 - hdd3 имя массива: /dev/md1 Вы должны заменить соответствующие номера дисков и разделов для Вашей конфигурации системы. Это справедливо для всех примеров конфигурационных файлов. -------------------------------------------- СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ПЕРЕД ТЕМ, КАК ЧТО-ЛИБО ДЕЛАТЬ 1) перекомпилируйте ядро для включения и raid1 и raid5 2) инсталируте новое ядро и проверьте наличие личных свойств raid 3) отключите избыточный раздел на массиве raid 1. Если это раздел смонтирован как root (как у меня), Вы должны быть осторожны. Перегрузите компьютер без запуска raid устройств или загрузитесь с восстановительной системы ( там должны иметься raid утилиты ) запустите не избыточный raid1 mdadd -r -p1 /dev/md0 /dev/hda3 4) сконфигурируйте raid5 но с таким конфигурационным файлом, заметьте, что здест нет записи hda3, а hdc3 повторяется. Это необходимо, так как raid утилиты не хотят, чтобы Вы это делали. ------------------------------- # конфигурация raid-5 raiddev /dev/md1 raid-level 5 nr-raid-disks 3 chunk-size 32 # Алгоритм размещения паритета parity-algorithm left-symmetric # Резервные диски для горячей реконструкции nr-spare-disks 0 device /dev/hdc3 raid-disk 0 device /dev/hdc3 raid-disk 1 device /dev/hdd3 raid-disk 2 --------------------------------------- mkraid /etc/raid5.conf 5) активируйте массив raid5 в не избыточном режиме mdadd -r -p5 -c32k /dev/md1 /dev/hdc3 /dev/hdd3 6) создайте файловую систему на массиве mke2fs -b {blocksize} /dev/md1 рекомендуемый размер блока 4096, в отличие от стандартных 1024. Это увеличит использование памяти для процедур kernel raid и сделает размер блока равным размеру страницы. Так как у меня много небольших файлов в моей системе, я использую компромиссное значение 2048. 7) смонтируйте где-то два устройства raid mount -t ext2 /dev/md0 mnt0 mount -t ext2 /dev/md1 mnt1 8) переместите данные cp -a mnt0 mnt1 9) проверьте идентичность данных 10) остановите оба массива 11) откорректируйте информацию в файле raid5.conf замените /dev/md1 на /dev/md0 замените первый диск для чтения /dev/hda3 12) обновите новый массив до полного избыточного состояния (ЭТО РАЗРУШИТ ОСТАВШУЮСЯ НА raid1 ИНФОРМАЦИЮ) ckraid --fix /etc/raid5.conf