Utilicé bcache
solo en una configuración de escritura, e incluso a IIRC bcache
no le gusta en absoluto si el dispositivo de caché desaparece mientras la máquina está en funcionamiento. Espere que el bcache
dispositivo 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 bcache
todaví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 state
archivo debería decir no cache
despué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/sdf1
y 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/sdf1
y 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/attach
No es necesario reiniciar.
fuente
Un trazador de líneas:
Luego espere hasta que el caché se despeje:
fuente