Utilicé bcachesolo en una configuración de escritura, e incluso a IIRC bcacheno le gusta en absoluto si el dispositivo de caché desaparece mientras la máquina está en funcionamiento. Espere que el bcachedispositivo se bloquee completamente si eso sucede.
No he tratado de eliminar el dispositivo de caché mientras la máquina está apagada, así que no puedo decir nada al respecto. Sin embargo, creo que bcachetodavía es bastante delicado, por lo que te recomiendo que lo pruebes primero con una máquina virtual 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 statearchivo debería decir no cachedespués de eso:
host ~ # cat /sys/block/bcache0/bcache/state
no cache
Supongamos que ha configurado con éxito un bcache, ya está trabajando en él, coloca 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 es mejor reemplazar el dispositivo de almacenamiento en caché. Así es como puedes hacerlo. Esta solución se basa en pruebas de VM.
Digamos que estamos hablando del dispositivo
/dev/bcache0, el nuevo dispositivo de caché es/dev/sdf1y el dispositivo de respaldo es/dev/md1. Todos los comandos hechos por root./sys/block/bcache0/bcache/detach. Si desea volver a particionar el dispositivo de almacenamiento en caché, debe reiniciar, porque bcache todavía bloquea las particiones a menos que lo anule.make-bcache -C /dev/sdf1y tome nota del setUUID de ese dispositivo.Registre nuestro dispositivo de respaldo con el nuevo conjunto de caché:
echo [setUUID of new cache device] >/sys/block/bcache0/bcache/attachNo es necesario reiniciar.
fuente
Un trazador de líneas:
Luego espere hasta que el caché se despeje:
fuente