1 votes

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

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

Voici les étapes à suivre pour configurer le RAID Intel à 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é avec le raid qui fonctionnait.
\=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

$ 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 avoir exécuté une commande assemble, le raid est disponible, mais pourquoi ne l'est-il pas après un redémarrage par défaut ?

Le système fonctionne ;

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

2voto

psusi Points 35613

La prise en charge des fakeraids d'Intel est une nouveauté de mdadm dans la version 14.04. Les versions précédentes d'Ubuntu utilisaient dmraid pour les activer. Notez qu'à moins que vous ne fassiez du dual booting avec Windows, vous devriez éviter complètement le truc fakeraid et vous en tenir au mdadm natif.

2voto

KrisWebDev Points 1342

Pour les personnes confrontées au bug #1318351 "mdadm n'assemble pas les raids imsm pendant le démarrage normal". affectant Intel Hardware RAID (imsm) sur Ubuntu 14 & 15 au moins, cela a résolu le problème :

Editer /etc/default/grub à avoir :

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

Editer /etc/default/grub.d/dmraid2mdadm.cfg à avoir :

DMRAID2MDADM_TOAPPEND=""

Lancement :

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

Vous pouvez vous arrêter ici si cela a résolu votre problème. Vous pouvez aller plus loin en cliquant sur le lien ci-dessous.

Cela suppose bien sûr que votre /etc/mdadm/mdadm.conf est bonne. Le mien ressemble à ceci pour un RAID0 NTFS :

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 (visible 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 la fstab, démarrez en mode de récupération et utilisez la ligne de commande :

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

fr pour les claviers français.

1voto

Aelian Points 101

Ajouter

auto=md

à la ligne ARRAY appropriée dans le fichier 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 l'article d'Intel), je n'ai donc qu'une seule ligne où je spécifie également le format des 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 raids ne fonctionnent qu'avec les métadonnées 1.0 ou plus. J'espère que cela vous aidera.

1voto

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

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

Ensuite, je mets à jour l'initram en exécutant la commande suivante :

update-initramfs -u

J'ai essayé de faire fonctionner mon raid avec dmraid mais seul le set raid0 fonctionnait. raid5 ne semble fonctionner qu'avec mdadm. Cependant, avec Ubuntu 12.04, les deux jeux de raid fonctionnaient avec dmraid.

0voto

Ted Points 9

Il s'agit d'un problème connu :

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

Veuillez poster un suivi du bogue

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X