web-dev-qa-db-fra.com

Pourquoi md raid n'est-il pas assemblé après le redémarrage?

J'essaie d'obtenir une configuration RAID Intel. Le problème que j'ai, c'est qu'après un redémarrage, le raid n'est pas disponible.

Voici les étapes à suivre pour configurer Intel RAID à l'aide de la commande mdadm. J'ai suivi les étapes sur 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

= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - - - - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - - - - = - = -
J'ai ensuite redémarré ici avec le raid en marche
= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - - = - = - = - = -

$ 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>

Ainsi, après l'exécution d'une commande d'assembler, le raid est disponible, mais pourquoi ne le trouve-t-il pas après un redémarrage par défaut?

Le système est en marche.

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
1
mikelanc

Pour les personnes confrontées à un bogue # 1318351 "mdadm n'assemble pas les raids imsm lors du démarrage normal" , affectant Intel RAID (imsm) sous Ubuntu 14 & 15 à le moins, cela a résolu le problème:

Éditez /etc/default/grub pour avoir:

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomdmonddf nomdmonisw"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Éditez /etc/default/grub.d/dmraid2mdadm.cfg pour avoir:

DMRAID2MDADM_TOAPPEND=""

Lancement:

Sudo dpkg-reconfigure mdadm
Sudo update-grub
Sudo update-initramfs -u

Vous pouvez vous arrêter ici si cela résout votre problème. Ci-dessous est d'aller plus loin.

Cela suppose bien sûr que votre /etc/mdadm/mdadm.conf est bon. Le mien ressemble à ceci pour un 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

Il a été généré avec:

Sudo mdadm --assemble --scan
Sudo mdadm --detail --scan --verbose

Et un peu adapté.

Enfin, si les disques sont correctement assemblés au démarrage (visibles dans Nautilus), vous pouvez commencer à jouer avec /etc/fstab pour monter le disque au démarrage.

Testez toujours votre/etc/fstab avec ceci pour éviter d’être bloqué au démarrage:

Sudo mount -a

Si le démarrage normal échoue après la modification de fstab, démarrez en mode de récupération et accédez à la ligne de commande:

loadkeys fr
mount -o remount,rw /
pico /etc/fstab

fr pour les claviers français.

2
KrisWebDev

La prise en charge des fakeraids d’Intel est nouvelle pour mdadm dans 14.04. Les versions précédentes d'Ubuntu utilisaient dmraid pour les activer. Notez que, sauf si vous double-amorcez avec Windows, vous devriez éviter complètement le fakeraid et vous en tenir à la mdadm native.

2
psusi

Ajouter

auto=md

vers la ligne appropriée ARRAY dans mdadm.conf:

Avant:

ARRAY /dev/md/vol0 container=1b6e3d9e:e14f7906:38f86e54:1f85cdcd member=0    UUID=546b601a:ccfa6f04:2cc1d0f5:aa05edc2

Après:

ARRAY /dev/md/vol0 container=1b6e3d9e:e14f7906:38f86e54:1f85cdcd member=0 UUID=546b601a:ccfa6f04:2cc1d0f5:aa05edc2 auto=md

Dans mon cas, je n'utilise pas de conteneurs (comme dans le papier Intel), donc je n'ai qu'une seule ligne où je spécifie également le format de métadonnées, comme ci-dessous:

ARRAY /dev/md/hdd level=raid10 metadata=1.0 num-devices=4 UUID=462b55f7:e09bc196:deb847c4:b6be609c name=hdd auto=md

Dans md, les noms de raid ne fonctionnent qu'avec les métadonnées 1.0 ou supérieures. J'espère que cette aide.

1
alberto.morell

J'ai eu le même problème avec un faux raid bios. Comme mon raid est nécessaire pour démarrer, je devais mettre un script dans/usr/share/initramfs-tools/scripts/init-premount pour assembler le raid:

#!/bin/sh
mdadm --assemble --scan

Ensuite, je mets à jour l'initram en lançant la commande:

update-initramfs -u

J'essaie de faire fonctionner mon raid avec dmraid mais seul le set raid0 fonctionnait. raid5 semble fonctionner uniquement avec mdadm. Cependant, avec Ubuntu 12.04, les deux jeux de raids fonctionnaient avec dmraid.

1
Jean-Francois Birtz

C'est un problème connu:

https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1318351

Merci de poster un suivi du bug

0
Ted