Nachfolgend finden Sie eine Liste mit Schritten, um die Extent-Fragmentierung des Speicherplatzes auf OCFS2 zu bestimmen. Die Schritte sollten auf einem offline geschalteten o2image funktionieren und einen Hinweis auf fragmentierungsbedingte Leistungsprobleme geben.
Überprüfen der Fragmente im OCFS2-Volume
1. Verwenden Sie debugfs.ocfs2 Um OCFS2-Dateisystemstrukturen auf der Festplatte auf /dev/$your_ocfs2_volume anzuzeigen, sehen Sie sich das folgende Beispiel an:
# debugfs.ocfs2 /dev/sdb debugfs.ocfs2 1.6.3 debugfs:
2. Führen Sie „stat //global_bitmap“:
aus
debugfs: stat //global_bitmap Inode: 11 Mode: 0644 Generation: 1123409557 (0x42f5de95) FS Generation: 1123409557 (0x42f5de95) CRC32: 00000000 ECC: 0000 Type: Regular Attr: 0x0 Flags: Valid System Allocbitmap Chain Dynamic Features: (0x0) User: 0 (root) Group: 0 (root) Size: 2147490164736 Links: 1 Clusters: 524289591 ctime: 0x4f0c1e9f -- Tue Jan 10 03:18:55 2012 atime: 0x4f0c1e9f -- Tue Jan 10 03:18:55 2012 mtime: 0x4f0c1e9f -- Tue Jan 10 03:18:55 2012 dtime: 0x0 -- Wed Dec 31 16:00:00 1969 ctime_nsec: 0x00000000 -- 0 atime_nsec: 0x00000000 -- 0 mtime_nsec: 0x00000000 -- 0 Refcount Block: 0 Last Extblk: 0 Orphan Slot: 0 Sub Alloc Slot: Global Sub Alloc Bit: 7 Bitmap Total: 524289591 Used: 262461691 Free: 261827900 Clusters per Group: 32256 Bits per Cluster: 1 Count: 243 Next Free Rec: 243 ## Total Used Free Block# 0 2161152 1086804 1074348 219469824 1 2161152 1341165 819987 313560576 ... 32 2161152 1163460 997692 424295424 33 2161152 1205493 955659 126475776 --More--
3. Drücken Sie die Leertaste, um mehr zu erhalten, bis Sie die Gruppenketteninformationen wie unten finden:
Group Chain: 0 Parent Inode: 11 Generation: 1123409557 CRC32: 00000000 ECC: 0000 ## Block# Total Used Free Contig Size 0 219469824 32256 4286 27970 1874 4032 1 148925952 32256 10405 21851 1996 4032 ... 65 509483520 32256 30721 1535 1535 4032 66 517321728 32256 30721 1535 1535 4032
4. Bereisen Sie jeden Artikel in der Gruppenkette, um die Werte des Felds „Contig“ zu erhalten. Je kleiner die Werte als localalloc_size/cluster_size sind, desto mehr Fragmente enthält diese Gruppenkette. Die Standardgröße von localalloc ist 8 MB, Sie können eine Option wie „localalloc=4“ hinzufügen, um die Größe beim Mounten des OCFS2-Volumes auf 4 MB zu ändern. Wie im Beispiel von Schritt 3, unter der Annahme, dass localalloc 8 MB und die Clustergröße 4 KB beträgt, dann localalloc_size/cluster_size=8 MB/4 KB =2048, dann sind die Elemente 0, 1, 65, 66 Fragmente.
5. Reise durch jede Gruppenkette, um die Fragmente zu überprüfen. Je mehr Gruppenketten Sie reisen, bevor Sie eine finden, die nicht viele Fragmente enthält, desto mehr Fragmente enthält Ihr Dateisystem und desto schlechter wird die OCFS2-Leistung sein.
Überprüfen der Fragmente in der offline geschalteten O2image-Datei.
1. Wenn es sich um ein Rohformat handelt (erzeugt von o2image mit der Option „-r“), ersetzen Sie den obigen Schritt 1 durch:
# debugfs.ocfs2 o2image.raw
2. Wenn es sich um ein gepacktes Format handelt (erzeugt von o2image ohne „-r“-Option), dann ersetzen Sie den obigen Schritt 1 als:
# debugfs.ocfs2 -i o2image.packed
oder
# o2image -I o2image.disk o2image.packed
dann
# debugfs.ocfs2 o2image.disk