GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer le périphérique de cache de bcache ?

J'ai utilisé bcache uniquement dans une configuration en écriture, et IIRC même alors bcache n'aime pas du tout si le périphérique de cache disparaît pendant que la machine est en cours d'exécution. Attendez-vous au bcache l'appareil se bloque complètement si cela se produit.

Je n'ai pas essayé de supprimer le périphérique de cache lorsque la machine est éteinte, donc je ne peux rien dire à ce sujet. Je pense cependant que bcache est encore assez délicat, je vous recommande donc d'essayer d'abord avec une machine virtuelle ou une machine de test physique.

Pour supprimer en toute sécurité le périphérique de cache, vous pouvez détacher l'ensemble de cache du périphérique bcache :

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

Pour déterminer l'UUID de l'ensemble de cache nécessaire, regardez dans /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

Donc par exemple dans ce cas, exécutez :

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

Le state le fichier doit indiquer no cache après ça :

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

Supposons que vous ayez configuré avec succès un bcache, que vous y travailliez déjà, y mettez beaucoup de données importantes trop volumineuses pour être simplement sauvegardées et recommencez, lorsque vous réalisez qu'il vaut mieux remplacer le périphérique de mise en cache. C'est ainsi que vous pouvez le faire. Cette solution est basée sur des essais de VM.

Disons que nous parlons de l'appareil /dev/bcache0 , le nouveau périphérique de cache est /dev/sdf1 et le périphérique de support est /dev/md1 . Toutes les commandes effectuées par root.

  1. Assurez-vous que rien n'utilise ce périphérique bcache0.
  2. Faire dans n'importe quel ordre
    1. Supprimez le périphérique de cache comme l'a écrit Martin von Wittich, en renvoyant setUUID dans /sys/block/bcache0/bcache/detach . Si vous souhaitez repartitionner le périphérique de mise en cache, vous devez redémarrer, car bcache verrouille toujours les partitions à moins que vous ne le désenregistriez.
    2. format - nouveau périphérique de cache avec make-bcache -C /dev/sdf1 et notez le setUUID de cet appareil.
  3. Enregistrez notre périphérique de sauvegarde avec le nouvel ensemble de cache :

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

Pas besoin de redémarrer.


Une ligne :

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

Attendez ensuite que le cache soit effacé :

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. Comment supprimer le mot de passe de votre clé SSL

  2. Comment supprimer le périphérique multichemin après avoir démappé le LUN de stockage du serveur

  3. Comment désinstaller aria2 d'Ubuntu

  4. Comment supprimer l'iso 9660 de l'USB ?

  5. Comment supprimer le code VS et les paramètres d'Ubuntu ?

Comment supprimer le bureau Unity d'Ubuntu 17.10

Comment supprimer l'icône de la corbeille du bureau Ubuntu

Supprimer le répertoire sous Linux - Comment supprimer un dossier de la ligne de commande

Comment supprimer une commande de l'historique sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment supprimer Swap Space de Centos 7.x ?