У меня есть проблема, с которой я бы предпочел справиться с массивом в Интернете - я использую RAID0 для временного хранения видео - данные, которые не требуют больших затрат на восстановление, но которые используются часто.
Программный массив выглядит так:
md1 : active raid0 sdb1[2] sdc1[3] sdd1[0] sde1[1]
1953487616 blocks 64k chunks
У меня есть еще один раздел (sda1) в этой системе, который я хочу использовать для замены sdc1 (диски разного возраста, а sdc1 определенно самый медленный, что ограничивает скорость последовательного чтения всего массива до 300 МБ / с).
Есть ли способ перенести данные с sdc1 на sda1, пока массив все еще находится в сети?
Вы не сможете сделать это онлайн, потому что RAID-0 полностью неспособен обрабатывать сбои, а система md зависит от сбоев при запуске перестроек на запасные компоненты. Невозможно сказать "пожалуйста, используйте этот устройство вместо который устройство "без слов"который устройство вышло из строя », что, конечно же, вызовет проблемы с вашим массивом RAID-0.
По этой причине я бы рекомендовал использовать LVM и чередование вместо md для массивов RAID-0. Он имеет гораздо лучший набор инструментов для управления подобными устройствами. Однако я бы все равно использовал md для любого другого уровня RAID.
Нет, вы не можете заменить диск raid0, пока массив находится в сети. Но вы можете сделать это после остановки рейда (я просто временно закомментировал содержимое моего /etc/mdadm.conf и перезагрузился). Пока raid отключен, вы можете просто скопировать весь диск с неисправного на новый с помощью утилиты "dd" cmdline. После клонирования раскомментировать содержимое /etc/mdadm.conf назад, тогда неисправность, ОТКЛЮЧИТЕ НЕИСПРАВНЫЙ ДИСК (!) И загрузитесь снова.
Обычно выполнение чего-либо подобного с RAID 0 требует перестройки массива с нуля.
Это мощь можно будет обновить свой RAID 0 до RAID 5, а затем выдернуть sdc1, оставив вам деградированный RAID 5.