To main content

Gentoo-Portage auf btrfs

Veröffentlicht von Benjamin Marwell am

Mein neues Gentoo wollte ich gleich mal ein paar Performance-Tests unterziehen. Dazu gehört auch die Wahl des richtigen Dateisystems, zumal mein /usr/portage -Verzeichnis auf einer SSD liegt. Btrfs klang für mich nach einer guten Wahl, bleibt noch der Vergleich diverser Optionen.

Testaufbau

Für die Tests wird der Befehl eix-sync  auf einem leeren Dateisystem abgesetzt und der Speicherverbrauch begutachtet. Vorteil von eix-sync sind neben der guten Statistik am Ende auch das praxisnahe Verhalten - kaum ein Mensch wird einen neuen Portage nicht durch eix indizieren lassen.

Test 1: Vanilla-Btrfs

Testszenario

Das Dateisystem wird direkt ohne Angabe von Optionen gemountet.
mkfs.btrfs -L "Portage" /dev/sdb3
mount /dev/sdb3 /usr/portage
eix-sync
[…]
* Benötigte Zeit:
255 Sekunden für syncen
6 Sekunden für eix-update
1 Sekunden für eix-diff
262 Sekunden insgesamt

df -h /usr/portage/
Dateisystem   Size  Used   Avail   Use%   Eingehängt auf
/dev/sdb3      10G  577M    7,9G     7%     /usr/portage

Test 2: Mit Mountoptionen

Testszenario

Folgende Mountoptionen wurden werwendet:
  • noatime Ausschalten der Zugriffszeit, da es unnötige (performancefressende) Schreiboperationen zur Folge hat und diese Informationen für das Portage eh nicht gebraucht werden
  • compress=lzo Einfach mal ein kleines Experiment von mir. Mal schauen, wie sich das Portage verkleinern lässt, und welche folgen das auf die Performance hat. Benötigt Kernel 2.6.39 oder höher!
  • ssd Schaltet  SSD-spezifische  Optimierungen im Dateisystem an. Diese sind leider nicht näher benannt.
  • noacl Deaktiviert die Möglichkeit, Zugriffe über Acces Control Lists zu beschränken. Wird auf dem Portage bei mir eh nicht gebraucht, da nur der Root-Account Schreib- und die Benutzeraccounts Lesezugriff erhalten sollen.
umount /usr/portage
mkfs.btrfs /dev/sdb3
mount -o noatime,compress=lzo,ssd,noacl /dev/sdb3 /usr/portage/
eix-sync
[…]
* Benötigte Zeit:
154 Sekunden für syncen
5 Sekunden für eix-update
1 Sekunden für eix-diff
160 Sekunden insgesamt

df -h /usr/portage/
Dateisystem   Size   Used   Avail   Use%   Eingehängt auf
/dev/sdb3      10G   427M    8,0G     5%    /usr/portage

Mein Fazit

»SSD-Option« klingt für mich so, als wenn es die SSD-Lebensdauer etwas erhöhen könnte. Alleine dafür lohnt sich jetzt schon der Einsatz von btrfs, zumal ein Datenverlust der Portage-Partition wirklich nicht problematisch ist. Btrfs muss allerdings in den Kernel einkompiliert werden. Wer Gentoo nutzt, sollte damit aber zurechtkommen. Wer also kann: Anschalten!