Seite wählen

Linux Virtual File System

von | Jun 7, 2011 | Linux, Technology, Betriebssysteme

VFS – Virtual File System ist eine Abstraktionsschicht bzw. API um diverse Dateisysteme einheitlich ansprechen und steuern zu können. Hierbei ist es irrelevant ob es sich dabei um lokale Blockgeräte oder Netzwerkdateisysteme handelt.  Jedes unterliegende Dateisystem wird durch das VFS angesprochen.
VFS ist nicht neu, allerdings wurden in der Linux-Kernel Version 2.6.38 einige Verbesserung eingebaut. Der „Path-Lookup“-Mechanismus und „dcache“ (Directory Cache) wurden neu überarbeitet.  Ein Kommentar von Linus Torvald zufolge, dem Initiator und Projektleiter des Linux-Kernels,  soll der Performancegewinn bis zu 35% betragen. Die Verbesserungen betreffen sowohl die Mulitthreaded-Skalierbarkeit als auch Singlethreaded-Operationen. Er hat dies mit einem „find . -size“ in seinem Home-Directory getestet.
Für mich hören sich diese Leistungen super an, vor allem wenn man seine Systemleistung ohne Kosten für neue Hardware steigern kann. Systeme die viele stat() System-Calls auf eine große Menge von Dateien und/oder Verzeichnisse anwenden, können hiervon profitieren. Zum Beispiel Mailserver mit sehr vielen Nutzern und jeweils tausenden Mails in den jeweiligen Konten oder Fileserver.
Grund genug für mich dies selbst auf die Probe zu stellen. In meinem Test habe ich auf einem Testsystem ebenfalls ein Homeverzeichnis mit git-Checkouts diverser Linux-Kernel Versionen verwendet und zusätzlich 1 Millionen Dateien in das Verzeichnis angelegt. Anschließend habe ich mit „time“ 30 mal „find“ über diese Homeverzeichnis laufen lassen, um einen Mittelwert zu erzeugen. Einmal mit dem aktuellen Stable-Debian-Kernel (2.6.32) und einmal mit einem neu kompilierten 3.0er Kernel auf dem selben System. Der Kernel 3.0 entspricht dank der neuen Namensgebung der Version 2.6.40.
Das Ergebnis war leider nicht so phenomenal, wie ich es erwartet hätte. Anstelle der im Voraus erwähnten 35% konnte ich nur 7% Leistungszuwachs gewinnen. Was natürlich auch nicht schlecht ist.
In vielen Distributionen wird ein Kernel (>=2.6.38) bereits eingesetzt. Auf Servern mit Debian Squeeze würde ich jedoch davon abraten und weiterhin den Kernel der Distribution verwenden, außer man benötigt dieses oder andere Features aus den aktuellen Versionen.

Sebastian Saemann
Sebastian Saemann
CEO Managed Services

Sebastian kam von einem großen deutschen Hostingprovider zu NETWAYS, weil ihm dort zu langweilig war. Bei uns kann er sich nun besser verwirklichen, denn er leitet das Managed Services Team. Wenn er nicht gerade Cloud-Komponenten patched, versucht er mit seinem Motorrad einen neuen Rundenrekord aufzustellen.

1 Kommentar

  1. Joerg

    vielen Dank für den gedanklichen Anstoß mich nun vielleiht doch einmal mit VFS zu befassen. Bisher bin ich immer ganz gut ohne ausgekommen, aber interessant ist es schon…

    Antworten

Trackbacks/Pingbacks

  1. Weekly Snap: Monitoring Aida Cruises, Linux VFS & Perl Tips « NETWAYS Blog - [...] off, Sebastian put the Linux Virtual File System (VFS) API to the test. Since the improvements made to “path…

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Linux | Technology | Betriebssysteme

Kibana Sicherheits-Updates: CVSS:Critical

Und täglich grüßt das Murmeltier. Nein nicht ganz. Heute ist es  aus der Elastic Stack Werkzeugkiste Kibana, für das es ein wichtiges Sicherheits-Update gibt. Es besteht auf jeden Fall Handlungsbedarf! IMHO auch wenn ihr die "Reporting" Funktion deaktiviert habt. Der...