Я изменил код ext2fs для способности поддерживать много устройств
вместо обычного предположения - одно устройство на файловую
систему.
Итак, когда вы хотите расширить файловую систему,
вы запускаете служебную программу, которая делает необходимые
изменения на новом устройстве (вашем дополнительном разделе) и
затем, Вы только говорите системе
расширить файловую систему используя указанное устройство.
Вы можете расширить файловую систему новым устройством во время
работы системы, без остановки (и когда есть свободное время,
вы можете удалить удалить устройства из ext2 набора, снова без
необходимости переходить в однопользовательский режим или
любого подобного хака).
Вы можете получить патч для ядра 2.1.x с моей web страницы:
О:
Сейчас (сентябрь 1997) - нет, нельзя без стирания всех данных.
Утилита преобразования, позволяющая это делать еще не существует.
Проблема в том, что структура и размещение массива RAID-5 зависит от
количества дисков в массиве.
Конечно, вы можете добавить диски заархивировав массив на ленте,
удалив все данные, создав новый массив, и восстановив данные с ленты.
В:
Что случится с моим RAID1/RAID0 набором, если я сдвину одно устройство
с /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
то новая конфигурация *должна* быть
mdadd /dev/md0 /dev/hda /dev/hdc
Для RAID-1/4/5, ''RAID число'' диска хранится в суперблоке
RAID, и следовательно порядок в котором диски
указаны не важен.
RAID-0/linear не содержит суперблока из-за своего старого дизайна,
и желания сохранить обратную совместимость со старым дизайном.
В:
Могу я преобразовать двух-дисковое зеркало RAID-1 в трех-дисковый массив RAID-5?
О:
Да. 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
Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!