Можете ли вы изменить версию метаданных в существующем массиве?

21

Таким образом, grub требует метаданных версии 0.90. Мне интересно, могу ли я изменить существующие массивы, чтобы использовать их вместо значения по умолчанию, равного 1.2. Таким образом, мне не нужно заниматься переустановкой. Если да, как я могу это сделать?

xenoterracide
источник

Ответы:

5

В GRUB вики подтверждает:

Также (по состоянию на 1.96 + 20080724) GRUB может загружаться только с RAID, который использует суперблок метаданных версии 0.90 (т. Е. Тот, который создан с параметром --metadata = 0.90 для mdadm).

Любопытно, что на странице man для mdadm написано

-e, --metadata =

Объявите стиль суперблока (метаданные raid) для использования. Значение по умолчанию - 0,90 для --create и для других операций.

Я бы дважды проверил, mdadm -Q -D <device>чтобы быть уверенным.

После этого какой уровень RAID вы используете? Лучший сценарий для зеркала (RAID 1), который я могу придумать:

  1. Делать резервные копии
  2. Размонтировать массив 0
  3. Удалить устройство A из массива 0 nустройств
  4. Нулевой суперблок на устройстве А
  5. Создайте массив 1, используя устройство A и n-1запасные части, явно используя старый формат суперблока
  6. Повторите для оставшихся B через n-1устройства
  7. (Необязательно) перенумеровать массив

... но очень точно проверьте, что вам абсолютно необходимо пройти через это!

Эндрю
источник
поэтому я подтвердил это давным-давно. Я бегу raid10, f2. очевидно, воссоздание массива было тем, чего я пытался избежать.
ксенотеррацид
Вы пробовали linux-raid at vger.kernel.orgсписок рассылки?
Андрей
странно, что я не получил уведомление об этом. нет я не пробовал Я просто стер это и воссоздал массив. Я собираюсь принять этот ответ с кратким решением: НЕТ или, может быть (нелепо сложно)
ксенотеррацид
16

Эта информация, вероятно, слишком поздно, чтобы помочь ОП, но, возможно, она поможет кому-то еще.

Первая команда стирает суперблоки, а вторая создает новый массив, но предполагает, что устройства чистые. Я только что выполнил это, и все, кажется, в порядке. Я определенно рекомендую сделать резервную копию, прежде чем делать это. У меня не было данных, чтобы потерять и, следовательно, нет целостности, чтобы проверить. Я просто хотел избежать повторной синхронизации 4 часа.

$ mdadm --zero-superblock /dev/sd[a-z]1
$ mdadm --create /dev/md0 --assume-clean \
    --level=10 --raid-devices=10 /dev/sd[a-z]1 --metadata=0.90
Vex Mage
источник
1
вероятно, слишком поздно для ОП, но вы спасли меня, спасибо за ваш ответ
neofutur
7

Создание массива с предполагаемыми чистыми и несовместимыми метаданными, как предложено выше, безусловно, может повредить существующие данные, поскольку блоки метаданных 0,90 и 1,2 отличаются не только по размеру, но и по расположению.

это может работать для 0,90 <-> 1,0, что является исключением.

https://raid.wiki.kernel.org/index.php/RAID_superblock_formats

MASC
источник