Avec de nombreux nouveaux disques durs, la taille du secteur physique est de 4096. Serait-il possible de faire en sorte que le système utilise une taille de secteur logique de la même taille, plutôt que la taille de secteur logique par défaut de 512 ?
Accélérera-t-il les lectures et écritures en masse ?
Où peut-il être configuré ?
Réponse acceptée :
512 octets n'est pas vraiment la taille de secteur par défaut. Cela dépend de votre matériel.
Vous pouvez afficher les tailles de secteur physique/logique signalées par votre disque via /sys
pseudo système de fichiers, par exemple :
# cat /sys/block/sda/queue/physical_block_size
4096
# cat /sys/block/sda/queue/logical_block_size
512
Quelle est la différence entre ces deux valeurs ?
- La
physical_block_size
est la taille minimale d'un bloc que le lecteur est capable d'écrire dans une opération atomique. - La
logical_block_size
est la plus petite taille que le lecteur est capable d'écrire (cf. la documentation du noyau linux).
Ainsi, si vous avez un lecteur 4k, il est logique que votre pile de stockage (système de fichiers, etc.) utilise quelque chose d'égal ou de supérieur à la taille du secteur physique.
Ces valeurs sont également affichées dans les versions récentes de fdisk
, par exemple :
# fdisk -l /dev/sda
[..]
Sector size (logical/physical): 512 bytes / 4096 bytes
Sur les distributions Linux actuelles, les programmes (qui devraient se soucier de la taille de secteur optimale) comme mkfs.xfs
choisira la taille de secteur optimale par défaut (par exemple 4096 octets).
Mais vous pouvez aussi le spécifier explicitement via une option, par exemple :
# mkfs.xfs -f -s size=4096 /dev/sda
Ou :
# mkfs.ext4 -F -b 4096 /dev/sda
Dans tous les cas, la plupart des mkfs
les variantes afficheront également la taille de bloc utilisée lors de l'exécution.
Pour un système de fichiers existant, la taille de bloc peut être déterminée avec une commande comme :
# xfs_info /mnt
[..]
meta-data= sectsz=4096
data = bsize=4096
naming =version 2 bsize=4096
log =internal bsize=4096
= sectsz=4096
realtime =none extsz=4096
Ou :
# tune2fs -l /dev/sda
Block size: 4096
Fragment size: 4096
Ou :
# btrfs inspect-internal dump-super /dev/sda | grep size
csum_size 4
sys_array_size 97
sectorsize 4096
nodesize 16384
leafsize 16384
stripesize 4096
dev_item.sector_size 4096
Lors de la création du système de fichiers sur une partition, une autre chose à vérifier est de savoir si l'adresse de début de la partition est réellement alignée sur la taille du bloc physique. Par exemple, regardez le fdisk -l
sortie, convertissez les adresses de début en octets, divisez-les par la taille physique du bloc - le rappel doit être égal à zéro si les partitions sont alignées.