1

Я настроил свой настольный компьютер на использование программного raid 0 в Ubuntu при первой настройке. Поскольку оказывается, что восстановление с обновлением Ubuntu (которое всегда ломает вещи) с /dev /md0 сложнее, чем /dev /sda1, я думал попытаться отменить его. Есть ли способ сделать раздел-член raid0 разделом ext3, не копируя все заново и не перезаписывая grub, initrd и все такое?

1 ответ1

2

Поскольку данные в RAID 0 распределяются по всем дискам, практически нет простого способа конвертировать любой из дисков в любую другую файловую систему. Конец истории.


Это может быть, если ваш RAID-массив имеет достаточно свободного места и вы используете разделы для массива, а не весь диск (то есть /dev/sda1 , а не /dev/sda).

Возможно, вы сможете сначала сжать массив, создав простые файловые системы ext3 в конце дисков, если у вас будет более половины свободного массива. После того, как вы избавитесь от RAID 0, вам все равно придется копировать данные пару раз, чтобы получить полноразмерные разделы ext3 на дисках.

Итак, чтобы следовать совершенно непроверенной идее:

  • загрузиться в систему восстановления (например, Ubuntu Live CD работает нормально)
  • активировать необходимые модули

    modprobe md multipath raid0 (что-то еще ..?)

  • активировать массив RAID

    cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.backup
    mdadm --examine --scan >> /etc/mdadm/mdadm.conf
    mdadm -A --scan

  • проверить фс

    e2fsck -f /dev/md0

  • сжать фс

    resize2fs /dev/md0 30G [оставляя достаточно места в зависимости от используемого дискового пространства, здесь <30G!])

  • сжать массив RAID

    mdadm --grow /dev/md0 --size=36700160 (размер в КиБ: 35 * 1024 ^ 2 [здесь тоже оставьте место!])

  • увеличить фс до максимального размера

    resize2fs /dev/md0

  • снова запустите fs check (чтобы быть уверенным)

    e2fsck -f /dev/md0

Теперь у вас есть RAID 0 в начале дисков и свободное место в конце. Здесь вам может понадобиться использовать fdisk для сжатия раздела RAID и создания новых разделов для ext3.

Тогда ты можешь

  • сделать нормальный фс в свободном дисковом пространстве

    mke2fs ... (как хочешь)

  • скопировать данные из RAID в ext3

    cp ...

  • удалить массив RAID

    sudo umount /dev/md0 sudo mdadm --stop /dev/md0 (остановить массив)
    sudo mdadm --zero-superblock /dev/sdx /dev/sdy ... (очистить суперблоки каждого диска в массиве!)
    sudo mdadm --remove /dev/md0 (удалить массив)

  • сделать ext3 в начало одного из дисков

    mke2fs ...

  • скопировать данные с одного из дисков

  • сделать один раздел на диск, сделать на нем ext3 fs

  • скопировать данные обратно на полный диск фс

  • повторите для всех оставшихся дисков (перебирая данные, пока на половинных дисках RAID-half ext3 не останется никаких данных)

Обратите внимание, что я не проверял эту процедуру, и вы должны сделать полную резервную копию ваших данных! (Как всегда при выполнении чрезмерных операций с диском.) Кроме того, операции с fdisk обычно требуют перезагрузки, поэтому вы должны всегда внимательно следить за состоянием вашей системы.

В общем, я думаю, что гораздо проще просто сделать новую установку на ext3 и скопировать данные с RAID 0.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .