Hilfe, wo ist mein Arbeitsspeicher hin?

Bei dem Einsatz von ZFS passiert es sehr häufig, dass der verfügbare Arbeitsspeicher kleiner wird. Der ARC belegt bis zu zwei Drittel des vorhandenen Arbeitsspeichers - ungenutzter Arbeitsspeicher ist schließlich Verschwendung. Theoretisch ist ZFS so ausgelegt, dass die Größe sich je nach laufenden Prozessen und benötigtem Arbeitsspeicher anpasst. Bei mir funktioniert das oftmals nicht, wenn plötzlich ein großer Teil des Arbeitsspeichers auf einmal alloziert wird.

Stellenmarkt
  1. Softwareentwickler (m/w/d)
    MLF Mercator-Leasing GmbH & Co. Finanz-KG, Schweinfurt
  2. IT-Systembetreuer / Chapter Lead (m/w/d) Windows / Unix
    ING Deutschland, Frankfurt, Nürnberg
Detailsuche

Um dem Problem zu entgehen, habe ich die Größe des ARC in den Bootparametern limitiert. Die genaue Vorgehensweise wird im Gentoo-Wiki beschrieben. Eine Limitierung ist nur notwendig, wenn dem System weniger als 16 GByte Arbeitsspeicher zur Verfügung stehen. Auf meiner Workstation mit 64 GByte Arbeitsspeicher musste ich den ARC nicht limitieren.

Arbeitsspeicher-Einsatz spart Festplattenspeicher

ZFS unterstützt von Haus aus eine automatische Komprimierung geschriebener Daten - ohne dass Benutzer etwas davon mitbekommen. Der schnelle lz4-Algorithmus bremst selbst eine NVME-SSD nicht aus, und das bei akzeptabler CPU-Auslastung. Doch nicht nur durch Komprimierung spart ZFS wertvollen Platz auf der Festplatte. Wer RAM zu verschenken hat, kann das Deduplication-Feature aktivieren. Wenn ZFS genug Arbeitsspeicher für sich beschlagnahmt hat, werden keine Daten mehr doppelt auf die Festplatte geschrieben.

ZFS-Installation mit Hürden

Jede aktuelle Distribution unterstützt zwar ZFS, das System auf einem ZFS-Pool zu installieren, gestaltet sich aber mal mehr, mal weniger schwierig. Grund hierfür ist die Geschichte von ZFS. Erstmals veröffentlicht wurde es von Sun Microsystems im Jahr 2006 unter der CDDL, einer Open-Source-Lizenz, die aber inkompatibel zur GPL des Linux-Kernels ist.

Golem Akademie
  1. Jira für Anwender: virtueller Ein-Tages-Workshop
    4. Februar 2022, virtuell
  2. Webentwicklung mit React and Typescript: virtueller Fünf-Halbtage-Workshop
Weitere IT-Trainings

Als Oracle Sun Microsystems 2009/10 übernahm, wurde ZFS von Oracle proprietär weiterentwickelt. Der derzeitige Weg zur Nutzung von ZFS ist das OpenZFS-Projekt. Es geht auf die letzte veröffentlichte Version des ZFS-Quellcodes zurück und hat Einzug in Repositorys vieler Distributionen gefunden. Die Lizenz-Problematik wird mit dem Einsatz von Dynamischen Kernel-Modulen (dkms) gezielt umgangen. Doch genau dieser Umweg macht die Installation auf einem ZFS-Pool komplexer als das gewohnte Weiterklicken mit anderen Dateisystemen.

Am anwenderfreundlichsten läuft der Prozess ironischerweise mit Archlinux. Nachdem ein Installationsimage mit ZFS erstellt wurde, wird das System auch mit ZFS installiert. Eine Anleitung dazu findet sich im Archlinux-Wiki.

Von Solaris zu Linux

ZFSonLinux, die OpenZFS- Implementierung unter Linux, besteht aus zwei Teilen: dem eigentlichen ZFS-Modul und dem Solaris Porting Layer, kurz: SPL. Dieser ermöglicht es, Code, der für den Solaris-Kernel entwickelt wurde, unter dem Linux-Kernel auszuführen. Für ZFSonLinux bedeutet das konkret: Es muss nichts portiert werden - die Änderungen am Code, um ZFS unter Linux lauffähig zu bekommen, sind minimal. Die Entwicklung geht somit schneller voran und es schleichen sich keine Fehler im Portierungsprozess ein.

ZFS-Pool erstellen

Vor der Erstellung eines ZFS-Pools müssen sich Nutzer Gedanken über den Aufbau machen. Ob es ein RaidZ wird, eine Spiegelung oder eine Art Raid-0 , bleibt ihnen überlassen. In meinem Notebook ist Platz für eine einzige NVME-SSD, ein Raid-Level ist daher nicht möglich. Da ich sowohl eine EFI Boot- Partition als auch einen kleinen SWAP benötige, formatiere ich zuerst die SSD in 3 Partitionen: eine für ZFS, eine für die EFI-Systempartition und eine für die Auslagerungspartition.

Um den ZFS-Pool zu erstellen, nutze ich die Kommandozeilen-Anwendung zpool. Mit folgendem Befehl erzeuge ich meinen Pool, auf dem ich später das System installiere:

  1. zpool create zroot /dev/disk/by-id/nvme-Samsung_SSD_960_EVO_500GB_****-part2
zpool status verrät mir, ob alles geklappt hat!

Sofern alles fehlerfrei verlaufen ist, erstelle ich mir Datasets für / und /home:

  1. zfs create -o mountpoint=none,compression=lz4 zroot/ROOT
  2. zfs create -o mountpoint=/ zroot/ROOT/arch
  3. zfs create -o mountpoint=none,compression=lz4 zroot/data
  4. zfs create -o mountpoint=/home zroot/data/home

Danach kann die Installation für die gewünschte Distribution beginnen!

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 ZFS ausprobiert: Ein Dateisystem fürs Rechenzentrum im privaten EinsatzAls Backup dient ein Schnappschuss 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


mgutt 18. Mai 2020

Im Artikel wird ja erwähnt, dass ZFS den Vorteil hat, dass nur geänderte Daten übertragen...

GAK 25. Okt 2017

Kein Unterschied zu einem RAID5 bei dem mehr Platten fehlen als es Redundanz gibt.

Bachsau 22. Okt 2017

Seit wann ist höhere Komplexität ein Qualitätsmerkmal und "Packe alle Funktionen in ein...

ldlx 16. Okt 2017

so vom technischen her hätte ich schon interesse. Das kann ja immerhin irgendwas mehr als...

pumok 16. Okt 2017

Ich gebe zu, ist etwas weithergeholt, aber hier noch ein Vergleich, der veranschaulicht...



Aktuell auf der Startseite von Golem.de
Framework Laptop im Hardware-Test
Schrauber aller Länder, vereinigt euch!

Der modulare Framework Laptop ist ein wahrgewordener Basteltraum. Und unsere Begeisterung für das, was damit alles möglich ist, lässt sich nur schwer bändigen.
Ein Test von Oliver Nickel und Sebastian Grüner

Framework Laptop im Hardware-Test: Schrauber aller Länder, vereinigt euch!
Artikel
  1. FTTH: Liberty Network startet noch mal in Deutschland
    FTTH
    Liberty Network startet noch mal in Deutschland

    Das erste FTTH-Projekt ist gescheitert. Jetzt wandert Liberty von Brandenburg nach Bayern an den Starnberger See.

  2. 5.000 Dollar Belohnung: Elon Musk wollte Twitter-Konto von 19-Jährigem stilllegen
    5.000 Dollar Belohnung
    Elon Musk wollte Twitter-Konto von 19-Jährigem stilllegen

    Tesla-Chef Elon Musk bot einem US-Teenager jüngst angeblich 5.000 US-Dollar, damit der seinen auf Twitter betriebenen Flight-Tracker einstellt.

  3. Let's Encrypt: Was Admins heute tun müssen
    Let's Encrypt
    Was Admins heute tun müssen

    Heute um 17 Uhr werden bei Let's Encrypt Zertifikate zurückgezogen. Wir beschreiben, wie Admins prüfen können, ob sie betroffen sind.
    Eine Anleitung von Hanno Böck

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RTX 3080 12GB 1.499€ • iPhone 13 Pro 512GB 1.349€ • DXRacer Gaming-Stuhl 159€ • LG OLED 55 Zoll 1.149€ • PS5 Digital mit o2-Vertrag bestellbar • Prime-Filme für je 0,99€ leihen • One Plus Nord 2 335€ • Intel i7 3,6Ghz 399€ • Alternate: u.a. Sennheiser Gaming-Headset 169,90€ [Werbung]
    •  /