[Linux-31] état du matériel et mises à jour

Pascal Hambourg pascal at plouf.fr.eu.org
Sam 28 Mar 10:21:54 CET 2015


jdd a écrit :
> Le 28/03/2015 00:27, Pascal Hambourg a écrit :
> 
>>> jdd <jdd at dodin.org> wrote:
> 
>>>> j'ai utilisé le fdisk d'openSUSE (patché par openSUSE). Il me déclare
>>>> que s'occuper des cylindres est obsolète (sans dire pourquoi)
>>
>> Parce qu'on utilise maintenant l'adressage linéaire (LBA), et que la
>> notion de cylindre, en plus d'être totalement fictive, n'a plus aucun
>> sens. Les cylindres ou pistes, c'est juste bon pour les disquettes.
> 
> ca n'a pourtant pas changé depuis l'année dernière :-)

Non, c'est beaucoup plus ancien. Pour l'interface ATA, l'adressage CHS a
été déclaré obsolète par l'ATA-6 en 2002, avec l'introduction de
l'adressage LBA-48. Mais déjà bien avant, dès l'apparition de
l'interface IDE, la géométrie CHS était fictive pour rester compatible
avec son ancêtre ST-506 et les BIOS.

L'adressage CHS dans la table de partition MSDOS/MBR et l'alignement des
partitions sur des limites de cylindres était nécessaire pour la
compatibilité avec de vieux OS comme MS-DOS et les anciennes versions de
Windows (ce n'est pas le cas de Windows XP au moins). Mais cet adressage
sur 24 bits est limité à ~8,4 Go. Au-delà, il faut utiliser l'adressage
LBA sur 32 bits, lui-même limité à 2 Tio. Au-delà, il faut passer au
format de table de partition GPT qui n'utilise pas l'adressage CHS.

Ce qui a changé plus récemment mais il y a déjà quelques années, c'est
l'apparition et la banalisation des disques au format avancé 512e (qui
ont des secteurs physiques de 4096 octets contenant 8 secteurs logiques
de 512 octets) et les disques flash SSD (qui ont des blocs d'effacement
de grande taille, typiquement 128 Kio à 1 Mio). L'alignement des
partitions sur des limites de cylindres dont la taille standard (63
secteurs * 255 têtes = 16065 secteurs par cylindre) n'est pas un
puissance de 2 n'est pas adapté à ces disques.

D'autre part, nous avons vu tous les deux que le noyau de GRUB
grossisait et pouvait dans certains cas (btrfs+LVM) ne plus tenir dans
les 62 secteurs entre le MBR et le début de la première partition avec
un alignement traditionnel basé sur la géométrie CHS.

Pour ces raisons on aligne maintenant les partitions sur 2048 secteurs
soit 1 Mio.

>>>> Je crée donc une partition 1 du début (par défaut, 2048 je crois)
>>>> jusqu'à 10 371 750 et je constate qu'elle fait 5Go.
>>
>> Normal avec des secteurs de 512 octets.
> 
> oui, mais la valeur qu'il me propose ensuite comme début est à  10 373 
> 120, il y a donc bien un alignement sur quelque chose :-)

Oui, sur 2048 secteurs soit 1 Mio, ce qui est le standard actuel pour
s'accomoder avec les disques au format avancé et les SSD.

>> Autre possibilité : créer le système de fichiers avec l'option -c pour
>> marquer les secteurs défectueux comme inutilisables.
> 
> oui, mais je voulais garder une marge autour des secteurs défectueux 
> pour le cas ou le nombre augmenterait (si tant est que les secteurs 
> soient consécutifs, ce qui n'a rien d'évident de nos jours)

Dans ce cas j'ai oublié de mentionner une autre solution : fournir à
mkfs lors de la création ou ultérieurment à fsck un fichier contenant la
liste des blocs à marquer comme défectueux avec l'option -l.

Par contre il faudra faire un petit calcul pour convertir les numéros de
secteurs du disque en numéros de blocs du système de fichiers. Ou bien
tu utilises mkfs ou fsck avec l'option -c pour détecter et marquer
automatiquement les blocs défectueux, puis tu les listes avec dumpe2fs
-b (ou équivalent pour le système de fichiers choisi) et à partir de la
tu étends la plage fournie à fsck -l.



Plus d'informations sur la liste de diffusion Linux-31