Ich habe bcache
nur in einer Durchschreibkonfiguration verwendet, und IIRC mag es auch dann bcache
überhaupt nicht, wenn das Cache-Gerät verschwindet, während der Computer läuft. Erwarten Sie, dass das bcache
Gerät in diesem Fall vollständig blockiert.
Ich habe nicht versucht, das Cache-Gerät zu entfernen, während der Computer ausgeschaltet ist, daher kann ich dazu nichts sagen. Ich denke, das bcache
ist immer noch ziemlich heikel, daher würde ich empfehlen, dass Sie dies zuerst mit einer VM oder einem physischen Testcomputer versuchen.
Um das Cache-Gerät sicher zu entfernen, können Sie den Cache-Satz vom Bcache-Gerät trennen:
echo <cache-set-uuid> > /sys/block/bcache0/bcache/detach
Um die erforderliche UUID für den Cache-Satz zu ermitteln, schauen Sie in /sys/fs/bcache/
:
host ~ # ll /sys/fs/bcache/
total 0
drwxr-xr-x 7 root root 0 Feb 19 00:11 eb99feda-fac7-43dc-b89d-18765e9febb6
--w------- 1 root root 4096 Feb 19 00:11 register
--w------- 1 root root 4096 Feb 7 07:17 register_quiet
Führen Sie in diesem Fall beispielsweise Folgendes aus:
echo eb99feda-fac7-43dc-b89d-18765e9febb6 > /sys/block/bcache0/bcache/detach
Die state
Datei sollte danach sagen no cache
:
host ~ # cat /sys/block/bcache0/bcache/state
no cache
Angenommen, Sie haben einen bcache erfolgreich eingerichtet, arbeiten bereits daran, legen dort viele wichtige Daten ab, die zu groß sind, um sie einfach zu sichern, und beginnen von vorne, wenn Sie feststellen, dass Sie das Caching-Gerät besser ersetzen sollten. So können Sie es machen. Diese Lösung basiert auf VM-Versuchen.
Nehmen wir an, wir sprechen über das Gerät
/dev/bcache0
, das neue Cache-Gerät/dev/sdf1
und das Backing-Gerät/dev/md1
. Alle Befehle werden von root ausgeführt./sys/block/bcache0/bcache/detach
. Wenn Sie das Caching-Gerät neu partitionieren möchten, müssen Sie einen Neustart durchführen, da bcache die Partitionen weiterhin sperrt, sofern Sie die Registrierung nicht aufheben.make-bcache -C /dev/sdf1
und notieren Sie sich die setUUID dieses Geräts.Registrieren Sie unser Sicherungsgerät mit dem neuen Cache-Set:
echo [setUUID of new cache device] >/sys/block/bcache0/bcache/attach
Kein Neustart erforderlich.
quelle
Einzeiler:
Warten Sie dann, bis der zwischengespeicherte Code gelöscht ist:
quelle