Після перезавантаження зникне новий mdadm RAID


1

У мене проблеми з mdadm після перезавантаження, я не можу зібрати /dev/md0.

Я працюю на Debian хрипі.

Я зробив такі кроки:

sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sd[b-e]
cat /proc/mdstat
sudo mdadm --readwrite /dev/md0
sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf
echo check > /sys/block/md0/md/sync_action
sudo pvcreate /dev/md0
sudo pvdisplay
sudo vgcreate vgraid6 /dev/md0
sudo lvcreate -l 100%FREE -n lvHD vgraid6
sudo mkfs.ext4 -v /dev/vgraid6/lvHD

Тут все успішно працює.

Після монтажу RAID я міг його використовувати, створювати файли, отримувати доступ до нього з інших ПК ...

Тепер виникає проблема:

Після перезавантаження сервера (перезавантаження зараз) RAID більше не існує, /dev/md0його немає.

Спочатку я перевірив /etc/mdadm/mdadm.conf:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
#DEVICE partitions containers
...
CREATE owner=root group=disk mode=0660 auto=yes
MAILADDR root
ARRAY /dev/md0 metadata=1.2 name=media:0 UUID=cb127a0b:ad4eb61d:e0ba8f82:db4b062d

Після того як я спробую:

$ mdadm --stop --scan
$ mdadm --assemble --scan

або:

$ sudo  mdadm --assemble /dev/md0 /dev/sd[b-e]
    mdadm: Cannot assemble mbr metadata on /dev/sdb
    mdadm: /dev/sdb has no superblock - assembly aborted


$ sudo  mdadm --examine /dev/sd[b-e]
/dev/sdb:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
/dev/sdc:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
/dev/sdd:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)
/dev/sde:
   MBR Magic : aa55
Partition[0] :   4294967295 sectors at            1 (type ee)

Демон mdadm працює ( ps aux | grep mdadm)

порожній / proc / mdstat

$ cat /proc/mdstat
Personalities :
unused devices: <none>

Що не так?

Відповіді:


12

Причина двояка:

  • Ваш час (новий)mdadm.conf не читається до моменту збирання масивів.

    Це відбувається тому, що це встановлено до встановлення вашої кореневої файлової системи (очевидно, що для доступу до неї потрібно мати робочий RAID-пристрій), тому цей файл зчитується із зображення initramfs, що містить так зване середовище перед завантаженням.

    Отже, щоб зробити цю роботу після оновлення конфігурації, запустіть

    # update-initramfs -u
    

    щоб оновити initramfs.

  • Ваш пристрій RAID не відкривається та не збирається автоматично під час завантаження.

    Для цього змініть типи розділів-учасників на 0xfd(Linux RAID autodetect) - для таблиць розділів у стилі MBR або на 00FD(те саме) для GPT. Ви можете використовувати fdiskабо gdisk, відповідно, для цього.

    mdadmзапускається під час завантаження (від initramfs), сканує доступні розділи, зчитує блоки метаданих з усіх типів, що мають тип 0xfdта збирає, та запускає всі RAID-пристрої, на які він здатний. Для цього не потрібна копія оновленого mdadm.confзображення у програмі initramfs.

Якому методу віддати перевагу, залежить від вас. Мені особисто подобається другий, але якщо у вас трапляється кілька (безліч) RAID-пристроїв і хочете лише запустити кілька з них під час завантаження (потрібно мати робочу кореневу файлову систему), а решту активувати пізніше, перший підхід або комбінація з них - це шлях.


Це має бути прийнятою відповіддю.
судо

Якщо у відповідь припустити кілька рейдових пристроїв, який підхід до "активації решти пізніше"?
laang

@liang, ядро ​​виведе решту рейдових пристроїв службою init як частину "нормальної" завантаження системи (тобто, що відбувається після початкової послідовності завантаження - тієї, що включає initramfs - завершена).
kostix

@liang, IOW, єдине, що потрібно зробити "середовищу раннього завантаження" - це створити ті RAID-пристрої, які містять ОС. Решту може зробити сама ОС, коли процес завантаження передається їй.
kostix

0

Дякую за відповідь

Я вже намагався оновити initranfd, але без успіху.

За допомогою вашої другої поради я вирішую проблему:

створити розділ на кожному диску за допомогою:

gdisk /dev/sd[b-e] \n \ \fd00\w\y

створити mdadm на розділі або на пристрої (позначте 1 в кінці)

sudo mdadm --create --verbose /dev/md0 --level=6 --assume-clean --raid-devices=4 /dev/sd[b-e]1

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