[btrfs] reconstruction d'un raid1 (résolu)

Ce qui ne concerne ni le forum ni des problèmes
Avatar de l’utilisateur
Aikadil
archer
Messages : 113
Inscription : dim. 18 déc. 2011, 20:20
Localisation : Belgique - Liege

[btrfs] reconstruction d'un raid1 (résolu)

Message par Aikadil »

Bonjour, à la suite du montage de mon HomeNAS sous freenas en RAID-Z dont je suis très heureux pour le moment, je me suis intéresser aux prochaines générations de système de fichier, alors oui ZFS n'est pas nouveau et je ne vais pas réveiller un troll sur l'utilisation de ZFS dans un NAS plus tôt qu'un autre FS.

Bref, je viens de tomber sur l'article BTRFS du gnu Linux magazine / France de Mai 2012 tiens je vais en profitez pour tester la beta bête, heureux des dernières version du kernel et du package btrfs-progs qui devrais me permettre de tester ces fonctions sans trop de crash pourri merci Arch ^^

Hop création d'un petite espace libre sur un disque externe et on attaque.
-création et migration de EXT3/EXT4 vers BTRFS et retours en arrière
-création de partitions de grande taille
-augmentation et réduction de taille de partition à chaud avec présence de fichier et ctrl des sommes md5
-fusion de partition
-passer en mode balanced (mix de raid0 pour les data et raid1 pour les méta data) entre les deux partition fusionner
-retrait d'une des partition du volume balanced sans destruction des fichiers (temps que la taille totale des fichiers ne dépasse pas la taille de la partition restante bien sur)
-compression à la volée
-création et restauration de snapshot
-fusion de snapshot et de l'original
-défragmentation à chaud
-je n'ai pas pu tester les fonction SSD/TRIM je n'en ai pas.
-je n'ai pas tester non plus l'outil fsck.btrfs car la réparation détruit les données pour le moment...

Bref il y a une fonction que je n'arrive pas à faire fonctionner, c'est la réparation de raid 0/1/10

Pour créer un raid1 par exemple rien de plus simple # mkfs.btrfs -m raid1 -d raid 1 /dev/sdc6 /dev/sdc7
On peut alors vérifier la création avec
[root@ArchLinuxCedric squall]# btrfs filesystem show
failed to read /dev/sr0
Label: none uuid: d33f463b-2f93-4813-9290-482a622be73b
Total devices 2 FS bytes used 34.76MB
devid 2 size 24.59GB used 4.01GB path /dev/sdc7
devid 1 size 26.21GB used 4.03GB path /dev/sdc6
et un df sur le point de montage d'une des deux partitions
[root@ArchLinuxCedric squall]# btrfs filesystem df /media/mybtrfs1/
Data, RAID1: total=2.00GB, used=34.62MB
Data: total=8.00MB, used=0.00
System, RAID1: total=8.00MB, used=4.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=2.00GB, used=140.00KB
Metadata: total=8.00MB, used=0.00
oui je sais que du raid1 entre deux partition d'un même disque ne sert à rien, c'est juste pour tester et être à la page...

alors comment feriez vous pour simuler une destruction d'un des deux disque et ensuite reconstruire le volume raid1 comme à l'origine. Je ne trouve pas les bonne commande dans la doc https://btrfs.wiki.kernel.org/index.php/Main_Page car en règle général les blogeur qui ont écrit sur le sujet on tester la création de raid, mais pas sa destruction/reconstruction.

Merci
ASUS Rampage II gene - Intel i7-950 - Corsaire 3*2Go - Samsung SpinPoint F1 300Go
x2 - Nvidia Gtx295 - ArchLinux/Win7 Arium - X86-64.

Je ne suis pas programmeur, je suis tuto dépendant et je le vie bien !
Avatar de l’utilisateur
Aikadil
archer
Messages : 113
Inscription : dim. 18 déc. 2011, 20:20
Localisation : Belgique - Liege

Re: [btrfs] reconstruction d'un raid1 (Solved)

Message par Aikadil »

J'ai compris l'affaire, cétais tout bête enfait, je donne quand même l'explication au cas ou une personne chercherais aussi.

1) démonter son volume raid
2) re monter le volume en mode dégradé # mount -o degraded /dev/sdb1 /media/mybtrfs/
3) ajouter un nouveau volume à la grappe # btrfs device add /dev/sdb3 /media/mybtrfs/
4) supprimer le volume cassé de la grappe # btrfs device delete /dev/sdb2 /media/mybtrfs/
4) démonter et remonter la grappe normalement

Par contre étrangement à la fin des opération quand je fait un show les 3 partitions sont toujours présente
[root@ArchLinuxLaptop squall]# btrfs filesystem show
failed to read /dev/sr0
Label: none uuid: 9c807c41-f67b-46a8-840c-ece147e5409b
Total devices 2 FS bytes used 167.91MB
devid 3 size 1.03GB used 1.03GB path /dev/sdb3
devid 2 size 1.06GB used 546.25MB path /dev/sdb2
devid 1 size 4.20GB used 1.05GB path /dev/sdb1
Si je créer un nouveau volum btrfs dans /dev/sdb2 par contre tout est en place
[root@ArchLinuxLaptop squall]# mkfs.btrfs /dev/sdb2

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/sdb2
nodesize 4096 leafsize 4096 sectorsize 4096 size 1.06GB
Btrfs Btrfs v0.19
[root@ArchLinuxLaptop squall]# btrfs filesystem show
failed to read /dev/sr0
Label: none uuid: f1f96109-5324-4f70-9826-1c4e90489a13
Total devices 1 FS bytes used 28.00KB
devid 1 size 1.06GB used 144.50MB path /dev/sdb2

Label: none uuid: 9c807c41-f67b-46a8-840c-ece147e5409b
Total devices 2 FS bytes used 167.91MB
devid 3 size 1.03GB used 1.03GB path /dev/sdb3
devid 1 size 4.20GB used 1.05GB path /dev/sdb1

Btrfs Btrfs v0.19
Il doit y avoire une façon plus élégente d'effacer le disque mort de la grappe après le "btrfs device delete"
ASUS Rampage II gene - Intel i7-950 - Corsaire 3*2Go - Samsung SpinPoint F1 300Go
x2 - Nvidia Gtx295 - ArchLinux/Win7 Arium - X86-64.

Je ne suis pas programmeur, je suis tuto dépendant et je le vie bien !
Avatar de l’utilisateur
Aikadil
archer
Messages : 113
Inscription : dim. 18 déc. 2011, 20:20
Localisation : Belgique - Liege

Re: [btrfs] reconstruction d'un raid1 (Solved)

Message par Aikadil »

Voilà j'ai compris mon erreur, en fait pour remplacer un disque mort sans avoir une non disparition du disque quand on fait un "show" il faut que le disque mort ne soit plus visible, il faut qu'il soit véritablement corompus ou qu'il soit physiquement inaccessible.

J'ai donc construit mon raid avec une des partitions sur une clef USB.

-débrancher physiquement un des disque (la clef dans notre cas)
-un show fera apparaître un message de type "missing volume"
-démonter le raid
-monter le raid en mode dégrader
-ajouter une nouvelle partition
-supprimer le volume missing avec # btrfs device delete missing /mnt/***
-démonter le raid
-monter normalement, "show" vous indique que le raid est reconstruit avec les deux disques
-vous bouvez faire un balanced pour re répartir les données entre les disques, mais le fait d'ajouter un disque dans la grappe à du le faire automatiquement.
ASUS Rampage II gene - Intel i7-950 - Corsaire 3*2Go - Samsung SpinPoint F1 300Go
x2 - Nvidia Gtx295 - ArchLinux/Win7 Arium - X86-64.

Je ne suis pas programmeur, je suis tuto dépendant et je le vie bien !
Répondre