Reconnaissance des devices dans plusieurs raids

Demande d'aide : c'est ici.
Répondre
dleclere
Messages : 5
Inscription : 31 déc. 2019, 11:43
Status : Hors-ligne

Bonjour,
Sur ma machine j’ai construit 2 raids un avec sdb sdc sdd sde et sdf puis un second avec sdg sdh sdi sdj et sdk. Si le disque sdf vient à casser lorsque je demande la liste des disques par raid sdf a été remplacé par sdg et sdk n’existe plus. Comment est-il possible d’éviter cela ? Merci beaucoup.
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Pourquoi vouloir l'éviter ? En quoi est-ce un problème ?

La variabilité des noms des périphériques ATA/SCSI/USB /dev/sd* est inhérente à la façon de gérer ces périphériques par le noyau Linux. On sait très bien qu'on ne peut pas compter sur leur stabilité et on (y compris le RAID) utilise des UUID pour les identifier.
dleclere
Messages : 5
Inscription : 31 déc. 2019, 11:43
Status : Hors-ligne

Bonjour,
Tous les disques constituant les raids n'ont pas d'UUID. Seuls les partitions formatées ressortent dans la liste des uuid (/dev/disk/by-uuid). De plus je n'ai jamais vu une construction de raid avec les uuid, si cela est possible merci de me donner les références pour que je puisse les trouver. Merci.
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Chaque membre d'un ensemble RAID a deux UUID :
- un UUID propre à l'ensemble RAID, commun à tous ses membres, qui permet de les associer à un ensemble RAID particulier ;
- un UUID propre à chaque membre de l'ensemble RAID qui permet de le distinguer des autres membres.

Le premier figure souvent dans les déclarations ARRAY de /etc/mdadm/mdadm.conf.
Les UUID sont définis implicitement lors de la création de l'ensemble RAID et utilisés lors de l'assemblage.

On peut voir ces UUID avec blkid ou avec mdadm.

Code : Tout sélectionner

blkid /dev/sdxy
mdadm --examine /dev/sdxy
A moins d'avoir fait l'erreur de spécifier des noms de périphériques membres dans la déclaration des ensembles RAID dans /etc/mdadm/mdadm.conf ou d'assembler les ensembles RAID manuellement avec mdadm en spécifiant leurs membres, tu n'as donc rien à craindre si les noms de périphériques des membres d'ensembles RAID changent car mdadm le retrouvera grâce aux UUID.
dleclere
Messages : 5
Inscription : 31 déc. 2019, 11:43
Status : Hors-ligne

Bonjour,
mon fichier /etc/mdadm/mdadm.conf est vise.
more /proc/mdstat donne :
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : inactive sdd1[1](S) sdc1[0](S) sde2[4](S) sde1[3](S)
3906510848 blocks super 1.2

md1 : active raid5 sdk1[6] sdb1[0] sdf1[1] sdi1[4] sdl1[7](S) sdj1[5] sdh1[3] sdg1[2]
17580804096 blocks super 1.2 level 5, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>

Pour la création de mes 2 raids j'ai utilisé les commandes suivantes :
mdadm --create /dev/md0 --level=5 --assume-clean --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --monitor --daemonise /dev/md0
mdadm --manage /dev/md0 –add /dev/sdf2

et pour le second :
mdadm --create /dev/md1 --level=5 --assume-clean --raid-devices=7 /dev/sdg1 /dev/sdh1 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1 /dev/sdb1
mdadm --monitor --daemonise /dev/md1
mdadm --manage /dev/md1 --add /dev/sdm1

ai-je fait qqe chose de mal ? pourquoi le fichier est vide ?

Pouvez vous m'expliquer ou me dire ou je peux trouver un tuto pour créer mes raids en utilisant les uuid.
Je trouve bien les uuid avec vos commandes.

Merci beaucoup de votre aide.

Didier.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Erreur, j'avais tapé trop vite et même pas fait attention que j'utilisais des partUUIDs,
alors que je pensais avoir utilisé des UUIDs.

J'ai donc effacé le contenu de ce message qui n'apportait que de la confusion dans ce fil de discussion
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Je répète : l'utilisation d'UUID par le RAID est implicite en interne, utiliser des PARTUUID (qui n'ont rien à voir avec les UUID RAID) au lieu des noms de périphériques dans les commandes mdadm n'a aucun intérêt.
dleclere a écrit : 01 janv. 2020, 13:11ai-je fait qqe chose de mal ?
Oui : définir comme spare de /dev/md0 une partition /dev/sdf2 qui se trouve sur le même disque qu'un membre actif /dev/sdf1.
Si le disque /dev/sdf tombe, le spare ne pourra pas remplir son rôle.
dleclere a écrit : 01 janv. 2020, 13:11pourquoi le fichier est vide ?
Vide ou inexistant ? Normalement un fichier non vide par défaut doit être mis en place lors de l'installation de mdadm. Ceci dit je ne crois pas qu'il soit indispensable.

Si tu expliquais plutôt quel est le vrai problème ? Est-ce le fait que /dev/md0 ne démarre pas ? Cela n'a strictement rien à voir avec les UUID ni avec le renommage des disques. Que s'est il passé exactement avec le disque manquant ? Il est vraiment tombé en panne en cours de fonctionnement, ou bien tu l'as débranché lorsque la machine était arrêtée ?
dleclere
Messages : 5
Inscription : 31 déc. 2019, 11:43
Status : Hors-ligne

Le disque HS est tombé en panne en cours de fonctionnement. Pour le moment je n'ai rien fait. En fait je ne comprends pas pourquoi le raids 0 ne fonctionne plus.
Je sais pour les devices sur le même disque mais je me sert de ce disque comme d'un test.

Didier.
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Un ensemble RAID peut ne pas démarrer s'il manque un membre actif censé être présent. Mais si le membre manquant est tombé en panne en cours de fonctionnement, il aurait dû être marqué comme tel dans les méta-données des autres membres. On peut le vérifier en examinant les méta-données des membres présents.

Code : Tout sélectionner

mdadm --detail /dev/md0
mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sde2
Si ce n'est pas le cas, l'ensemble RAID devrait démarrer avec

Code : Tout sélectionner

mdadm --run /dev/md0
dleclere
Messages : 5
Inscription : 31 déc. 2019, 11:43
Status : Hors-ligne

Bonjour,
Voici la réponse aux commandes demandées :
mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Raid Level : raid0
Total Devices : 4
Persistence : Superblock is persistent

State : inactive

Name : sasleclere2:0 (local to host sasleclere2)
UUID : 1e36285a:5f9c193d:8f026176:f94fe238
Events : 50

Number Major Minor RaidDevice

- 8 66 - /dev/sde2
- 8 65 - /dev/sde1
- 8 49 - /dev/sdd1
- 8 33 - /dev/sdc1

mdadm --examine /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sde2
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 1e36285a:5f9c193d:8f026176:f94fe238
Name : sasleclere2:0 (local to host sasleclere2)
Creation Time : Wed May 1 10:28:33 2019
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 1953259520 (931.39 GiB 1000.07 GB)
Array Size : 2929876992 (2794.15 GiB 3000.19 GB)
Used Dev Size : 1953251328 (931.38 GiB 1000.06 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=8192 sectors
State : clean
Device UUID : 5f2c9c15:01d4b692:6aec4fe6:56a8a004

Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 1 03:52:06 2019
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 325d5c04 - correct
Events : 50

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 0
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 1e36285a:5f9c193d:8f026176:f94fe238
Name : sasleclere2:0 (local to host sasleclere2)
Creation Time : Wed May 1 10:28:33 2019
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 1953259520 (931.39 GiB 1000.07 GB)
Array Size : 2929876992 (2794.15 GiB 3000.19 GB)
Used Dev Size : 1953251328 (931.38 GiB 1000.06 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=8192 sectors
State : clean
Device UUID : dfe8acef:248b57e2:8943a8a9:59268fc2

Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 1 03:52:06 2019
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : dd55a4cb - correct
Events : 50

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 1
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 1e36285a:5f9c193d:8f026176:f94fe238
Name : sasleclere2:0 (local to host sasleclere2)
Creation Time : Wed May 1 10:28:33 2019
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 1953251328 (931.38 GiB 1000.06 GB)
Array Size : 2929876992 (2794.15 GiB 3000.19 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
State : clean
Device UUID : 815146b2:93e662d4:992c7ff5:37b0e2e0

Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 1 03:52:06 2019
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : fc24bbcc - correct
Events : 50

Layout : left-symmetric
Chunk Size : 512K

Device Role : Active device 3
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde2:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 1e36285a:5f9c193d:8f026176:f94fe238
Name : sasleclere2:0 (local to host sasleclere2)
Creation Time : Wed May 1 10:28:33 2019
Raid Level : raid5
Raid Devices : 4

Avail Dev Size : 1953251328 (931.38 GiB 1000.06 GB)
Array Size : 2929876992 (2794.15 GiB 3000.19 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
State : clean
Device UUID : 0f96684c:9d18c4cb:0d8b1d78:fec7c026

Internal Bitmap : 8 sectors from superblock
Update Time : Sun Dec 1 03:52:06 2019
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 5624a89f - correct
Events : 50

Layout : left-symmetric
Chunk Size : 512K

Device Role : spare
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

Avec ces commandes, ce que je ne comprends pas c'est la transformation du raid de 5 en 0.

mdadm --run /dev/md0 renvoie mdadm: started array /dev/md/0
résultat de more /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid5 sdd1[1] sdc1[0] sde2[4] sde1[3]
2929876992 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UU_U]
[>....................] recovery = 0.0% (621084/976625664) finish=392.8min speed=41405K/sec
bitmap: 0/8 pages [0KB], 65536KB chunk

md1 : active raid5 sdk1[6] sdb1[0] sdf1[1] sdi1[4] sdl1[7](S) sdj1[5] sdh1[3] sdg1[2]
17580804096 blocks super 1.2 level 5, 512k chunk, algorithm 2 [7/7] [UUUUUUU]
bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

dleclere a écrit : 02 janv. 2020, 01:43 Device Role : spare
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
Cela indique que l'ensemble RAID n'a pas enregistré qu'un membre actif était défaillant et le membre spare est resté spare, ce qui explique pourquoi au démarrage suivant l'ensemble RAID n'a pas été activé. Comme prévu la commande --run a forcé l'activation, et la reconstruction avec le membre spare a commence (et ça risque d'être long car deux membres sont sur le même disque physique donc la tête de lecture-écriture va faire des allers-retours incessants).
dleclere a écrit : 02 janv. 2020, 01:43 ce que je ne comprends pas c'est la transformation du raid de 5 en 0.
Pas d'inquiétude, les informations sur un ensemble RAID inactif (--detail ou /proc/mdstat) sont incomplètes voire incorrectes. Il vaut mieux se fier aux informations des membres (--examine).
Répondre