VxFS df zeigt Merkwürdiges an und gibt es eine 10% Reservierung für root?
Mittwoch, 24. März 2010
Hallo Sysadmins,
vor ein paar Tagen habe ich ein VxFS Filesystem erweitert und df -h hat mir komische Werte anschließend angezeigt. Jedenfalls meinte das der Kunde. Das Filesystem wurde um 300GB erweitert. Vorher hatten wir 20GB frei und anschließend – nein – nicht etwa 320GB sondern etwa 318GB. Der arme Kunde fühlte sich um 2GB betrogen und fing morgens um 4.30h eine lebhafte Diskussion an.
Heute ging es meinen Kollegen ähnlich. Das VxFS Filesystem war brandneu erzeugt und es gab eine signifikante Lücke zwischen ‘size’ ‘used’ und ‘avail’. Darauf hin ging die Suche los: Bei UFS (und bei ext2 unter LINUX) werden schon mal 10% des verfügbaren Platzes im Filesystem für root reserviert. Also wo bitte kann man bei VxFS bzw. bei vxtunefs die Reservierung einstellen? Die Kollegen haben einen Call bei Symantec eröffnet – bin mal gespannt was dabei raus kommt … Ein kleiner gemeiner Test für den Support
Zur Sache Schätzen:
Da VxFS unter Solaris nie als Filesystem boot fähig ist/war – machen auch Reservierungen wie bei UFS üblich keinen Sinn. Wenn root und var Filesystem vom User fast voll geschrieben wurden (bis auf den reservierten Bereich), ist es von Vorteil, wenn für den root-User noch etwas Platz übrig ist. So kann man sich noch einloggen und für Abhilfe sorgen. Der Default Wert für UFS liegt übrigens bei (64MBytes/volumesize)*100, liegt immer zwischen 1 und max 10% und kann natürlich schon beim Erzeugen des UFS per ‘mkfs -o free=99 …. ‘ beeinflusst werden . Ebenso mit ‘tunefs -m [0-10] % <filesystem>’ geändert werden. Für VxFS gibt es das nicht!
Woher kommt er nun – der fehlende freie Plattenplatz bei leeren VxFS Filesystemen? VxFS ist ein Extent basiertes Filesystem. Es gibt keine vorher festgelegten (beim Anlegen) Strukturen von Inodes und DataBlocks wie bei UFS. Sondern nur dynamische Strukturen. Zur Verwaltung des freien Platzes gibt es eine extent_map. Das ist ein File, was für den Nutzer und auch für den Administrator im Verborgenen liegt (außer ncheck Utility). In dieser extent_map werden alle Permutationen der möglichen Extent Längen vorgehalten. Je mehr freier Platz vorhanden ist, desto größer wird diese Tabelle. Füllt sich das Filesystem im Laufe der Zeit, werden die möglichen Permutationen weniger und die Tabelle wird kleiner. Wenn das Filesystem schließlich zu 100% gefüllt ist, wird die Tabelle nicht mehr benötigt.
Bei VxFS ist es also möglich den gesamten Platz des Filesystems vollständig für Daten auszunutzen. Abzüglich des kleinen Bereichs der beim neu angelegten Filesystems schon als ‘used’ ausgewiesen wird. Im Gegensatz zum UFS Filesystem (gutes altes Berkeley FFS übrigens), sind die Verwaltungsinformationen relativ klein ( bei 500GB nur ca. 191M statt UFS imerhin ca. 8GB für Verwaltung). Außerdem ist durch die dynamische Struktur sichergestellt, das sowohl kleine als auch sehr große Files gut verwaltet werden können. UFS macht bei Extremwerten keine gute Figur. Ganz zu Schweigen von den Möglichkeiten der Online Reorganisation oder auch dem Vergrößern und Verkleinern im laufenden Betrieb.
Vielleicht schreibe ich demnächst noch was über weitere Features von VxFS: Storage Checkpoints, Reorganisation oder die Konvertierung eines UFS in VxFS (das allerdings nicht Online im gemounteten Zustand). Dran bleiben und RSS Feed abonnieren …
Wer sich selber tiefer in VxFS und VxVM einarbeiten möchte, für den habe ich noch einen Buch Tip:
“Storage Management in Data Centers” von Voker Herminghaus und Albrecht Scriba. Frisch im Springer Verlag erschienen!
Viele Grüße
Michael
Thema: Veritas | 3 Kommentare




