Magazine

Monter ses disques avec des uuid

Publié le 05 mai 2008 par Dxxcorp

Depuis quelques temps mon gros ordi (celui qui a plein de disques durs) plantait sérieusement au bout d’un temps pas si long (plusieurs heures, mais moins d’une journée). La faute à un disque dur qui paniquait le noyau. Historiquement c’est le premier disque qu’a eu mon ordi; celui sur lequel il y a Windows

J’ai essayé en ne montant pas les partitions de ce disque, et en déplaçant le swap (qui était sur une partition de ce disque)

Etant passé à la libata depuis pas longtemps (2.6.24), tous mes disques (IDE et SATA) se sont trouvés en sd*. C’était bien beau mais il devenait impossible de désactiver le disque fautif à partir d’une option du noyau… Et enlever physiquement le disque allait déplacer tous mes sd*, et donc foutre le dawa dans mon montage

J’ai demandé de l’aide à des collègues, qui ne m’ont pas trouvés la solution pour désactiver un disque dans le noyau, mais quand j’ai parlé à l’un d’eux du problème qu’il y a à enlever physiquement un disque (décalage des sd*), il m’a sorti: “Ah, bah c’est parce que tu monte pas tes disques avec les UUID!” Dediou, mais suis-je con…

Les uuid c’est marrant: ça fait une très longue chaîne de caractère impossible à retenir. Jusqu’ici je ne voyais pas vraiment l’utilité. Je savais que les partitions en avait un, qu’on pouvait monter une partition en utilisant son uuid, mais à part ça…

L’avantage, l’IMMENSE avantage à monter une partition en utilisant son uuid c’est que même si le disque change de nappe ide, de slot sata, se balade en firewire, en usb ou pcmcia, les partitions gardent leurs uuid. Et ça, ça règle mon problème de sd* qui se fait décaler

:)

Faites un tour dans /dev/disk/by-uuid et vous comprendrez.

Alors ni une ni deux, j’ai passé mon /etc/fstab avec des uuid.

Ce qui auparavant était:

/dev/sda1 / reiserfs defaults 0 1

Moyenant:

$ blkid /dev/sda1
/dev/sda1: UUID=”8b7ed797-6971-4eb8-90f3-f05555f614f3″ TYPE=”ext2″ LABEL=”boot”

Devient:

UUID=8b7ed797-6971-4eb8-90f3-f05555f614f3 / reiserfs defaults 0 1

Et hop, un reboot plus tard, et tout est comme avant. Faut juste pas oublier de faire la même chose avec le swap et les périphérique chiffrés.

Tiens par ailleurs: le fichier de conf de dmcrypt n’acceptant pas les montages à uuid, au lieu d’indiquer /dev/sdMachin, il faut lui indiquer /dev/disk/by-uuid/<UUID>

Par ailleurs encore: si vos disques ont des labels, vous pouvez les monter avec. Au lieu de ‘UUID=’, dans fstab, il faut indiquer ‘LABEL=’. Là encore, la commande blkid vous aidera.

Et pour finir: autant que je sache les uuid identifient une partition et si vous changez le système de fichier (avec mkfs.{xfs,jfs,reiserfs,ext2,and-so-on…}) l’uuid dégage. Il a cependant moyen de le forcer pour ne pas laisser le mkfs en créer un autre. RTFM

:)

PS: reste un soucis: autant que je sache, udev n’est pas lancé quand le noyau cherche à monter sa partition racine. Donc l’option ‘root=’ du noyau est un /dev/machin old-school, et pas de uuid qui tiennent. Quelqu’un a une idée géniale? sans initrd, of course: trop simple

:)


Retour à La Une de Logo Paperblog

A propos de l’auteur


Dxxcorp 1 partage Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte