Чи можете ви змінити версію метаданих на існуючому масиві?


21

Отже, grub вимагає метаданих версії 0.90 Мені цікаво, чи можу я змінити існуючий масив, щоб використовувати його замість типового значення 1,2. Таким чином, мені не потрібно йти про перевстановлення. Якщо так, то як це зробити?

Відповіді:


5

У GRUB вікі підтверджує:

Крім того, (на 1,96 + 20080724) GRUB може завантажуватися лише з RAID, який використовує суперблок метаданих Версії 0.90 (тобто такий, створений з опцією --metadata = 0.90 для mdadm).

Цікаво, що на сторінці man для mdadm йдеться

-е, --метадані =

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

Я б пересвідчився, mdadm -Q -D <device>щоб бути певним.

Після цього, на якому рівні RAID ви працюєте? Найкращий сценарій, який я можу придумати для дзеркала (RAID 1), був би

  1. Зробіть резервні копії
  2. Відключити масив 0
  3. Видаліть пристрій A з масиву 0 nпристроїв
  4. Нульовий суперблок на пристрої A
  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

1
напевно, пізно для ОП, але ви врятували мене, дякую за вашу відповідь
neofutur

7

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

він може працювати для 0,90 <-> 1,0, що є винятком.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.