Wie richte ich bcache ein?


11

Ich habe versucht, bcache in Ubuntu 14.04 mit einer Neuinstallation und einer leeren /homePartition ( /dev/sdb2) als Sicherungsgerät einzurichten . Ich habe ein laufendes System auf meiner SSD und möchte seine /dev/sda2Partition zum Zwischenspeichern meiner verwenden /home . Ich habe es immer geschafft, meine Ubuntu-Probleme in den Foren zu lösen, aber ich habe Probleme, die Grundlagen hier zu verstehen, und brauche Hilfe:

  1. Welches Konto muss ich angemeldet sein, wenn ich bcache überhaupt einrichte? Offensichtlich muss der Benutzer, der während der Installation erstellt /dev/sdb2wurde, abgemeldet sein, damit /homeer nicht gemountet werden kann. Daher habe ich ein temporäres Benutzerkonto auf einer separaten Partition eingerichtet, um dies zu tun. Das scheint schon zu ungeschickt.
  2. make-bcache -Bund -Cbeide sagen mir, dass es auf dem Gerät Nicht-Bcache-Superblocks gibt, also habe ich es sudo wipefs -aauf beiden Geräten getan . Die Partitionen werden dann in GParted als unformatiert ohne UUID angezeigt. Ist das normal?
  3. Wenn ja, was passiert mit fstab und /homebeim Booten? Muss ich die UUID von bcache in fstab verwenden? Ich habe es getan, aber das System hat die /homePartition beim nächsten Start nicht gefunden.

  4. Beide echo /dev/sdb2 > /sys/fs/bcache/registerund echo /dev/sda2 > /sys/fs/bcache/registerRückmeldungen "Berechtigung verweigert"; Soweit ich weiß, /syskann nicht geschrieben werden.

    Scheint also echo /dev/sdb2 | sudo tee /sys/fs/bcache/registergeklappt zu haben.

Kann jemand überprüfen, ob dies der richtige Weg ist, dies in Ubuntu zu tun?

Ich habe es anscheinend geschafft, das Sicherungslaufwerk zu erstellen, zu registrieren und anzuhängen, aber laut dem habe tail /sys/block/bcache0/bcache/stats_total/*ich nur Daten umgangen. Mein gesamtes Setup ist jetzt ziemlich durcheinander, daher wäre jede Klarstellung sehr dankbar.


Hast du es getestet? Scheint, dass Sie das "How-to" kennen, was Sie wissen müssen?
Braiam

Ich habe es wie oben getestet und bekomme Cache-Treffer, Fehler und Bypässe. Das Problem ist, dass mein Sicherungsgerät, das meine Home-Partition sein soll, beim Start nicht als Home-Partition, sondern als separates Laufwerk bereitgestellt wird. Mein / home ist also im Moment ein Ordner auf / und ich teste bcache, indem ich Dateien auf das Sicherungsgerät kopiere und darauf zugreife. Ich habe mit fstab herumgespielt, was wahrscheinlich ein Fehler war, und ich habe jetzt keine gültige UUID für meine / home-Partition, wenn das irgendeinen Sinn ergibt. Was ich brauche, ist ein idiotensicherer Durchgang speziell für Ubuntu.
Laszlo Almasi

OK, ich habe fstab durcheinander gebracht und / home hatte die falsche UUID. Es scheint jetzt zu funktionieren. Mich würde immer noch interessieren, wie genau bcache eingerichtet werden soll: von einem temporären Benutzerkonto, einer Live-CD / USB oder einem anderen?
Laszlo Almasi

Antworten:


7

Mit Ubuntu 15.10 ist die Antwort von alex nicht mehr korrekt. Das initramfsImage ist im Installationsprogramm gesperrt und wird bei der Installation des Systems nicht automatisch neu generiert. Somit wird man eine bcacheInstallation haben, aber es wird nicht in der Lage sein zu booten. Ich habe an anderer Stelle eine ausführlichere Beschreibung des folgenden Prozesses geschrieben . Hier sind jedoch die Grundlagen:

1. Partitionierung

Booten Sie die Ubuntu-Live-CD und erstellen Sie das folgende Partitionsschema mit fdiskoder gparted. Angenommen, es /dev/sdaist Ihre SSD und /dev/sdbIhre Festplatte:

/dev/sda1 - 1024 MB, EXT4, used for /boot (grub/grub2 doesn't support bcache)
/dev/sda2 - any format, for cache
/dev/sdb1 - EFI partition (if your machine needs it)
/dev/sdb2 - swap
/dev/sdb3 - any format, backing partition

2. Erstellen Sie das bcache-Gerät

Öffnen Sie das Terminal und löschen Sie die Dateisysteme auf dem Sicherungs- und Caching-Gerät:

sudo wipefs -a /dev/sda2
sudo wifefs -a /dev/sdb3

Installieren bcache-toolsund erstellen Sie das bcacheGerät:

sudo apt-get update
sudo apt-get install bcache-tools
sudo make-bcache -B /dev/sdb3 -C /dev/sda2
sudo mkfs.ext4 /dev/bcache0

3. Installieren Sie Ubuntu

Installieren Sie das Betriebssystem mit dem benutzerdefinierten Partitionierer wie folgt:

/dev/bcache0 - format EXT4, use as /
/dev/sda1    - format EXT4, use as /boot
/dev/sdb1    - EFI partition (if your machine needs it)
/dev/sdb2    - swap

Nach Abschluss des Installationsvorgangs NICHT neu starten !

4. Installieren Sie bcache auf der neuen Installation

Mit einem chrootinstallieren wir bcache-toolsauf der neuen Installation. Richten Sie die Umgebung ein und aktivieren Sie die DNS-Auflösung

sudo mount /dev/bcache0 /mnt
sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

Geben Sie die ein chrootund führen Sie die Installation durch

sudo chroot /mnt
sudo apt-get update
sudo apt-get install bcache-tools

Während der Installation sollten Sie feststellen, dass das initramfsneu generiert und auf der ( chroot-ed) -Partition installiert wird /boot.

5. Aufräumen

Hängen Sie das Dateisystem sauber aus und starten Sie es neu.

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot

2

Nach einigem Ausprobieren bin ich zu der folgenden Lösung für eine Neuinstallation gekommen:

  • Partitionieren Sie die Festplatte /dev/sdb2nach Ihren Wünschen (vorausgesetzt , Sie möchten genügend Platz für Ihre Festplatte haben /home).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Dies wird erstellt /dev/bcache0, aber das UI-Installationsprogramm kann es noch nicht verwenden.)
  • # mkfs.ext4 /dev/bcache0 (Dadurch wird dem Installationsprogramm unter "device / dev / bcache0" eine "Partition / dev / bcache0" angezeigt, und Sie können sie während der Installation als "/ home" verwenden.)
  • Führen Sie das Installationsprogramm wie gewohnt aus und wählen Sie erweiterte Festplattenpartitionsoptionen aus.
  • Das Installationsprogramm erstellt ein initrdImage mit dem bcacheKernelmodul, das enthalten und geladen ist, da wir es bcache-toolszuvor installiert haben. Nach dem Neustart funktioniert es also einfach.
  • Installieren Sie das installierte System nach dem Booten bcache-toolserneut, damit weitere Updates den Startvorgang nicht beeinträchtigen, indem Sie das erforderliche bcache-Kernelmodul aus dem initrd-Image entfernen.

Ich habe am Ende auf bcache verzichtet, weil ich sowohl für Ubuntu als auch für Windows in einer Double-Boot-Konfiguration Cache brauchte und auch von einem anderen System aus auf meine Laufwerke zugreifen kann. Deshalb habe ich beschlossen, dass Cacheing für diesen PC einfach nicht geeignet ist. Trotzdem danke für deine Hilfe.
Laszlo Almasi

0

Auch ich habe es viele Male versucht und bin gescheitert, bis ich diese Anweisungen gefunden habe: http://www.wdong.org/wordpress/blog/2014/05/28/installing-ubuntu-14-04-to-bcache/

Sie klingen etwas haarig, aber dies ist wahrscheinlich der einzig mögliche Weg, um bcache zum Laufen zu bringen, zumindest bis bcache Teil des Ubuntu-Installationsprogramms wird.

Die einzige merkwürdige Auslassung in der Anleitung ist die allerletzte Stufe.

Nachdem Sie alles erledigt haben, suchen Sie die UUID des in / sys / fs / bcache festgelegten Caches und gehen Sie folgendermaßen vor:

echo <UUID> > /sys/block/bcache0/bcache/attach

Wenn Sie den Rückschreibemodus aktivieren möchten (was ich dringend empfehlen würde):

echo writeback > /sys/block/bcache0/bcache/cache_mode

Wenn Sie verschiedene Dateien in Cats speichern, erfahren /sys/block/bcache0/bcache/Sie alles über die Ausführung des Caches. Ich habe mein System am 26. Juli dieses Jahres anhand dieser Anweisungen eingerichtet und seitdem läuft alles einwandfrei. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratiozeigt sehr zufriedenstellende 88 Prozent und subjektiv fühlt sich die Maschine wie ein All-SSD-Setup an.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.