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?
Cela accélérera-t-il les lectures et les écritures en masse? Où peut-il être configuré?
hard-disk
performance
io
Matan
la source
la source
mkfs.*
devraient automatiquement utiliser la taille de secteur optimale. Vous pouvez faire desmkfs.*
tests et inspecter le résultat (soit dans la sortie détaillée de mkfs ou dans un programme utilitaire fs connexe).Réponses:
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 secteurs physiques / logiques que votre disque signale via le
/sys
pseudo système de fichiers, par exemple:Quelle est la différence entre ces deux valeurs?
physical_block_size
la taille minimale d'un bloc que le lecteur est capable d'écrire dans une opération atomique.logical_block_size
la plus petite taille que le disque soit 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 supérieur à la taille du secteur physique.
Ces valeurs sont également affichées dans les versions récentes de
fdisk
, par exemple:Sur les distributions Linux actuelles, les programmes (qui devraient se soucier de la taille optimale du secteur) comme
mkfs.xfs
choisiront la taille optimale du secteur par défaut (par exemple 4096 octets).Mais vous pouvez également le spécifier explicitement via une option, par exemple:
Ou:
Dans tous les cas, la plupart des
mkfs
variantes afficheront également la taille de bloc utilisée lors de l'exécution.Pour un système de fichiers existant, la taille du bloc peut être déterminée avec une commande comme:
Ou:
Ou:
Lors de la création du système de fichiers sur une partition, une autre chose à vérifier est alors si l'adresse de début de la partition est réellement alignée sur la taille du bloc physique. Par exemple, regardez la
fdisk -l
sortie, convertissez les adresses de début en octets, divisez-les par la taille du bloc physique - le rappel doit être nul si les partitions sont alignées.la source
fdisk -l
, divisée par 8 puis 512. La le reste n'était pas 0, donc la partition ne semble pas alignéefdisk -l
rapportUnits = sectors of 1 * 512 = 512 bytes
dans l'un de mes systèmes Linux - ainsi, pour un lecteur logique / physique 512/4096 avec 2 partitions à partir de 2048 et 1026048, je calcule2048*512%4096
et1026048*512%4096
- par exemple dans un shell python. Puisque les deux expressions sont égales à zéro, ces partitions sont alignées en 4k.Non, ce n'est pas possible, et cela n'aurait pas d'importance s'il l'était. L'E / S est généralement effectuée en unités d'au moins 4096 octets de toute façon, et généralement beaucoup plus.
la source
Oui, c'est possible, mais cela entraînerait le remplissage du lecteur beaucoup plus rapidement qu'il ne le devrait. Pour les fichiers de moins de 512 Ko, chaque fichier occuperait alors un total de 4096 Ko (4 Mo) et remplirait le reste du secteur avec des 0 en raison de l'incapacité de la plupart des systèmes de fichiers (NTFS et similaires) à permettre aux fichiers de partager des secteurs. La meilleure option pour un système de fichiers serait d'autoriser des tailles de secteur variables, mais cela augmente la taille du MFT (table de fichiers maîtres) et augmente le risque de corruption de données tout en réduisant la capacité de récupérer facilement des données. En d'autres termes, les limites ne seraient pas entièrement connues du logiciel de récupération. Ainsi, bien qu'une taille de secteur logique de 4096 Ko soit géniale pour les gros fichiers, pour un PC à usage quotidien normal, ce n'est qu'un tas de 0. Maintenant, cela dit, il y a la possibilité de stocker des données dans le MFT lui-même quand il s'agit de données plus petites que la taille du secteur logique. Cela signifie cependant que votre MFT devient énorme et que les données seront écrites deux fois (il y a deux copies du MFT sur votre disque dur). Vous devrez également spécifier la taille maximale du MFT qui peut causer des problèmes lorsque vous atteignez son maximum ou que l'utilisation du lecteur dépasse ce qui serait gratuit pour le MFT. Tout cela est basé sur l'utilisation d'un système de fichiers NTFS. Du côté positif, NTFS vous permet d'utiliser la compression native pour les fichiers au niveau du bloc pour toute taille de secteur logique de 4 Mo ou moins. Cette limitation est appliquée en raison de la façon dont fonctionne la compression NTFS. Les blocs de 4 Mo sont lus et compressés quelle que soit la taille du secteur logique. Ceci, bien sûr,
Alors, cela clarifie-t-il un peu les choses pour vous?
la source
la source