2.9 KiB
Backup físico
Btrfs es una FS (File System, por sus siglas en inglés), que incorpora CoW (Copy on Write, por sus siglas en inglés) que optimiza la gestión de datos al no sobrescribir información. En lugar de modificar datos existentes, CoW escribe los cambios en nuevas ubicaciones, garantizando mayor seguridad ante fallos, snapshots (instantáneas) rápidas, compresión y tolerancia a fallos.
Btrfs puede utilizando Btrfs y sus funciones de envío y recepción, podemos configurar sistemas de remitente y receptor seguro para realizar una copia de seguridad físicos. Existen dos maneras de enviar datos, incrementales y totales.
-
Totales
Se hace referencia a enviar la instantánea o snapshot en su totalidad, byte a byte. Se hace cuando se envía un backup por primera ocasión.
- Crear directorio para montar las unidades de almacenamiento.
Note
Cambie el directorio por el de su preferencia, recuerde usar una nomenclatura diferente para cada directorio o almacenamiento a usar.
# Directorio para la unidad local
sudo mkdir -p /tmp/root
# Directorio para la unidad externa
sudo mkdir -p /tmp/b-root
- Montar las unidades en los directorios previos.
# Almacenamiento local
sudo mount /dev/nvme0n1p3 /tmp/root
# Almacenamiento externo
sudo mount /dev/sde /tmp/b-root
- Generar snapshot en modo solo lectura
sudo btrfs subvolume snapshot -r / /tmp/root/snapshot/week/14022026/
- Enviar el backup
sudo btrfs send /tmp/root/snapshot/week/14022026/ | sudo btrfs receive /tmp/b-root/
- Desmontar los almacenamientos.
sudo umount /tmp/{root,b-root}
- Eliminar directorios temporales.
sudo rmdir /tmp/root /tmp/b-root
-
Incrementales
Se hace referencia al envío de los datos de diferencia que existe entre dos snapshot o instantáneas de un volumen. Es decir, si tengo una instantánea A de un periodo de tiempo atrás y una instantánea B que representa el periodo actual, se puede enviar solo las diferencias de bytes entre cada snapshot.
Warning
Se requiere tener un snapshot previo en la unidad de almacenamiento local y externo. Debe de ser el mismo snapshot, si no fallara y se debe de hacer el envío de datos total.
-
Repita los pasos 1, 2 y 3 del método de envío de datos total.
-
Envie los datos de manera incremental
sudo btrfs send -p /tmp/root/snapshot/week/08022026/ /tmp/srv/snapshot/week/14022026/ | sudo btrfs receive /tmp/b-root/
1. Si ya tiene mas de dos snapshot en la unidad local, elimine lo más antiguos.
```
sudo btrfs subvolume delete /ruta/snapshots/antiguos
```
[TIP!]
Se recomienda tener solos 2 snapshot para envío físicos en la unidad local (son los snapshot mínimos para hacer el envío incremental). En la unidad externa se puede tener los snapshot que considere suficientes, solo recuerde administrar el espacio de su unidad.
- Repita los pasos 5 y 6 del método de envío de datos total.