1580913

Die Flashcache-Installation

09.10.2012 | 14:23 Uhr | Thorsten Eggeling

Nichts für Anfänger: Die Flashcache-Installation
Die Installation von Flashcache ist nicht ganz einfach. Sie sollten auf jeden Fall vorher eine Sicherung wichtiger Daten und von Verzeichnissen wie /boot, /etc und /lib/modules erstellen. Wenn etwas schiefgeht, können Sie das System über das Ubuntu aus dem Internet von PC-WELT wieder reparieren. Bei den folgenden Befehlszeilen gehen wir davon aus, dass Sie ein Terminalfenster geöffnet haben und sich über sudo su root-Rechte verschafft haben. Wenn nicht, müssen Sie jeder Befehlszeile ein sudo voranstellen. Die Beschreibung bezieht sich auf eine Ubuntu-12.04-Standardinstallation, sollte aber auch für andere Linux-Systeme gelten.

Achtung: Wenn Sie die Schritte wie beschrieben durchführen, wird die gesamte SSD als Cache-Speicher verwendet. Alle darauf befindlichen Daten gehen dabei verloren.
Schritt 1: Bringen Sie – wenn noch nicht geschehen – Ubuntu über „Aktualisierungen“ auf den neuesten Stand. Wir haben den bei Redaktionsschluss den zuletzt aktuellen Kernel 3.2.0-26-generic zusammen mit der 64-Bit-Version von Ubuntu verwendet. Mit der Zeile
apt-get install git build-essential dkms linux-headers-'uname -r&apos ;
installieren Sie dann die für die Software-Entwicklung nötigen Pakete.

Schritt 2: Erstellen Sie ein Verzeichnis für den Quelltext von Flashcache, beispielsweise ~/src. Wechseln Sie auf der Kommandozeile mit cd ~/src in dieses Verzeichnis, und führen Sie die Befehlszeile git clone https://github.com/facebook/flashcache.git aus. Die Dateien liegen danach im Verzeichnis ~/src/flashcache.
Schritt 3: Jetzt kompilieren Sie das Programm. Dazu wechseln Sie mit cd ~/src/flashcache in das Verzeichnis und geben make -f Makefile.dkms und danach make -f Makefile.dkms boot_conf ein. Damit werden einige Tools und ein Kernel-Modul erstellt und an die richtigen Positionen im Dateisystem kopiert.

Unter /dev/disk/by-uuid befindet sich die Liste aller Partitionen und der dazugehörigen UUIDs. Über die UUID lässt sich eine Partition unabhängig von Gerätepfad ansprechen.
Vergrößern Unter /dev/disk/by-uuid befindet sich die Liste aller Partitionen und der dazugehörigen UUIDs. Über die UUID lässt sich eine Partition unabhängig von Gerätepfad ansprechen.

Schritt 4: Sie müssen jetzt fstab und grub.cfg anpassen, damit Linux vom Cache-Gerät startet. Mit dem Befehl
ls -la /dev/disk/by-uuid können Sie sich die UUIDs der Partitionen anzeigen lassen. Suchen Sie die UUID der Root-Partiton („/“) heraus. Über den Befehl mount lässt sich ermitteln, wie der zugehörige Device-Pfad der Root-Partition heißt, beispielsweise /dev/sda6 . Öffnen Sie die Datei /etc/fstab in einem Editor. Hier finden Sie eine Zeile, mit der zuvor ermittelten UUID. Kommentieren Sie diese mit einem „#“ am Anfang der Zeile aus. Schreiben Sie in die nächste Zeile
/dev/mapper/fc-md / ext4 relatime,nobarrier 0 1
Öffnen Sie die Datei /boot/grub/grub.cfg in einem Editor. Suchen Sie hier den Abschnitt mit dem Standardeintrag, über den Sie Ihr Linux-System starten. Er beginnt beispielsweise mit „menuentry ‚Ubuntu, mit Linux 3.2.0-26-generic‘“. Darunter steht eine Zeile, die etwa so aussehen kann:
linux /boot/vmlinuz-3.2.0-26-generic root=UUID=[ID] ro quiet splash $vt_handoff
Statt [ID] finden Sie hier die von Ihnen vorher ermittelte UUID. Andern Sie die Zeile wie folgt:
linux /boot/vmlinuz-3.2.0-26-generic root=/dev/mapper/fc-md ro quiet splash $vt_handoff
„/dev/mapper/fc-md“ ist später der Pfad zum Cache-Device, das über das Flashcache-Modul erzeugt wird. Bitte beachten Sie: Es ist eigentlich nicht vorgesehen, dass ein Nutzer die Datei grub.cfg ändert. Zurzeit ist es aber nicht ohne Weiteres möglich, mit Flashcache die Ubuntu-Standardmechanismen zum Anpassen der Bootumgebung zu nutzen. Nach einem Kernel-Update oder einem Lauf von update-grub müssen Sie daher die Änderung in der grub.cfg erneut vornehmen oder aus einer Sicherung wiederherstellen.

Ubuntu mit der Linux-Paketverwaltung optimieren

Schritt 5: Die nächste Anpassung müssen Sie von einem externen System aus vornehmen, weil dazu die Root-Partition nicht gemountet sein darf. Starten Sie Ubuntu daher von der Installations-DVD, ferner ein Terminalfenster. Geben Sie sudo su ein. Mounten Sie die Root-Partition. Dazu verwenden Sie den Befehl mount /dev/[sdXY] /mnt. [sdaXY] ersetzen Sie durch die Bezeichnung der Root-Partition. Wechseln Sie in das in Schritt 2 erstellte Verzeichnis mit dem Quellcode, etwa /mnt/[Benutzername]/src/flashcache. Geben Sie make clean ein, um die Reste des vorherigen Compilerlaufs zu beseitigen. Mit make install erstellen Sie die Programme und installieren sie im aktuellen Bootsystem. Mit umount /mnt hängen Sie jetzt die
System-Partion auf der Festplatte wieder aus.

Damit Linux die SSD als Cache-Speicher nutzt, starten Sie das System von /dev/mapper/fc-md. Den zugehörigen Eintrag bringen Sie in der Datei /boot/grub/grub.cfg unter.
Vergrößern Damit Linux die SSD als Cache-Speicher nutzt, starten Sie das System von /dev/mapper/fc-md. Den zugehörigen Eintrag bringen Sie in der Datei /boot/grub/grub.cfg unter.

Schritt 6: Jetzt bereiten Sie die SSD als Cache-Speicher vor. Dazu geben Sie die Zeile
flashcache_create -v -p back -b 4k fc-md /dev/[sdX] /dev/disk/ by-uuid/[UUID]
ein. Für [sdX] setzen Sie den Gerätenamen der SSD ein, und für [UUID] verwenden Sie wieder die ID der Root-Partition, die Sie über ls -la /dev/disk/by-uuid ermitteln können. Die Bezeichung „fc-md“ für das Cache-Gerät in unserem Beispiel ist frei wählbar. Sie muss aber dem Namen entsprechen, den Sie in Schritt 4 in die fstab und grub.cfg eingetragen haben. Danach fahren Sie das Installationssystem herunter und booten Linux wie gewöhnlich. Beim Start des Systems wird jetzt das Kernel-Modul flashcache aus der Ramdisk geladen und steht so schon zur Verfügung, bevor „/“ eingehängt wurde. Das Modul erstellt ein Gerät unter /dev/mapper, über das sich das Cache-Laufwerk ansprechen lässt. Mit dem Befehl dmsetup status fc-md können Sie sich statistische Daten ausgeben lassen. Weitere Infos finden Sie unter /proc/flashcache.

Flashcache wieder entfernen: Wenn Sie Flashcache nicht mehr nutzen möchten, machen Sie zuerst die Änderungen von Schritt 4 rückgängig. Danach gehen Sie vor wie in Schritt 5 beschrieben. Verwenden Sie den Befehl flashcache_destroy /dev/[sdX], um den Cache zu entfernen. Für [sdX] geben Sie den Gerätenamen der SSD an. Starten Sie dann das installierte System. Wenn Sie möchten, können Sie dann noch das Kernel-Modul unter /lib/modules entfernen. Am einfachsten ist es, das Verzeichnis mit den Kernel-Modulen aus der Sicherungskopie wiederherzustellen.

PC-WELT Marktplatz

1580913