GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie entferne ich das Cache-Gerät aus bcache?

Ich habe bcache verwendet nur in einer Writethrough-Konfiguration und IIRC sogar dann bcache mag überhaupt nicht, wenn das Cache-Gerät verschwindet, während die Maschine läuft. Erwarten Sie die bcache Gerät in diesem Fall vollständig blockieren.

Ich habe nicht versucht, das Cache-Gerät zu entfernen, während die Maschine ausgeschaltet ist, daher kann ich dazu nichts sagen. Ich denke aber, dass bcache ist immer noch ziemlich heikel, daher würde ich empfehlen, dass Sie das 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 notwendige Cache-Set-UUID zu ermitteln, schauen Sie in /sys/fs/bcache/ nach :

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 no cache lauten danach:

host ~ # cat /sys/block/bcache0/bcache/state
no cache

Angenommen, Sie haben erfolgreich einen bcache eingerichtet, Sie 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 tun. Diese Lösung basiert auf VM-Versuchen.

Nehmen wir an, wir sprechen über das Gerät /dev/bcache0 , das neue Cache-Gerät ist /dev/sdf1 und das Trägergerät ist /dev/md1 . Alle Befehle werden von root ausgeführt.

  1. Stellen Sie sicher, dass nichts dieses bcache0-Gerät verwendet.
  2. In beliebiger Reihenfolge ausführen
    1. Entfernen Sie das Cache-Gerät, so wie Martin von Wittich es geschrieben hat, indem Sie setUUID in /sys/block/bcache0/bcache/detach zurückgeben . Wenn Sie das Caching-Gerät neu partitionieren möchten, müssen Sie neu starten, da bcache die Partitionen immer noch sperrt, es sei denn, Sie deregistrieren es.
    2. formatieren Sie ein neues Cache-Gerät mit make-bcache -C /dev/sdf1 und notieren Sie sich die setUUID dieses Geräts.
  3. Registrieren Sie unser Sicherungsgerät mit dem neuen Cache-Set:

    echo [setUUID of new cache device] >/sys/block/bcache0/bcache/attach

Kein Neustart erforderlich.


Einzeiler:

echo $(ls -d /sys/fs/bcache/*-*-* | cut -f5 -d/) > /sys/block/bcache0/bcache/detach

Warten Sie dann, bis der Cache gelöscht wird:

while true; do if [[ $(cat /sys/block/bcache0/bcache/state) != "dirty" ]]; 
then echo "DONE"; break; 
else cat /sys/block/bcache0/bcache/dirty_data; sleep 30; fi; done

Linux
  1. Wie entferne ich die Bom aus einer UTF-8-Datei?

  2. Wie entferne ich Weinprogrammeinträge aus dem Menü?

  3. Wie entferne ich deinstallierte Programme aus dem Unity Dash-Menü?

  4. So entfernen Sie das Passwort aus Ihrem SSL-Schlüssel

  5. So entfernen Sie das Multipath-Gerät nach dem Aufheben der Zuordnung der Speicher-LUN vom Server

So entfernen Sie den Unity-Desktop von Ubuntu 17.10

So entfernen Sie das Papierkorbsymbol von Ubuntu Desktop

Verzeichnis in Linux entfernen – So löschen Sie einen Ordner von der Befehlszeile aus

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

Wie entferne ich Swap Space von Centos 7.x?