Ich verwende Linux mit 4 Festplatten, die 4k-Sektoren verwenden. Zwischen meinem Dateisystem und den Raw-Geräten befinden sich mehrere Ebenen: Festplatten> Linux Raid 5> dm-crypt> LVM.
Jede Ressource, die ich gefunden habe, hat erklärt, wie jede Ebene eingerichtet wird, um sicherzustellen, dass Schreibvorgänge auf dieser Ebene an der 4k-Sektorgrenze ausgerichtet werden. Ich habe jedoch nichts gefunden, was erklärt, wie überprüft werden kann, ob die auf die Festplatten vorgenommenen Schreibvorgänge tatsächlich an 4k-Grenzen stattfinden.
Ich bin nicht daran interessiert, mein Setup erneut zu überprüfen, um mithilfe von Logik festzustellen, ob es richtig ausgerichtet ist. Ich möchte untersuchen, was tatsächlich passiert, wenn Schreibvorgänge auf die Festplatte ausgeführt werden.
Wie kann ich die Adressen und die Größe der Schreibvorgänge protokollieren oder anzeigen, die auf meine Festplatten ausgeführt werden, damit ich überprüfen kann, ob sie korrekt ausgerichtet sind?
quelle
Schreiben Sie einen 4k-Block und beobachten Sie, mit wie vielen Daten gelesen / geschrieben wird
iostat
(Die Spalten 'Blk_read' 'Blk_wrtn'). Wenn die Daten nicht ausgerichtet sind, löst ein Schreibvorgang zuerst Lesevorgänge und mehr als 4 KB Schreibvorgänge aus.Sie müssen jedoch darauf achten, keine Metadatenaktualisierungen zu messen ... oder sie einfach zu übertönen, indem Sie Tausende von 4k-Schreibvorgängen ausführen ... Stellen Sie also sicher, dass nichts anderes Datenträger scannt oder geöffnete Dateien enthält (glaube
lsof
ich) ausreichend?), dann eine neue Datei öffnen, warten, ausführeniostat
, 4k in die Datei schreiben, das Schreiben synchronisieren (oder einfach eine Weile warten?) und danniostat
erneut prüfen .Dies scheint für mich eine vernünftige Leistung zu liefern:
iostat
Die Manpage von Note behauptet, in 512-Byte-Blöcken zu berichten, und ich sehe, dass etwas mehr als 80000 zusätzliche Blöcke geschrieben und keine Blöcke gelesen wurden. Wenn Ihre Ausrichtung deaktiviert ist, wird eine ähnliche Anzahl von Lesevorgängen angezeigt (da zum Schreiben eines falsch ausgerichteten 4k die beiden betroffenen Blöcke gelesen, mutiert und zurückgeschrieben werden müssen). Tatsächlich ist der einzige Grund, warum die Ausrichtung wichtig ist, das Vermeiden solcher Lesevorgänge (also ist das wirklich das, wonach Sie suchen möchten: Löst ein Schreib-Workload Lesevorgänge aus?)quelle