J'utilise Linux avec 4 disques durs qui utilisent des secteurs 4k. Il existe plusieurs couches entre mon système de fichiers et les périphériques bruts: Disques> Linux Raid 5> dm-crypt> LVM.
Chaque ressource que j'ai trouvée a expliqué comment configurer chaque couche pour garantir que les écritures au-dessus de cette couche seront alignées sur la limite du secteur 4k. Cependant, je n'ai rien trouvé qui explique comment vérifier que les écritures effectuées sur les disques durs se produisent réellement aux limites de 4k.
Je ne suis pas intéressé à réexaminer ma configuration pour utiliser la logique afin de déterminer si elle est correctement alignée. Je veux examiner ce qui se passe réellement lorsque des écritures sont effectuées sur le disque.
Comment puis-je enregistrer ou afficher les adresses et la taille des écritures qui sont effectuées sur mes disques durs, afin de pouvoir vérifier qu'elles sont correctement alignées?
la source
Écrivez un bloc de 4k et regardez combien de données sont lues / écrites avec
iostat
(les colonnes 'Blk_read' 'Blk_wrtn'). Si les données ne sont pas alignées, une écriture déclenchera les lectures en premier et déclenchera plus de 4 000 écritures.Vous devrez faire attention de ne pas mesurer les mises à jour de métadonnées, mais ... ou tout simplement les noyer en faisant 1000s de 4k .... écrit Donc , assurez - vous que rien d' autre numérise des disques ou des fichiers ouverts maintenant (je pense
lsof
serait suffisant?), puis ouvrez un nouveau fichier, attendez, exécuteziostat
, écrivez 4k dans le fichier, synchronisez l'écriture (ou attendez un peu?), puis vérifiez àiostat
nouveau.Cela semble donner une sortie raisonnable pour moi:
iostat
La page de manuel de Note prétend rapporter dans des blocs de 512 octets, et je vois qu'un peu plus de 80000 blocs supplémentaires ont été écrits, et aucun bloc n'a été lu. Si votre alignement est désactivé, vous verrez un nombre similaire de lectures (car pour écrire un 4k mal aligné, il faut lire les deux blocs impactés, les muter et les réécrire). En fait, la seule raison pour laquelle l'alignement est important est d'éviter de telles lectures (c'est donc vraiment ce que vous voulez rechercher: un déclencheur de charge d'écriture lit-il?)la source