GNU/Linux >> Tutoriels Linux >  >> Linux

Optimisation de la taille du secteur logique pour la taille du secteur physique 4096 Hdd ?

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.

En relation :Linux – Comment tester si un binaire Linux a été compilé en tant que code indépendant de la position ?
Linux
  1. Comment rechercher des fichiers par taille et extension ?

  2. Comment vérifier les blocs défectueux sur un volume physique Lvm ?

  3. Comment vérifier la taille du tas pour un processus sous Linux

  4. Échangez la taille de la partition pour 4 Go de RAM

  5. Utilisation totale du disque pour un utilisateur particulier

Tutoriel de commande de taille Linux pour les débutants (6 exemples)

La gestion des volumes logiques expliquée sous Linux

Pourquoi la taille d'un répertoire est-elle toujours de 4096 octets sous Unix ?

Bonne taille de bloc pour le clonage de disque avec diskdump (dd)

Dois-je utiliser un SSD ou un disque dur pour échanger sur un vieil ordinateur

Comment déterminer la meilleure taille d'octet pour la commande dd