GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo elimino el dispositivo de caché de bcache?

Usé bcache solo en una configuración de escritura simultánea, e IIRC incluso entonces bcache no le gusta nada si el dispositivo de caché desaparece mientras la máquina está funcionando. Espere el bcache dispositivo para detenerse por completo si eso sucede.

No he intentado eliminar el dispositivo de caché mientras la máquina está apagada, así que no puedo decir nada al respecto. Aunque creo que bcache todavía es bastante delicado, así que te recomiendo que lo intentes primero con una VM o una máquina de prueba física.

Para eliminar de forma segura el dispositivo de caché, puede desconectar el conjunto de caché del dispositivo bcache:

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

Para determinar el UUID del conjunto de caché necesario, busque en /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

Entonces, por ejemplo, en este caso, ejecute:

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

El state el archivo debe decir no cache después de eso:

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

Suponga que configuró con éxito un bcache, ya está trabajando en él, colocó allí una gran cantidad de datos importantes demasiado grandes para simplemente hacer una copia de seguridad y comenzar de nuevo, cuando se dio cuenta de que sería mejor reemplazar el dispositivo de almacenamiento en caché. Así es como puedes hacerlo. Esta solución se basa en pruebas de una máquina virtual.

Digamos que estamos hablando del dispositivo /dev/bcache0 , el nuevo dispositivo de caché es /dev/sdf1 y el dispositivo de respaldo es /dev/md1 . Todos los comandos hechos por root.

  1. Asegúrese de que nada esté usando ese dispositivo bcache0.
  2. Hacer en cualquier orden
    1. Elimine el dispositivo de caché tal como escribió Martin von Wittich, haciendo eco de setUUID en /sys/block/bcache0/bcache/detach . Si desea volver a particionar el dispositivo de almacenamiento en caché, debe reiniciar, porque bcache aún bloquea las particiones a menos que lo cancele.
    2. formato:nuevo dispositivo de caché con make-bcache -C /dev/sdf1 y tome nota del setUUID de ese dispositivo.
  3. Registre nuestro dispositivo de respaldo con el nuevo conjunto de caché:

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

No es necesario reiniciar.


De una sola línea:

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

Luego espere hasta que se borre el caché:

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. Cómo eliminar el dispositivo de rutas múltiples después de desasignar el LUN de almacenamiento del servidor

  2. Cómo desinstalar aria2 de Ubuntu

  3. ¿Cómo elimino archivos de la papelera en Ubuntu?

  4. Cómo quitar el administrador de caché de cPanel

  5. ¿Cómo quitar iso 9660 de USB?

Cómo quitar el escritorio de Unity de Ubuntu 17.10

Cómo quitar el icono de la papelera del escritorio de Ubuntu

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos

Cómo quitar un comando del historial en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

¿Cómo eliminar Swap Space de Centos 7.x?