GNU/Linux >> Znalost Linux >  >> Linux

Jak odeberu zařízení mezipaměti z bcache?

Použil jsem bcache pouze v konfiguraci pro zápis a IIRC i tehdy bcache vůbec se mu nelíbí, když zařízení mezipaměti zmizí, když je počítač spuštěn. Očekávejte bcache zařízení se úplně zastaví, pokud k tomu dojde.

Nepokoušel jsem se odstranit zařízení mezipaměti, když je počítač vypnutý, takže k tomu nemohu nic říct. Myslím si však, že bcache je stále dost citlivá, takže bych vám doporučil, abyste to nejprve zkusili na virtuálním počítači nebo na fyzickém testovacím stroji.

Chcete-li bezpečně odebrat zařízení mezipaměti, můžete odpojit sadu mezipaměti od zařízení bcache:

echo <cache-set-uuid> > /sys/block/bcache0/bcache/detach

Chcete-li zjistit potřebné UUID sady mezipaměti, podívejte se do /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

Takže například v tomto případě spusťte:

echo eb99feda-fac7-43dc-b89d-18765e9febb6 > /sys/block/bcache0/bcache/detach

state soubor by měl říkat no cache poté:

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

Předpokládejme, že jste úspěšně nastavili bcache, již na ní pracujete, vložte do ní spoustu důležitých dat příliš velkých na to, abyste je mohli jednoduše zálohovat, a začněte znovu, když jste si uvědomili, že je lepší vyměnit mezipaměť. Takto to můžete udělat. Toto řešení je založeno na zkušebních VM.

Řekněme, že mluvíme o zařízení /dev/bcache0 , nové zařízení mezipaměti je /dev/sdf1 a podpůrné zařízení je /dev/md1 . Všechny příkazy provádí root.

  1. Ujistěte se, že toto zařízení bcache0 nic nepoužívá.
  2. Proveďte v libovolném pořadí
    1. Odstraňte zařízení mezipaměti, jak napsal Martin von Wittich, ozvěnou setUUID do /sys/block/bcache0/bcache/detach . Pokud chcete znovu rozdělit mezipaměťové zařízení, musíte restartovat, protože bcache stále zamyká oddíly, pokud jej nezrušíte.
    2. formát – nová mezipaměť zařízení s make-bcache -C /dev/sdf1 a poznamenejte si setUUID tohoto zařízení.
  3. Zaregistrujte naše podpůrné zařízení s novou sadou mezipaměti:

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

Není třeba restartovat.


One-liner:

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

Poté počkejte, dokud se mezipaměť nevymaže:

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. Jak odstranit položky programu Wine z nabídky?

  2. Jak odebrat nenainstalované programy z nabídky Unity Dash?

  3. Jak odstranit heslo z klíče SSL

  1. Jak odebrat vícecestné zařízení po odmapování LUN úložiště ze serveru

  2. Jak odinstalovat aria2 z Ubuntu

  3. Jak odstraním soubory z koše na Ubuntu?

  1. Jak odebrat správce mezipaměti cPanel

  2. Jak odstranit řádky, které se objevují v souboru B, z jiného souboru A?

  3. Jak odstranit iso 9660 z USB?