De forma predeterminada, puede almacenar las instantáneas que tome de sus subvolúmenes Btrfs en el mismo sistema de archivos Btrfs, pero no es posible almacenar las instantáneas de un sistema de archivos Btrfs directamente en otro sistema de archivos Btrfs. Sin embargo, el sistema de archivos Btrfs le proporciona las herramientas necesarias para realizar copias de seguridad de las instantáneas de un sistema de archivos Btrfs en otro sistema de archivos Btrfs. Este artículo le muestra cómo hacer una copia de seguridad de las instantáneas Btrfs en un sistema de archivos Btrfs externo en una unidad externa.
Prerrequisitos
Para probar los ejemplos incluidos en este artículo, debe cumplir los siguientes requisitos previos:
- Tenga el sistema de archivos Btrfs instalado en su computadora.
- Tener un disco duro o SSD con al menos 2 particiones libres (de cualquier tamaño).
Tengo el disco duro de 20 GB, sdb , en mi máquina Ubuntu. He creado dos particiones, sdb1 y sdb2 , en este disco duro.
Nota : Su disco duro o SSD tendrá un nombre diferente al mío, al igual que las particiones. Por lo tanto, asegúrese de reemplazar estos nombres con los suyos a partir de ahora.
Crearé sistemas de archivos Btrfs en las particiones sdb1 y sdb2 . Las instantáneas creadas en el sistema de archivos Btrfs ( sdb1 ) se respaldarán en el sistema de archivos Btrfs creado en la partición sdb2 . El sistema de archivos Btrfs creado en la partición sdb2 actuará como unidad externa. También puede utilizar una unidad flash USB o un disco duro externo solo asegúrese de formatearlo con el sistema de archivos Btrfs.
Para obtener ayuda con la instalación del sistema de archivos Btrfs en Ubuntu, consulte mi artículo .
Para obtener ayuda con la instalación del sistema de archivos Btrfs en Fedora, consulte mi artículo .
Creación de sistemas de archivos Btrfs necesarios
Daré formato a las particiones sdb1 y sdb2 como Btrfs. Voy a utilizar el sdb1 partición para almacenar las instantáneas de datos y Btrfs. Voy a utilizar el sdb2 partición de copia de seguridad de las instantáneas de las Btrfs sistema de archivos creado en el sdb1 partición.
Para crear un sistema de archivos Btrfs en la partición sdb1 y darle los datos de la etiqueta del sistema de archivos, ejecute el siguiente comando:
Ahora debería crearse un sistema de archivos Btrfs en la partición sdb1 .
Para crear un sistema de archivos Btrfs en la partición sdb2 y darle las instantáneas de la etiqueta del sistema de archivos, ejecute el siguiente comando:
Ahora debería crearse un sistema de archivos Btrfs en la partición sdb2 .
Cree los directorios / datos y / instantáneas para montar las particiones sdb1 y sdb2 , respectivamente, de la siguiente manera:
Monte el sistema de archivos Btrfs que ha creado en la partición sdb1 en el directorio / data, de la siguiente manera:
De la misma manera, monte el sistema de archivos Btrfs que ha creado en la partición sdb2 en el directorio / snapshots , de la siguiente manera:
Como puede ver en la captura de pantalla a continuación, ambos sistemas de archivos Btrfs ( particiones sdb1 y sdb2 ) se han montado correctamente.
Tomando instantáneas de un sistema de archivos Btrfs
En esta sección, crearemos el proyecto ficticio web1 en el subvolumen Btrfs / data / projects / web1 . Tomaremos una instantánea de ese subvolumen en esta sección, así como algunas otras instantáneas en secciones posteriores de este artículo.
Primero, cree el nuevo directorio / datos / proyectos , de la siguiente manera:
A continuación, cree el nuevo subvolumen web1 en el directorio / data / projects , de la siguiente manera:
Finalmente, cree el nuevo archivo index.html en el subvolumen / data / projects / web1 con el editor de texto nano, de la siguiente manera:
Escriba las siguientes líneas de código en el archivo index.html:
Una vez que haya terminado, presione < Ctrl > + X seguido de Y y < Enter > para guardar el archivo index.html .
De la misma manera, cree el nuevo archivo style.css en el subvolumen / data / projects / web1 de la siguiente manera:
Escriba las siguientes líneas de código en el archivo style.css :
color: green
}
Una vez que haya terminado, presione < Ctrl > + X seguido de Y y < Enter > para guardar el archivo style.css .
Ahora, el subvolumen / data / projects / web1 contiene los archivos index.html y style.css .
Mantendremos todas las instantáneas de este sistema de archivos Btrfs en el directorio /data/.snapshots .
Primero, cree el directorio /data/.snapshots con el siguiente comando:
A continuación, cree la instantánea de solo lectura /data/.snapshots/web1-2020-12-30 del subvolumen / data / projects / web1 con el siguiente comando:
Como puede ver, se ha creado la nueva instantánea /data/.snapshots/web1-2020-12-30 .
Copia de seguridad de instantáneas en una unidad externa
Para realizar una copia de seguridad de la instantánea /data/.snapshots/web1-2020-12-30 en otro sistema de archivos Btrfs (unidad externa sdb2, en este caso) montado en el directorio / snapshots , ejecute el siguiente comando:
Se debe hacer una copia de seguridad de la instantánea /data/.snapshots/web1-2020-12-30 en el sistema de archivos Btrfs externo ( sdb2 ) montado en el directorio / snapshots .
Como puede ver, el nuevo subvolumen web1-2020-12-30 se ha creado en el sistema de archivos externo Btrfs.
La instantánea web1-2020-12-30 debe tener los mismos archivos / directorios que la instantánea /data/.snapshots/web1-2020-12-30 .
Puede obtener más información sobre la copia de seguridad de la instantánea / snapshosts / web1-2020-12-30 de la siguiente manera:
Copia de seguridad incremental de instantáneas en una unidad externa
Si hay muchos archivos en las instantáneas para realizar una copia de seguridad en una unidad externa, las copias de seguridad incrementales le ayudarán a acelerar la operación de copia de seguridad. En este caso, Btrfs solo actualizará los archivos que han cambiado desde la última instantánea y copiará los archivos nuevos que no estaban disponibles en la última instantánea.
En esta sección, le mostraré cómo realizar copias de seguridad incrementales de instantáneas Btrfs en sistemas de archivos Btrfs externos.
Primero, abra el archivo index.html del subvolumen / data / projects / web1 , de la siguiente manera:
Realice los cambios que desee en el archivo index.html . Una vez que haya terminado, presione < Ctrl > + X seguido de Y y < Enter > para guardar el archivo index.html .
Tome una nueva instantánea de solo lectura del subvolumen / data / projects / web1 , de la siguiente manera:
Como puede ver, se ha creado la nueva instantánea /data/.snapshots/web1-2020-12-31 del subvolumen / data / projects / web1 .
Ahora, estamos listos para realizar una copia de seguridad incremental.
Para realizar una copia de seguridad incremental, necesitará una instantánea común de los sistemas de archivos Btrfs de origen y destino (unidad externa). La instantánea común suele ser la última instantánea de un subvolumen Btrfs. Cuando toma una nueva instantánea en el sistema de archivos Btrfs de origen, la nueva instantánea se compara con la instantánea más reciente (disponible tanto en el sistema de archivos Btrfs de origen como en el de destino) del sistema de archivos Btrfs de origen. Btrfs calculará la diferencia y enviará solo los datos requeridos al sistema de archivos Btrfs de destino (la unidad externa).
Por ejemplo, para realizar una copia de seguridad incremental de la instantánea /data/.snapshots/web1-2020-12-31 , debe especificar la instantánea principal (la última instantánea disponible en los sistemas de archivos Btrfs de origen y destino), / data /. snapshots / web1-2020-12-30 , también.
Se puede realizar una copia de seguridad incremental de la instantánea /data/.snapshots/web1-2020-12-31 en un sistema de archivos Btrfs externo, de la siguiente manera:
Se debe realizar una copia de seguridad incremental de la instantánea /data/.snapshots/web1-2020-12-31 .
Como puede ver, la instantánea web1-2020-12-31 se ha respaldado en el sistema de archivos Btrfs externo montado en el directorio / snapshots .
Como puede ver en la captura de pantalla a continuación, los cambios que ha realizado en el archivo index.html están disponibles en la instantánea web1-2020-12-31 que se ha respaldado en el sistema de archivos Btrfs externo.
De la misma manera, puede realizar tantas copias de seguridad incrementales de sus instantáneas como desee.
Le mostraré cómo hacer una copia de seguridad incremental una vez más. No me tomaré el tiempo para volver a explicarlo. En cambio, solo les mostraré el proceso para mayor claridad.
Abra el archivo index.html del subvolumen / data / projects / web1 , de la siguiente manera:
Realice los cambios que desee en el archivo index.html . Una vez que haya terminado, presione < Ctrl > + X seguido de Y y < Enter > para guardar el archivo index.html .
Tome una nueva instantánea de solo lectura del subvolumen / data / projects / web1 , de la siguiente manera:
Realice una copia de seguridad incremental de la instantánea /data/.snapshots/web1-2020-12-31_2 en un sistema de archivos Btrfs externo, de la siguiente manera:
Nota : Ahora, la instantánea principal con la que se comparará la instantánea /data/.snapshots/web1-2020-12-31_2 es /data/.snapshots/web1-2020-12-31.
Como puede ver, la instantánea web1-2020-12-31_2 se ha respaldado en el sistema de archivos Btrfs externo montado en el directorio / snapshots .
Como puede ver en la captura de pantalla a continuación, los cambios recientes realizados en el archivo index.html están disponibles en la instantánea web1-2020-12-31_2 respaldada en el sistema de archivos Btrfs externo.
Mantener las cosas limpias
Si realiza copias de seguridad de sus instantáneas Btrfs con frecuencia, terminará con muchas instantáneas y puede resultar difícil administrarlas. Afortunadamente, puede eliminar cualquier instantánea del sistema de archivos Btrfs.
Si está utilizando una unidad externa lo suficientemente grande para mantener copias de seguridad de las instantáneas de Btrfs, puede guardar algunas instantáneas en su sistema de archivos Btrfs y hacer una copia de seguridad de todas las instantáneas en su unidad externa.
Si está utilizando una unidad externa más pequeña, puede mantener selectivamente solo las instantáneas más importantes respaldadas en la unidad externa.
Para realizar copias de seguridad de sus instantáneas Btrfs, debe mantener al menos la instantánea más reciente en los sistemas de archivos Btrfs de origen ( /data/.snapshots ) y destino ( / snapshots – unidad externa ). Por lo tanto, siéntase libre de eliminar cualquier instantánea que no sea la última instantánea en ambos extremos.
Por ejemplo, en este caso, la última instantánea es web1-2020-12-31_2 . Por lo tanto, para realizar copias de seguridad incrementales, esta instantánea debe mantenerse en los sistemas de archivos Btrfs de origen y destino (unidad externa).
Supongamos que desea eliminar la instantánea /data/.snapshots/web1-2020-12-30 .
Para hacer esto, ejecute el siguiente comando:
La instantánea de Btrfs /data/.snapshots/web1-2020-12-30 ahora debería eliminarse.
De la misma manera, puede eliminar la instantánea /data/.snapshots/web1-2020-12-31 , de la siguiente manera:
Ahora, solo la última instantánea, /data/.snapshots/web1-2020-12-31_2 , está disponible en el sistema de archivos Btrfs, montado en el directorio / data . Las otras instantáneas se respaldan en la unidad externa, montada en el directorio / snapshots .
$ sudo btrfs subvolume list /snapshots
Restauración de instantáneas desde una unidad externa
Si ha realizado una copia de seguridad de sus instantáneas en la unidad externa, puede restaurarlas en cualquier momento desde la unidad externa.
Por ejemplo, eliminé la instantánea web1-2020-12-30 de mi sistema de archivos Btrfs, montado en el directorio / data . Pero, esta instantánea está respaldada en la unidad externa, montada en el directorio / snapshots . Restauremos esta instantánea.
Para restaurar la instantánea web1-2020-12-30 desde la unidad externa, ejecute el siguiente comando:
La instantánea web1-2020-12-30 debe restaurarse en el sistema de archivos Btrfs montado en el directorio / data .
Como puede ver, la instantánea web1-2020-12-30 se restaura en el sistema de archivos Btrfs montado en el directorio / data .
Y, como puede ver, el contenido del archivo index.html de la instantánea web1-2020-12-30 . Esta es la primera versión del archivo index.html anterior.
Conclusión
En este artículo, aprendió cómo realizar copias de seguridad de instantáneas de su sistema de archivos Btrfs en una unidad externa. También aprendió a realizar copias de seguridad incrementales de sus instantáneas Btrfs en una unidad externa. Finalmente, aprendió a eliminar instantáneas existentes de un sistema de archivos Brtfs y también a restaurar instantáneas de la unidad externa.