Простой способ конвертировать из IMSM в Linux Linux MD?

Я обычно использую Linux-ПО md raid, но допустил ошибку из-за того, что IMSM был "подстроен" на машине, на которой он был предварительно настроен. Fakeraid показалось привлекательным, потому что он без проблем работал как с BIOS, так и с Linux, что облегчало его настройку (например, устанавливал загрузчик только один раз). К сожалению, кажется, что невозможно установить битовую карту с намерением записи с помощью IMSM raid, и поэтому моя машина становится мучительно медленной на 8 часов каждый раз, когда происходит сбой и перезагрузка. (И, к сожалению, я, кажется, страдаю от перебоев в подаче электроэнергии.)

Мой вопрос: есть ли простой способ конвертировать из IMSM fakeraid в программный RAID-массив Linux, не копируя данные куда-либо (поскольку у меня нет другого диска в машине)? В качестве альтернативы, есть ли какой-то способ, которым я еще не обнаружил, добавить битовую карту намерений записи в fakeraid, поэтому мне не нужно перестраивать весь массив RAID после каждой неожиданной перезагрузки?

1 ответ

Команды, которые я использовал для преобразования моего RAID10 из IMSM в программный RAID:

Check which set of the disks:
# mdadm --detail /dev/md/vol0
Number   Major   Minor   RaidDevice State
3       8        0        0      active sync set-A   /dev/sda
2       8       48        1      active sync set-B   /dev/sdd
1       8       16        2      active sync set-A   /dev/sdb
0       8       32        3      active sync set-B   /dev/sdc

Remove set-B:
# mdadm /dev/md126 --fail /dev/sdc
# mdadm /dev/md126 --fail /dev/sdd

# mdadm /dev/md127 --remove /dev/sdc
# mdadm /dev/md127 --remove /dev/sdd

(Optional) Erase filesystem/old RAID info:
# dd if=/dev/zero of=/dev/sdc count=1024
# dd if=/dev/zero of=/dev/sdd count=1024

Create new RAID:
# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 missing /dev/sdc missing /dev/sdd

Create new filesystem:
# mkfs.ext4 /dev/md0
Remember filesystem UUID
# mkdir -p /mnt/1
# mount /dev/md0 /mnt/1
Copy data:
# rsync -avux --progress --delete /mnt/raid/ /mnt/1

Edit fstab (change UUID of RAID filesystem to remembered):
# vim /etc/fstab

Synchronize changes while was long copy:
# rsync -avux --progress --delete /mnt/raid/ /mnt/1

=== Here if RAID filesystem is on / also needed bootloader setup. ===

Remount filesystem as readonly:
# mount -f -o ro,remount /mnt/raid

And again synchronize:
# rsync -avux --progress --delete /mnt/raid/ /mnt/1

# reboot
# mdadm --stop /dev/md126
# mdadm --stop /dev/md127
# mdadm /dev/md125 --add /dev/sda /dev/sdb
Другие вопросы по тегам