Я хотел бы иметь следующую настройку raid1 (зеркало):
/dev/md0 consists of /dev/sda and /dev/sdb
Я создал это устройство raid1, используя
mdadm --create --verbose /dev/md0 --auto=yes --level=1 --raid-devices=2 /dev/sda /dev/sdb
Это дало предупреждение о метаданных 1.2, и моя система может не загружаться. Я не могу использовать 0,9, потому что он ограничивает размер рейда до 2 ТБ, и я предполагаю, что grub, поставляемый с последним Debian (squeeze), должен быть в состоянии обрабатывать метаданные 1.2.
Итак, я создал необходимые разделы, как это:
# creating new label (partition table)
parted -s /dev/md0 mklabel 'msdos'
# creating partitions
sfdisk -uM /dev/md0 << EOF
0,4096
,1024,S
;
EOF
# making root filesystem
mkfs -t ext4 -L boot -m 0 /dev/md0p1
# making swap filesystem
mkswap /dev/md0p2
# making data filesystem
mkfs -t ext4 -L data /dev/md0p3
Затем я смонтировал корневой раздел, скопировал минимальную установку Debian внутрь и временно смонтировал / dev / proc / sys. После этого я привязался к новой корневой папке и выполнил:
grub-install --no-floppy --recheck /dev/md0
Однако это плохо с:
/ usr / sbin / grub-probe: ошибка: неизвестная файловая система. Автоопределение файловой системы / dev / md0p1 не удалось. Пожалуйста, сообщите об этом вместе с выводом "/ usr / sbin / grub-probe --device-map = / boot / grub / device.map --target = fs -v / boot / grub" для
Я не думаю, что это ошибка в grub (поэтому я еще не сообщал об этом), но моя вина. Поэтому мне действительно интересно, как правильно настроить мой raid1, все, что я до сих пор пробовал, не удалось.
источник
Я не думаю, что это хорошая идея создавать разделы на рейде. Лучшим подходом было бы создать разделы на каждом устройстве и затем создать рейды соответственно.
Кроме того, создайте 2 загрузочных раздела одинакового размера (точно так же, как разделы raid должны совпадать по размеру), которые не будут частью raid, и убедитесь, что они точно такие же, чтобы система могла загрузиться с любого из них.
Я также предпочитаю отдельные разделы для обычных мест, таких как / var, / tmp, / usr, / home и т. Д.
Например:
Создайте рейды из каждого раздела, кроме первого. Например:
и так далее.
Затем назначьте / boot для / dev / sda1 и убедитесь, что MBR сохранена в / dev / sda и / dev / sdb. Как только вся система будет установлена, вы делаете это (bs = 500M сильно ускорит дд, настройте 500M примерно на 2/3 памяти вашей системы):
Теперь, пока bios будет пытаться загрузиться с любого диска, в случае сбоя одного из дисков система будет автоматически загружаться с другого диска, потому что идентификаторы UUID точно такие же. Не забывайте иногда повторять команду dd, если / boot изменился, скажем, с обновлением ядра.
Вы хотите проверить это, изменив приоритет загрузки BIOS. И если вам повезет, проверьте это, вынув один диск :-)
Это будет работать и с raid10, я сделал это как с raid1, так и с raid10, даже с raid10 с 3 дисками (что на самом деле возможно с mdadm).
Кстати, вы должны использовать загрузочный раздел, который не является частью рейда, потому что иначе ваша система не сможет загрузиться. Должен быть способ запуска рейда, и, поскольку это мягкий страх, сначала нужно загрузить ядро для того, чтобы рейд был повторен.
источник
Есть
sudo update-grub
. Есть вероятность, что вы/boot/grub/device.map
не в курсе, и ошибка для устаревшей карты устройства такая же.источник