Btrfs

Cómo hacer una copia de seguridad de las instantáneas de Btrfs en unidades externas

Cómo hacer una copia de seguridad de las instantáneas de Btrfs en unidades externas

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 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:

Tengo el disco duro de 20 GB, sdb, en mi máquina Ubuntu. He creado dos particiones, sdb1 y sdb2, en este disco duro.

$ sudo lsblk -e7

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 el sdb1 y el sdb2 particiones. Las instantáneas creadas en el sistema de archivos Btrfs (sdb1) se respaldará en el sistema de archivos Btrfs creado en el sdb2 dividir. El sistema de archivos Btrfs creado en el sdb2 la partición actuará como la 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 Instalar y usar Btrfs en Ubuntu 20.04 LTS.

Para obtener ayuda con la instalación del sistema de archivos Btrfs en Fedora, consulte mi artículo Instalar y usar Btrfs en Fedora 33.

Creación de sistemas de archivos Btrfs necesarios

Formatearé tanto el sdb1 y sdb2 particiones como Btrfs. Usaré el sdb1 partición para almacenar los datos y las instantáneas Btrfs. Usaré el sdb2 partición para hacer una copia de seguridad de las instantáneas del sistema de archivos Btrfs creado en el sdb1 dividir.

Para crear un sistema de archivos Btrfs en el sdb1 partición y darle los datos de la etiqueta del sistema de archivos, ejecute el siguiente comando:

$ sudo mkfs.btrfs -L datos / dev / sdb1

Ahora debería crearse un sistema de archivos Btrfs en el sdb1 dividir.

Para crear un sistema de archivos Btrfs en el sdb2 partición y darle las instantáneas de la etiqueta del sistema de archivos, ejecute el siguiente comando:

$ sudo mkfs.btrfs -L instantáneas / dev / sdb2

Ahora debería crearse un sistema de archivos Btrfs en el sdb2 dividir.

Crea los directorios /datos y / instantáneas para montar el sdb1 y sdb2 particiones, respectivamente, de la siguiente manera:

$ sudo mkdir -v / datos, instantáneas

Monte el sistema de archivos Btrfs que ha creado en el sdb1 partición en el directorio / data, de la siguiente manera:

$ sudo mount / dev / sdb1 / data

De la misma manera, monte el sistema de archivos Btrfs que ha creado en el sdb2 partición en el / instantáneas directorio, de la siguiente manera:

$ sudo mount / dev / sdb2 / snapshots

Como puede ver en la captura de pantalla a continuación, tanto los sistemas de archivos Btrfs (sdb1 y sdb2 particiones) se han montado correctamente.

$ df -h -t btrfs

Tomando instantáneas de un sistema de archivos Btrfs

En esta sección, crearemos el proyecto ficticio web1 sobre el / data / projects / web1 Subvolumen Btrfs. 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, crea el nuevo directorio / datos / proyectos, como sigue:

$ sudo mkdir -v / data / projects

A continuación, cree el nuevo subvolumen web1 en el directorio / datos / proyectos, como sigue:

$ sudo btrfs subvolumen crear / datos / proyectos / web1

Finalmente, cree el nuevo índice de archivo.html en el / datos / proyectos / web1 subvolumen con el editor de texto nano, de la siguiente manera:

$ sudo nano / data / projects / web1 / index.html

Escriba las siguientes líneas de código en el índice.archivo html:




Sitio web de demostración



Hola Mundo




Una vez que haya terminado, presione <control> + X seguido por Y y <Ingresar> para salvar el índice.archivo html.

De la misma forma, crea el nuevo archivo estilo.css en el / data / projects / subvolumen web1 como sigue:

$ sudo nano / data / projects / web1 / style.css


Escriba las siguientes líneas de código en el estilo.css expediente:

h1
color verde;

Una vez que haya terminado, presione <control> + X seguido por Y y <Ingresar> para salvar el estilo.css expediente.

Ahora el / data / projects / subvolumen web1 contiene la índice.html y estilo.archivo css.

$ ls -lh / datos / proyectos / web1

Mantendremos todas las instantáneas de este sistema de archivos Btrfs en el /datos/.instantáneas directorio.

Primero, crea el /datos/.instantáneas directorio con el siguiente comando:

$ sudo mkdir -v / data /.instantáneas

A continuación, cree la instantánea de solo lectura /datos/.instantáneas / web1-2020-12-30 de El / data / projects / subvolumen web1 con el siguiente comando:

$ sudo btrfs subvolumen instantánea -r / data / projects / web1 / data /.instantáneas / web1-2020-12-30

Como puede ver, la nueva instantánea /datos/.instantáneas / web1-2020-12-30 Ha sido creado.

$ sudo btrfs lista de subvolúmenes / datos

Copia de seguridad de instantáneas en una unidad externa

Para hacer una copia de seguridad de la instantánea /datos/.instantáneas / web1-2020-12-30 a otro sistema de archivos Btrfs (unidad externa sdb2, en este caso) montado en el / instantáneas directorio, ejecute el siguiente comando:

$ sudo btrfs enviar / datos /.instantáneas / web1-2020-12-30 | sudo btrfs recibir / instantáneas

La instantánea /datos/.instantáneas / web1-2020-12-30 debe respaldarse en el sistema de archivos Btrfs externo (sdb2) montado en el / instantáneas directorio.

Como puede ver, el nuevo subvolumen web1-2020-12-30 se ha creado en el sistema de archivos externo Btrfs.

$ sudo btrfs lista de subvolúmenes / instantáneas

La instantánea web1-2020-12-30 debería tener los mismos archivos/ directorios como el /datos/.instantáneas / web1-2020-12-30 instantánea.

$ árbol -a / instantáneas

Puede obtener más información sobre la instantánea respaldada / snapshosts / web1-2020-12-30 como sigue:

$ sudo btrfs subvolumen show / snapshots / web1-2020-12-30

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 índice.archivo html desde el / data / projects / subvolumen web1, como sigue:

$ sudo nano / data / projects / web1 / index.html

Realice los cambios que desee en índice.archivo html. Una vez que haya terminado, presione <control> + X seguido por Y y <Ingresar> para salvar el índice.html expediente.

Tome una nueva instantánea de solo lectura del / data / projects / subvolumen web1, como sigue:

$ sudo btrfs subvolumen instantánea -r / data / projects / web1 / data /.instantáneas / web1-2020-12-31

Como puede ver, la nueva instantánea /datos/.instantáneas / web1-2020-12-31 de El / data / projects / subvolumen web1 Ha sido creado.

$ sudo btrfs lista de subvolúmenes / datos

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 última instantánea (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 del /datos/.instantáneas / web1-2020-12-31 instantánea, debe especificar la instantánea principal (la última instantánea disponible en los sistemas de archivos Btrfs de origen y destino), /datos/.instantáneas / web1-2020-12-30, también.

Una copia de seguridad incremental del /datos/.instantáneas / web1-2020-12-31 La instantánea se puede llevar a un sistema de archivos Btrfs externo, de la siguiente manera:

$ sudo btrfs enviar -p / data /.instantáneas / web1-2020-12-30 / data /.instantáneas / web1-2020-12-31 | sudo btrfs recibir / instantáneas

Una copia de seguridad incremental del /datos/.instantáneas / web1-2020-12-31 se debe tomar una instantánea.

Como puede ver, el web1-2020-12-31 instantánea ha sido respaldado en el sistema de archivos Btrfs externo montado en el / instantáneas directorio.

$ sudo btrfs lista de subvolúmenes / instantáneas

Como puede ver en la captura de pantalla a continuación, los cambios que ha realizado en el índice.archivo html están disponibles en el web1-2020-12-31 instantánea que se ha respaldado en el sistema de archivos Btrfs externo.

$ cat / snapshots / web1-2020-12-31 / index.html

De la misma manera, puede realizar tantas copias de seguridad incrementales de sus instantáneas como desee.

Te 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 te mostraré el proceso para mayor claridad.

Abre el índice.archivo html desde el / data / projects / subvolumen web1, como sigue:

$ sudo nano / data / projects / web1 / index.html

Realice los cambios que desee en índice.archivo html. Una vez que haya terminado, presione <control> + X seguido por Y y <Ingresar> para salvar el índice.archivo html.

Tome una nueva instantánea de solo lectura del / data / projects / subvolumen web1, como sigue:

$ sudo btrfs subvolumen instantánea -r / data / projects / web1 / data /.instantáneas / web1-2020-12-31_2

Realice una copia de seguridad incremental del /datos/.instantáneas / web1-2020-12-31_2 instantánea a un sistema de archivos Btrfs externo, de la siguiente manera:

$ sudo btrfs enviar -p / data /.instantáneas / web1-2020-12-31 / data /.snapshots / web1-2020-12-31_2 | sudo btrfs recibir / instantáneas

Nota: Ahora, la instantánea principal a la que /datos/.instantáneas / web1-2020-12-31_2 instantánea será comparado es /datos/.instantáneas / web1-2020-12-31.

Como puede ver, el web1-2020-12-31_2 Se ha realizado una copia de seguridad de la instantánea en el sistema de archivos Btrfs externo montado en el / instantáneas directorio.

$ sudo btrfs lista de subvolúmenes / instantáneas

Como puede ver en la captura de pantalla a continuación, los cambios recientes realizados en el índice.archivo html están disponibles en el web1-2020-12-31_2 instantánea copia de seguridad en el sistema de archivos Btrfs externo.

$ cat / snapshots / web1-2020-12-31_2 / index.html

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 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 última instantánea tanto en la fuente (/datos/.instantáneas) y el destino (/ snapshots - disco externo) Sistemas de archivos Btrfs. 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).

Suponga que desea eliminar el /datos/.instantáneas / web1-2020-12-30 instantánea.

Para hacer esto, ejecute el siguiente comando:

$ sudo btrfs subvolumen eliminar / datos /.instantáneas / web1-2020-12-30

La instantánea de Btrfs /datos/.instantáneas / web1-2020-12-30 ahora debería ser eliminado.

De la misma forma, puede eliminar el /datos/.instantáneas / web1-2020-12-31 instantánea, como sigue:

$ sudo btrfs subvolumen eliminar / datos /.instantáneas / web1-2020-12-31

Ahora, solo la última instantánea, /datos/.instantáneas / web1-2020-12-31_2, está disponible en el sistema de archivos Btrfs, montado en el /datos directorio. Las otras instantáneas se respaldan en la unidad externa, montada en el / instantáneas directorio.

$ sudo btrfs lista de subvolúmenes / datos
$ sudo btrfs lista de subvolúmenes / instantáneas

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, he eliminado el web1-2020-12-30 instantánea de mi sistema de archivos Btrfs, montado en el /datos directorio. Pero, esta instantánea está respaldada en la unidad externa, montada en el / instantáneas directorio. Restauremos esta instantánea.

$ sudo btrfs lista de subvolúmenes / instantáneas

Para restaurar el web1-2020-12-30 instantánea desde la unidad externa, ejecute el siguiente comando:

$ sudo btrfs enviar / instantáneas / web1-2020-12-30 | sudo btrfs recibir / datos /.instantáneas

La instantánea web1-2020-12-30 debe ser restaurado en el sistema de archivos Btrfs montado en el /datos directorio.

Como puede ver, el web1-2020-12-30 instantánea se restaura en el sistema de archivos Btrfs montado en el /datos directorio.

$ sudo btrfs lista de subvolúmenes / datos

Y, como puede ver, el contenido del índice.html archivo de la web1-2020-12-30 instantánea. Esta es la primera versión del índice.html archivo de antes.

$ cat / data /.instantáneas / web1-2020-12-30 / index.html

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ó cómo realizar copias de seguridad incrementales de sus instantáneas Btrfs en una unidad externa. Finalmente, aprendió cómo eliminar instantáneas existentes de un sistema de archivos Brtfs y restaurar instantáneas desde la unidad externa, también.

Cómo cambiar la configuración del mouse y el panel táctil con Xinput en Linux
La mayoría de las distribuciones de Linux se envían con la biblioteca "libinput" de forma predeterminada para manejar eventos de entrada en un sistema...
Vuelva a asignar los botones del mouse de manera diferente para diferentes programas con X-Mouse Button Control
Tal vez necesite una herramienta que pueda hacer que el control de su mouse cambie con cada aplicación que use. Si este es el caso, puede probar una a...
Revisión del mouse inalámbrico Microsoft Sculpt Touch
Recientemente leí sobre el Microsoft Sculpt Touch mouse inalámbrico y decidí comprarlo. Después de usarlo por un tiempo, decidí compartir mi experienc...