Почему md raid не собирается после перезагрузки?
Я пытаюсь настроить Intel RAID. Проблема у меня в том, что после перезагрузки рейд недоступен.
Это шаги, которые я выполняю, чтобы настроить Intel RAID с помощью команды mdadm. Я следовал за шагами на http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/rst-linux-paper.pdf.
$ sudo mdadm --detail-platform
Platform : Intel(R) Matrix Storage Manager
Version : 12.0.0.1783
RAID Levels : raid0 raid1 raid10 raid5
Chunk Sizes : 4k 8k 16k 32k 64k 128k
2TB volumes : supported
2TB disks : supported
Max Disks : 6
Max Volumes : 2 per array, 4 per controller
I/O Controller : /sys/devices/pci0000:00/0000:00:1f.2 (SATA)
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
$ sudo mdadm --create /dev/md/imsm /dev/sd[b-c] -n 2 -e imsm
mdadm: container /dev/md/imsm prepared.
$ sudo mdadm --create /dev/md/vol0 /dev/md/imsm -n 2 -l 1
mdadm: cannot open device: 11:0
mdadm: array /dev/md/vol0 started.
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md126 : active raid1 sdc[1] sdb[0]
1953511424 blocks super external:/md127/0 [2/2] [UU]
[>....................] resync = 0.4% (8213824/1953511424) finish=192.8min speed=168142K/sec
md127 : inactive sdc[1](S) sdb[0](S)
2210 blocks super external:imsm
unused devices: <none>
$ sudo mdadm --examine --scan --config=mdadm.conf
ARRAY metadata=imsm UUID=1b6e3d9e:e14f7906:38f86e54:1f85cdcd
ARRAY /dev/md/vol0 container=1b6e3d9e:e14f7906:38f86e54:1f85cdcd member=0 UUID=546b601a:ccfa6f04:2cc1d0f5:aa05edc2
$ sudo vi /etc/mdadm/mdadm.conf
$ cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
MAILADDR root
# definitions of existing MD arrays
ARRAY metadata=imsm UUID=1b6e3d9e:e14f7906:38f86e54:1f85cdcd
ARRAY /dev/md/vol0 container=1b6e3d9e:e14f7906:38f86e54:1f85cdcd member=0 UUID=546b601a:ccfa6f04:2cc1d0f5:aa05edc2
= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
Затем я перезагрузился здесь с рабочим рейдом
= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
$ sudo mdadm --assemble --scan
mdadm: Container /dev/md/imsm0 has been assembled with 2 drives
mdadm: Started /dev/md/vol0 with 2 devices
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md126 : active raid1 sdb[1] sdc[0]
1953511424 blocks super external:/md127/0 [2/2] [UU]
[>....................] resync = 4.0% (78945280/1953511424) finish=30274.0min speed=1024K/sec
md127 : inactive sdc[1](S) sdb[0](S)
6306 blocks super external:imsm
unused devices: <none>
Таким образом, после запуска команды сборки, рейд доступен, но почему его нет после перезагрузки по умолчанию?
Система работает;
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.10
DISTRIB_CODENAME=saucy
DISTRIB_DESCRIPTION="Ubuntu 13.10"
$ uname -a
Linux mdk1 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
5 ответов
Поддержка Intel Fakeraids является новым для mdadm в 14.04. Предыдущие выпуски Ubuntu использовались dmraid
активировать их. Обратите внимание, что если вы не используете двойную загрузку с Windows, вам следует полностью избегать фейков и просто придерживаться нативного mdadm.
Для людей, сталкивающихся с ошибкой # 1318351 "mdadm не собирает imsm raids во время обычной загрузки", затрагивающей Intel Hardware RAID (imsm) по крайней мере в Ubuntu 14 и 15, это решило проблему:
редактировать /etc/default/grub
иметь:
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomdmonddf nomdmonisw"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
редактировать /etc/default/grub.d/dmraid2mdadm.cfg
иметь:
DMRAID2MDADM_TOAPPEND=""
Запуск:
sudo dpkg-reconfigure mdadm
sudo update-grub
sudo update-initramfs -u
Вы можете остановиться здесь, если это решило вашу проблему. Ниже идет дальше.
Это, конечно, предполагает ваш /etc/mdadm/mdadm.conf
это хорошо. Мой выглядит так для NTFS RAID0:
CREATE owner=MYUSERNAME group=disk mode=0775 auto=yes
MAILADDR root
ARRAY /dev/md0 level=container num-devices=2 metadata=imsm UUID=XXXXXXXX:XXXXXXXX:XXXXXXXX:XXXXXXXX devices=/dev/sdb,/dev/sdc
ARRAY /dev/md1 level=raid0 num-devices=2 container=/dev/md0 member=0 UUID=YYYYYYYY:YYYYYYYY:YYYYYYYY:YYYYYYYY devices=/dev/sdb,/dev/sdc auto=md
Он был создан с:
sudo mdadm --assemble --scan
sudo mdadm --detail --scan --verbose
И немного адаптирован.
Наконец, если диски правильно собраны при загрузке (отображается в Nautilus), вы можете начать играть с /etc/fstab
смонтировать диск при загрузке.
Всегда проверяйте ваш /etc/fstab, чтобы избежать зависания при загрузке:
sudo mount -a
Если после редактирования fstab происходит сбой обычной загрузки, загрузитесь в режиме восстановления и перейдите к командной строке:
loadkeys fr
mount -o remount,rw /
pico /etc/fstab
fr
для французских клавиатур.
У меня такая же проблема с фальшивым биосом. Так как мой raid необходим для загрузки, мне пришлось поместить скрипт в /usr/share/initramfs-tools/scripts/init-premount для сборки raid:
#!/bin/sh
mdadm --assemble --scan
Затем я обновляю initram с помощью команды:
update-initramfs -u
Я пытаюсь заставить мой raid работать с dmraid, но работал только набор raid0. raid5 похоже работает только с mdadm. Однако с Ubuntu 12.04 оба набора рейдов работали с dmraid.
Добавлять
auto=md
к правильной строке ARRAY в mdadm.conf:
До:
ARRAY /dev/md/vol0 container=1b6e3d9e:e14f7906:38f86e54:1f85cdcd member=0 UUID=546b601a:ccfa6f04:2cc1d0f5:aa05edc2
После:
ARRAY /dev/md/vol0 container=1b6e3d9e:e14f7906:38f86e54:1f85cdcd member=0 UUID=546b601a:ccfa6f04:2cc1d0f5:aa05edc2 auto=md
В моем случае я не использую контейнеры (как в документе Intel), поэтому у меня есть только одна строка, в которой я также указываю формат метаданных, как показано ниже:
ARRAY /dev/md/hdd level=raid10 metadata=1.0 num-devices=4 UUID=462b55f7:e09bc196:deb847c4:b6be609c name=hdd auto=md
В md имена raid работают только с метаданными 1.0 или выше. Надеюсь, это поможет.
Это известная проблема:
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1318351
Пожалуйста, оставьте сообщение об ошибке