URL: https://linuxfr.org/users/o_possum/journaux/connaissez-vous-murphy Title: Connaissez-vous Murphy ? Authors: Fopossum Date: 2012年01月05日T14:06:49+01:00 License: CC By-SA Tags: htpc, debian et uuid Score: 15 Aujourd'hui, je vais vous relater comment mon année 2012 commence sur les chapeaux de roues côté informatique personnelle. J'écris ce journal juste pour partager avec vous, et je suis sûr que certains d'entre vous vont bien se marrer :) J'ai sûrement laissé passé plein de fautes et je présente mes excuses par avance à ceux qui auraient des saignements oculaires à la lecture de cette tranche de vie. # Au début était le verbe # La situation avant que Murphy ne mette son grain de sel dans mon idyllique (cauchemardesque diront certains amis taquins) installation est la suivante : - un HTPC (Home Theater PC, le bouzin multimédia) pourvu d'un disque de 1,5 To histoire de stocker à l'aise mes films de vacances - un NAS (Network Area Storage) maison fait à partir de matériel qui trainait par-ci par là chez moi équipé d'une vraie-fausse carte RAID 3ware pour les deux disques systèmes sur lequel je compte passer le disque de 1,5 To. Il est tard, je viens de passer deux bonnes heures à changer les disques du NAS qui servaient au système (OpenMediavault en l'occurrence) pour passer sur deux disques au format 2,5" dans un mignon petit rack que je me suis payé pour Noël. Copie des partitions avec gparted et tout le tintouin. Et oui, OpenMediavault a la particularité de faire ses montages via les UUID des partitions plutôt que via un label ou le nom du device sous la forme /dev/sdaXX. Grub2 (l'infâme) est aussi configuré pour utiliser l'UUID de la partition. Exit donc ma solution habituelle de migration de disque qui consiste à formater puis faire un bon rsync des familles. J'ai, du coup, deux disques SATA de 80 Go en 3,5" disponibles. Bonheur me dis-je in petto, je vais (enfin) pouvoir changer le disque du HTPC pour en mettre un plus petit et ainsi augmenter sensiblement la volumétrie disponible dans le NAS. Me voilà donc lancé dans les démontages remontages de machines pour insérer dans le HTPC le "petit" disque. Une fois l'action réalisée, comptez une bonne vingtaine de minutes à jouer avec les fils et le tournevis, je peux attaquer le partitionnement et le formatage du nouveau disque. Ma table de partition habituelle est la suivante : (sda1) /boot 64 Mo (sda2) swap RAMx2 (sda3 / 20 Go (sda4) /home le reste Allez savoir pourquoi, je décide jour là de changer mes habitudes et je fais la table de partition suivante sur le disque de 80 Go (sdb1) /boot 64 Mo (sdb2) / 20 Gio (sdb3) swap RAMx2 (sdb4) /home le reste. Et, sur le disque principal du HTPC, (celui de 1,5 To si vous suivez bien), le partitionnement est : (sda1) /boot 64 Mio ext2 (sda2) swap RAMx2 (sda3) / 30 Go ext4 (sda4) /mnt/storage 1,3 To et des brouettes jfs (là où se trouvent photos, flims de vacances, musiques et autres broutilles auxquelles je tiens un peu) Vous noterez la légère subtilité, les partitions / et swap sont inversées entre sda et sdb :) Donc, sur le système qui fonctionne, /dev/sda2 correspond à la swap alors que sur le futur disque système, c'est /dev/sdb3. # Quand les doigts se mélangent # Je me lance, je formate /boot (sdb1) en ext2, et j'attaque la suite. Malheureusement, la fatigue et l’inattention me font faire ceci : mkfs.btrfs -L root /dev/sda2 mkfs.btrfs -L home /dev/sda4 En lieu et place de : mkfs.btrfs -L root /dev/sdb3 mkfs.btrfs -L home /dev/sdb4 Je viens de formater ma partition de swap active en btrfs, pas grave en soi, la machine ne swapant jamais ou presque, et surtout, je viens à l'instant de flinguer ma partition de stockage en formatant par dessus du JFS2 avec du BTRFS ! Horreur ! Deux questions fusent. La première : Comment se fait-il que je ne me soit pas fait insulter alors que je formate une partition de swap active ? La deuxième : Mais bordel de merde comment ai-je fait pour être aussi con ! J'arrête violemment le PC histoire de ne pas faire trop de conneries en plus et je commence à réfléchir tout en lançant une bordée d'injures bien senties sur le PC, ma pomme, la fatalité et le reste. D'abord, on redémarre la machine sur le System Rescue CD (petit bijou en passant) et on ne touche pas au disque. Avec de la chance, je vais pouvoir faire un fsck sur la partition en utilisant un superblock alternatif et ainsi retrouver mes données et l'intégrité de mon système de fichier. Ah mais.... Le log des transactions était sur le même device... Et le superblock alternatif, y'en a qu'un d'après les informations glanées çà et là Qui a bien sûr été flingué lui aussi par le passage de mkfs.btrfs. Et c'est ainsi que fsck me jette violemment en me disant que non, pas possible, pas du JFS2.. Et même pas une petite option pour forcer le passage quand même. Moi qui croyais naïvement que comme les ext j'aurais plusieurs (comprendre plus de deux) superblocks, me voilà bien attrapé. Il me faut maintenant de l'espace pour faire mes récupération de fichier. Mon NAS œuf course. Hop, on change de machine, et on se fait un nouveau LV pour les fichier à récupérer. Et paf. LVM m'insulte... Comment ça ma partition / est en read-only ? Depuis quand ? Un dmesg plus tard et voilà que ext4 m'informe gentiment que y'a tout plein d'erreurs et que, du coup, on remonte / en read-only histoire de ne pas tout corrompre. Bon, admettons, la matrice était en train de se reconstruire et y'a eu un soucis toussa. Bah, un reboot, un fsck et on va surveiller. Mais on verra ça plus tard, pour l'instant, je dois récupérer mes photos. Heureusement pour moi, dans le NAS se trouve un disque qui ne fait pas encore partie du vg principal et il est donc disponible tel quel pour recevoir une partie des données, avec, c'est amusant, du JFS2 sur ce disque. Là où le bât blesse, c'est qu'il ne fait que 1 To et je ne peux donc a priori pas recopier tel quel une image de la partition que je viens de formater pour l'exploiter plus tard. Me voilà donc contraint et forcé de sortir Photorec (Y'a bon mangez-en) pour récupérer la seule chose que je considère importante sur ce disque : environ 6 ans de photos numériques. Après avoir monté le disque du NAS par NFS (oui, il était partagé avant que le système ne passe en lecture seule), je lance la recherche sur ma partition flinguée en limitant uniquement aux fichiers JPG. Revenez 6 heures plus tard pour voir le résultat. En gros, au lit quoi. Il est l'heure, pas loin de deux heures du matin et je bosse le lendemain. # Mon NAS chez les alligators # Le lendemain matin, je découvre qu'un peu plus de 4000 fichier JPG ont été récupérés. Va falloir faire du tri. Mais on verra plus tard. J’éteins le HTPC et le NAS. La suite, le soir après le boulot. Le soir, je me dis qu'il serait temps que je m'attaque au NAS, histoire de pouvoir faire mes LV correctement et de trouver suffisamment d'espace pour stocker une image de la partition qui pourra être étudiée plus tard. Je boote le NAS, évidemment au montage de la partition / faut passer en maintenance et forcer le fsck. Ah, des fichiers dans lost+found, pas cool. la machine redémarre néanmoins et je me dis, bête que je suis, puisque je ne sais pas exactement ce qui a fait pouf, on va demander à apt de me reinstaller tout. Apt couine sur son sources.list. Voyons voir. Tiens ? C'est un fichier binaire. Que dit file ? Un ficher Timezone Data. Wow... Pas grave, je vais recréer un sources.list et zou. Ah, dpkg couine. Comment-ça ta base de donnée des packages est flinguées ? Là, subitement, j'ai comme un gros doute sur mes disques pour le RAID. Ce sont des disques qui auparavant ont servi, pour l'un dans un portable qui a rendu l'âme et pour l'autre dans ma PS3 et s'est vu remplacé par un disque de plus grande capacité pour stocker les mises-à-jour toujours plus grosses des quelques jeux que je possède. Et c'est là qu'est mon erreur. J'ai oublié de faire un smartctl pour vérifier l'état des disques. Autant le disque de la PS3 ne pose pas de problèmes, autant celui du portable me crache un bon nombre d'erreurs SMART. Moralité, le disque est mort ou du moins peu fiable. Ok. On arrête les frais. Le lendemain, achat de disques prévu. Le lendemain du lendemain (Ouais, c'est une saga sur plusieurs jours), je profite de ma pause de midi pour foncer chez le dealer de matos informatique du coin. « Bonjour monsieur le vendeur de came électronique. Je voudrais deux disques 2,5", les plus petits et les moins chers que vous ayez, genre, quoi, 80 Go vous avez ? — Mais voyons cher client, de si petites tailles, ça ne se fait plus depuis longtemps. — Erf, bon, vous avez quoi ? — 500 Go, 90€. — Han ! — Douleur intense au niveau du fondement — Mettez-m'en deux. Merci, au revoir. » Prions maintenant que ces disques aient échappés aux curés et ministres en vadrouille et autres bestioles semi-aquatiques Thaïlandaises. Je me dis, finalement, 500 Go, c'est pas mal, je vais installer le système du NAS sur une petite partition et garder le reste comme partition de backup qui sera du coup sur le RAID. Bon, ça ne vaut des backups externalisés mais c'est toujours ça de pris. En attendant mieux. De retour @home, vu que le système actuel du NAS me paraît irrécupérable, (y'a p'tet un moyen, mais sur Debian je n'ai aucune envie de chercher), faisons une réinstallation d'OpenMediavault. Auparavant, parce que tout d'un coup je suis devenu parano avec les disque, faisons la matrice RAID et lançons une vérification de la matrice par la carte RAID avant même de coller le moindre petit bout de donnée dessus. Comptez 2h30 facile. Mais une nouvelle surprise m'attend, tapie au coin du bois. Elle se prépare à me sauter dessus. Fourbe qu'elle est. OpenMediavault ne sait pas s'installer sur autre-chose qu'un disque complet. Et là, vu les déconvenues que j'ai eu ces derniers jours, pas envie de redimensionner la partition système après coup. Donc, exit la solution OpenMediavault, et je me rabats sur l'installation d'une bonne vieille Gentoo. Après tout, mon HTPC et mon PC principal sont sous Gentoo, autant unifier. # Bug ? Vous avez dit bug ? # Alors allons-y, démarrons sur le System Rescue CD et créons nos partitions joyeusement. Cette fois-ci, je grade mon schéma habituel. Et je mets du BTRFS sur la partition racine. Oui, j'aime vivre dangereusement. Je lance vigoureusement (mais pas trop loin quand même) mon mkfs.btrfs et... Paf, encore. Je vous livre carrément ce que j'ai vu sur mon écran : root@sysresccd /root % mkfs.btrfs /dev/sda3 WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using error checking /dev/sda3 mount status root@sysresccd /root % Bon... C'est un bug connu. Un problème sur le check de ce qui est monté ou pas qui apparaît dans /proc/mtab. Dans mon cas il a suffit de faire un touch /boot/sysrcd.dat et zou, ça a fonctionné. Mon partitionnement fait, je m'attaque à l'installation proprement dite de Gentoo. J'ai prendre des risques, vous devez commencer à le savoir. J'aime donc installer directement une bonne partie de ce dont j'ai besoin pendant que je suis dans le chroot. J'ai donc exécuté (d'une balle dans la nuque) la commande suivante : emerge -unDNq --keep-going world squid sqhuidguard grub cups nfs-utils samba lvm2 btrfs-progs dhcp hostapd bind **Et devinez quoi ?** J'ai des problèmes avec Automake qui se vautre sur certains packages, allez savoir pourquoi. Et du coup... Grub ne compile pas... Je ne sais pas pourquoi, je sens que cette histoire n'est pas terminée. Mais je vais gagner. Pas question qu'un grille-pain évolué arrive à me dominer non mais. Je ne sais pas si une entité cosmique transcendantale malveillante a décidé de faire de moi son joujou cette année mais une chose est sûre : Je ne me laisserai pas faire. Vous ne me prendrez pas vivant sales montres tentaculaires du fin fond de l'espace. M'en vais dynamiter votre putain de citée engloutie moi ! Je sais que tout ça n'est pas bien grave en soi. La faim dans le monde, la guerre, les pédoteroactivistes, et surtout ce que je vais bien pouvoir cuisiner pour ma femme et mes gamines ce soir sont bien plus importants. Mais quand même, ça fait un peu braire. Bref... Si j'ai bien retenu quelque chose que je savais déjà et que je vais appliquer désormais avec bien plus d'assiduité c'est : Faites des backups de vos données importantes ! Quelques infos supplémentaires : [Où sont les superblocks JFS](http://www.aixmind.com/?p=1182) [Le thread qui a donné le work-around pour le problème de btrfs](http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg08331.html) [La description pile-poil de mon soucis](https://www.sysresccd.org/forums/viewtopic.php?f=13&t=4274) [Des infos kivonbien sur BTRFS](http://www.funtoo.org/wiki/BTRFS_Fun)

AltStyle によって変換されたページ (->オリジナル) /