Démarrage automatique du RAID sous linux

Démarrage automatique du RAID sous linux - Installation - Linux et OS Alternatifs

Marsh Posté le 28-10-2006 à 09:34:39    

Bonsoir à tous,
 
Suite à mes quelques soucis de ces derniers jours ( http://forum.hardware.fr/hardwaref [...] 0281-1.htm ), j'ai mis en place un système de RAID 1 (mirroring). A mon grand étonnement, c'était un jeu d'enfant :)
 
Mais j'ai quand même un léger soucis : Je voudrais que mon /dev/md0 soit monté sur /home automatiquement au boot... J'ai donc modifié mon fstab, mis ça ne fonctionne pas : il me dit "bad superblock"
 
Je tente un montage à la main (mount /dev/md0 /home) même erreur. Je regarde ce qu'il existe comme commande en rapport avec le raid et je vois "raidstart", je lance ça et je retente mon montage... ca marche.
 
J'en arrive à la question suivante : comment faire pour que le "raidstart" se lance automatiquement au démarrage, avant la lecture de fstab ?
 
Si vous avez la solution, merci  :hello:


Message édité par zezette le 28-10-2006 à 09:41:12

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 28-10-2006 à 09:34:39   

Reply

Marsh Posté le 04-01-2007 à 17:04:42    

Problème supplémentaire : je viens de mettre à jour mon noyau et je ne sais plus monter mon raid. Il va de soit que je n'ai pas oublié la prise en charge dans le noyau.  
 
mount: /dev/md0: can't read superblock
 
Une idée ?

Reply

Marsh Posté le 05-01-2007 à 22:06:30    

heu, tu as quelle distrib ??
parce qu'il me semble que raidstart&co c'est obsolète depuis longtemps, et remplacé par mdadm.

 

Pour que le raid démarre tout seul au démarrage, normalement il suffit que les partitions qui le constituent soient de type "Linux raid autodetect" (fd)

 

Sinon, remplir le fichier /etc/mdadm.conf, par exemple chez moi avec 4 partitions qui constituent 2 grappes:
DEVICE /dev/hde1 /dev/hdf1 /dev/hdg1 /dev/hdh1
ARRAY /dev/md0 devices=/dev/hdf1,/dev/hdh1
ARRAY /dev/md1 devices=/dev/hde1,/dev/hdg1

 


Message édité par [Albator] le 05-01-2007 à 22:08:27
Reply

Marsh Posté le 06-01-2007 à 12:49:47    

Albator a juste, les raidtools sont obsolètes, au profit de mdadm
Donc quelques questions :
1/ quelle distrib
2/ tu as mis à jour ton noyau à la main ( compilé toi même ) ou pris le dernier package de ta distrib ?
 
Quelques infos :
1/ résultat de la commande cat /proc/mdstat
2/ résultat de la commande grep RAID /boot/config
 
En attendant, quelques élements d'aide :
 
Le raid logiciel ( ou raid soft puisque c'est ce que tu as fait ) s'appuie sur une fonctionnalité du noyau ( donc compilée en dur ou en module ).
 
Cela fonctionne ensuite en "couche" : le driver raid assemble plusieurs partitions physiques ( /dev/hdXY ou /dev/sdXY ) en une logique ( /dev/mdX )
 
C'est la partition /dev/mdX sur laquelle ensuite tu travailles en la montant ( mount /dev/mdX /home )
 
Donc : les partitions /dev/hdXY ou /dev/sdXY de ton raid doivent être de type fd ( et non ntfs ou linux ou swap ... ) => fdisk ou autre utilitaire de partitionnement sont tes amis
 
La partition mdX une fois assemblée, doit être formatée ( ext3, reiserfs ... )
 
Pour ce que tout cela fonctionne, il faut avoir installé le package mdadm sur ta distrib, en principe dans sa config par défaut, au démarrage, il détecte automatiquement les partitions qui sont de type fd sur tes disques et assemble les piles raid tout seul.
 
Après, si le support noyau du raid est compilé en module, il va te falloir une image disque d'init ( initrd ) ...

Reply

Marsh Posté le 06-01-2007 à 13:24:16    

Merci pour vos réponses !
 
J'ai linux slackware 11
Le noyau, je l'ai compilé moi-même 2.6.19.1 (avec le 2.6.18.1 ça marchait)
 
Le résultat du cat /proc/mdstat avec le 2.6.18.1 :
Personalities : [raid1]  
md0 : active raid1 hdc2[1] hda2[0]
      74935104 blocks [2/2] [UU]
       
unused devices: <none>
 
Avec le 2.6.19.1 :
Personalities : [raid1]        
unused devices: <none>
 
Je n'ai pas de /boot/config... mais si tu veux parler du .config des sources de mon noyau 2.6.18.1 :  
# CONFIG_RAID_ATTRS is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# Multi-device support (RAID and LVM)
# CONFIG_MD_RAID0 is not set
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID456 is not set
 
2.6.19.1 :
# CONFIG_RAID_ATTRS is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# Multi-device support (RAID and LVM)
# CONFIG_MD_RAID0 is not set
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID456 is not set
 
Pour le type de partition c'est là qu'est l'os :), je suis en linux et non en fd (mais ca marchait jusqu'a l'upgrade de noyau (bien que ca me semblait un peu lent))
 
Pour le package mdadm, je l'ai.
 
Merci ;)
 
PS : je me suis basé sur ça : http://lehmann.free.fr/raidDoc.html pour faire mon RAID


Message édité par zezette le 06-01-2007 à 13:26:35
Reply

Marsh Posté le 06-01-2007 à 16:03:43    

Hi !
 
Content que le howto t'ai servi. Grâce au libre on fait des choses excellentes :)
Je compte prochaiment rajouter une section à propos du fonctionnement d'un disque et pourquoi il se met à bugguer.
 
Pour ton souci actuel :
 
Les modules raid1 et md doivent être chargés au démarrage.
 

cat /etc/modules


 
Sinon les rajouter
 

echo -e 'md\nraid1' >>/etc/modules'


 
Si ce n'est pas ca il existe d'autres possibilités.
 
a+


Message édité par enfoiro le 06-01-2007 à 16:04:32
Reply

Marsh Posté le 06-01-2007 à 16:47:24    

C'est en dur dans mon noyau comme indiqué dans mon message précédent.
 
Y a t'il moyen de changer le type de partition de 83 (Linux) à fd (Linux Raid Autodetect) sans perdre les données ?

Message cité 1 fois
Message édité par zezette le 07-01-2007 à 11:36:18
Reply

Marsh Posté le 07-01-2007 à 11:30:05    

zezette a écrit :

Y a t'il moyen de changer le type de partition de 82 (Linux) à fd (Linux Raid Autodetect) sans perdre les données ?


 
J'ai peur de comprendre ...
Si c'est vraiment çà (tes partitions hda2 et hdc2 de type 82 et non fd), le fait de changer de partition implique la perte des données ...
 
Au passage, rassure moi, c'est bien des partitions type 83 (linux) et non 82 (linux-swap) ??
 
Merci pour le cat /proc/mdstat
 
Il me faudrait juste, pour pas dire de bêtises, un poil plus d'infos :
grep MD .config sur le .config de ton noyau actuel ( 2.6.19.1 )
fdisk -l /dev/hda en démarrant avec ton noyau 2.6.18
 
Ceci dit, il y a peut être une autre source à ton problème ...
Pour en être sur, quelques infos de plus stp :
lspci
 
Les deux configs noyau ( 2.6.18 et 2.6.19.1 ) liées à ton chipset IDE

Reply

Marsh Posté le 07-01-2007 à 11:42:22    

C'est bien de type 83 et non 82 (faute de frappe :))
 
Le grep du .config :
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
 
Le fdisk :
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         400     3212968+  83  Linux
/dev/hda2             401        9729    74935192+  83  Linux
 
Le lspci :
00:00.0 Host bridge: VIA Technologies, Inc. VT82C693A/694x [Apollo PRO133x] (rev 44)
00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598/694x [Apollo MVP3/Pro133x AGP]
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C596 ISA [Mobile South] (rev 23)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 10)
00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 11)
00:07.3 Host bridge: VIA Technologies, Inc. VT82C596 Power Management (rev 30)
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage IIC AGP (rev 7a)
 
Par contre j'ai pas compris ce que tu veux exactement à la dernière ligne :)


Message édité par zezette le 07-01-2007 à 11:43:01
Reply

Marsh Posté le 07-01-2007 à 12:09:05    

Ok merci
 
Je m'explique pour ma dernière ligne :
pour gérer tes disques IDE, il faut que tu configure le support de l'IDE et de ton chipset (VIA dans ton cas) dans ton noyau OK.
 
Avant les noyau 2.6.19, cela se fait dans :
Device Drivers -> ATA/ATAPI/MFM/RLL support
Et au passage, tout ce qui était Serial ATA (S-ATA) était géré comme du SCSI dans le menu Device Drivers -> SCSI
 
A présent (noyaux 2.6.19 et plus), la gestion de l'IDE et du S-ATA ont fusionnés et passent tout deux par ce que l'on appelle la "libata"
 
Car en fait, même si les disques S-ATA ont un transfert de données en mode série (Serial) tout comme les disques SCSI (les disques IDE ont un transfert en parallèle), leur mécanique est celle des disques IDE ...
 
D'un point de vue utilisateur, cela change quoi ?
Et bien qu'à présent, il y a un nouveau menu qui est :
Device drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers
Ce menu faisant référence à la libata ...
 
Et donc pour l'instant, il y a deux façons de configurer le support de l'IDE :
* soit dans Device Drivers -> ATA/ATAPI/MFM/RLL support
ce qui donne l'ancien comportement (les disques sont reconnus comme /dev/hdX
* soit dans Device Drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers
ce qui donne le nouveau comportement (drivers normalement plus performants et plus stables, mais plus récents donc bugs possibles) et là, les disques sont reconnus comme /dev/sdX ...
 
D'où le fait qu'avant de rebooter sur un noyau 2.6.19 si l'on opte pour les nouveaux drivers IDE, il y ait quelques trucs à faire ...

Reply

Marsh Posté le 07-01-2007 à 12:09:05   

Reply

Marsh Posté le 07-01-2007 à 12:25:16    

J'utilise toujours l'ancien driver ;)

Reply

Marsh Posté le 07-01-2007 à 13:10:55    

Ok, cela te simplifiera la vie (pour l'instant, jusqu'au jour où l'équipe de développement du noyau décidera de virer les anciens drivers ... :) )
 
Et donc tu as toujours fonctionner avec un raid sur des partitions de type 83 ??? Jamais vu ça. bref ...
 
Avant de t'indiquer la marche à suivre, vérifions que j'ai bien compris ton cas :
tu as deux disques hda et hdc, 2 partitions sur chaque
hda1 est ta partition root ( / )
je suppose hdc1 est ton swap
hda2 et hdc2 doivent constituer un raid de niveau 1 qui sera monté en /home
 
les partitions hda2 et hdc2 sont actuellement de type 83 (linux)
 
et bien sur tu veux que ta pile raid soit automatiquement assemblée au démarrage de ta machine, et le /home automatiquement monté
 
J'ai bon ?

Reply

Marsh Posté le 07-01-2007 à 13:34:02    

Tu as tout bon, mais j'ai résolu mes 2 problèmes d'un coup :)
 
En fait, je viens de convertir mes partition de 83 à fd (grâce à Partition Suite et sans perte de données). Et en effet, le démarrage est devenu automatique et ça fonctionne avec le 2.6.19.1
 
Merci bcp pour ton aide

Reply

Marsh Posté le 07-01-2007 à 14:01:33    

bah tant mieux c'est cool !!!
Je t'en prie.
 
++

Reply

Marsh Posté le 07-01-2007 à 15:57:41    

Je me suis réjouis trop vite, ça fonctionne mais c'est du mirroring sans mirror :)
 
Au boot, j'ai :  
md: raid1 personality registered for level 1
(...)
md: Autodetecting RAID arrays.
md: autorun ...
md: considering hdc2 ...
md:  adding hdc2 ...
md:  adding hda2 ...
md: created md0
md: bind<hda2>
md: bind<hdc2>
md: running: <hdc2><hda2>
md: kicking non-fresh hdc2 from array!
md: unbind<hdc2>
md: export_rdev(hdc2)
raid1: raid set md0 active with 1 out of 2 mirrors
md: ... autorun DONE.
 
Et en faisant le cat /proc/mdstat :
Personalities : [raid1]  
md0 : active raid1 hda2[0]
      74935104 blocks [2/1] [U_]
       
unused devices: <none>


Message édité par zezette le 07-01-2007 à 16:06:05

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 07-01-2007 à 19:12:18    

Non c'est bon t'inquiètes ...
 
mdadm --manage /dev/md0 --add /dev/hdc2
 
Et normalement il doit lancer la reconstruction de ta pile
 
S'il ne veut pas, commence par :
 
mdadm --manage /dev/md0 --remove /dev/hdc2
 
puis la commande citée ci dessus

Reply

Marsh Posté le 08-01-2007 à 08:47:03    

Ca marche
 
Encore merci


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 08-01-2007 à 09:41:07    

:hello:  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed