Servidor Nas: Creando un backup en la nube: backblaze

Siguiendo con la serie de artículos sobre el servidor, en esta entrega veremos cómo realizar backup de los datos que tenemos en el servidor a un precio relativente razonable con backblaze.

Tras la experiencia con el servidor Nas casero y su “fallo al arrancar” de la anterior entrega, nos vemos enfocados en la búsqueda de un servicio de backup fiable que nos permita recuperar la información del servidor en caso de desastre. Para ello tras mucho investigar nos hemos quedado con el servicio Backblaze.

Este servicio en la nube permite crea un Bucket, bonita palabra que tienen los yankies para referirse a un directorio donde alojar los ficheros de respaldo.

El servicio en cuestión de llama B2 Cloud Storage  y permite acceder desde múltipels fuentes a los datos a un coste adecuado, rondando los 60 dólares al año, estos servicios han bajado mucho de precio con el tiempo.

Tabla de precios: https://www.backblaze.com/b2/cloud-storage-pricing.html

Lo primero que deberás hacer efectivamente será darte de alta en la plataforma con el típico formulario de Sign up.

Una vez que accedas a tu cuenta, ya podrás gestionar todo lo relacionado.

Bucket

Para poder almaenar los ficheros deberemos disponer de un Bucket. Para crearlo vete a la parte de B2 Cloud Storage/Buckets y pulsarás en el botón Create Bucket.

Rellenas el nombre del bucket y lo marcas como privado y pulsas el botón de Create a Bucket y ya tendrás el bucket creado.

APP KEY

Pero para poder acceder con cualquier aplicacación que realice en backup será necesario disponer de un ap pkey que nos autentique en el servicio para gestionar estos accesos.

Para ello iremos dentro de B2 Cloud Storage a App Keys

Después pusaremos en el botón de Generate New Master Application Key para generar esta APP Key

Esta clave sólo se presentará una única vez así que guárdala en un sitio claro y que tengas acceso en cualquier momento. por ejemplo Bitwarden. Guarda también el KEY ID porque te pedirá los dos datos más adelante cuando vayas a conectar en el servicio.

Nota: esta app key está invalidada por si te lo estás preguntando 😉

El límite de la cuenta gratuita es de 10G, si quieres superar ese límite deberás empezar a pagar, por lo que tendrás que meter una tarjeta de crédito.

Si vives en España es posible que te pidan un trámite extra al introducir el NIF/CIF, lo llaman  “Business Tax ID / VAT ID / GST ID”, si te falla al meterlo deberás de darte de lata en el Registro de Operadores Intracomunitarios (VIAS), para esto hemos tenido que contactar con el gestor que nos lleva las cuentas para que hiciera el alta, nos pidió un presupuesto o factura a solicitar, para ello le enviamos una captura de la página de backblaze con la solicitud del número y luego una captura de lo que cobra backblaze. Este trámite os tardó una semana, pero ya pudimos meter el número de tarjeta y dar de lata el servicio. Alguna pega tendría que tener este servicio.

Instalación de B2: la herramienta de gestión

Para instalarlo deberemos disponer de las dependencias:

$ sudo apt install python3-pip
$ sudo pip3 install setuptools
$ pip3 install --upgrade b2

Con la herramienta ya instalada ya podemos autenticarnos con el servicio mediante el comando, nos pedirá al APP key:

root@mordor:~# b2 authorize_account TUAPPID
Using https://api.backblazeb2.com
Backblaze application key:

Si todo ha ido bien ya podremos listar los buckets:

root@mordor:~# b2  list_buckets
5d76179049d6afb5704f081a  allPrivate  backup-mordor

Crear un bucket privado

b2 create_bucket bucket2 allPrivate

Subir ficheros

Para subir lo ficheros usaremos el comando upload file:
b2 upload_file bucket2 turtle.jpg animals/turtle.jpg
sintaxis:
b2 upload_file bucket2 origen destino
Veamos un ejemplo:

root@mordor:~# b2 upload_file bucket4 dinaip-linux-shell-master.zip dinaip-linux-shell-master.zip 
dinaip-linux-shell-master.zip: 100%|████████████████████████████████████████████████████████████████████████| 39.3k/39.3k [00:02<00:00, 19.4kB/s]
URL by file name: https://f002.backblazeb2.com/file/bucket4/dinaip-linux-shell-master.zip
URL by fileId: https://f002.backblazeb2.com/b2api/v2/b2_download_file_by_id?fileId=4_z4da6173059e6afb5704f081a_f10210870fd43ce14_d20200920_m115618_c002_v0001142_t0057
{
    "action": "upload",
    "contentMd5": "fca362284dbef08810edf55935752dc8",
    "contentSha1": "92add8f46a8f5f137e8d73ec34d4bc0e92034fe1",
    "contentType": "application/zip",
    "fileId": "4_z4da6173059e6afb5704f081a_f10210870fd43ce14_d20200920_m115618_c002_v0001142_t0057",
    "fileInfo": {
        "src_last_modified_millis": "1575638872832"
    },
    "fileName": "dinaip-linux-shell-master.zip",
    "size": 39280,
    "uploadTimestamp": 1600602978000
}

listar directorio

Para esto usaremos el comando ls:

b2 ls bucket2 animals

Veamos un ejemplo:

root@mordor:~# b2 ls --long bucket4
4_z4da6173059e6afb5704f081a_f10210870fd43ce14_d20200920_m115618_c002_v0001142_t0057  upload  2020-09-20  11:56:18      39280  dinaip-linux-shell-
master.zip

Haciendo backup con restic

Primero deberemos instalar restic de la manera habitual en debian/ubuntu:

sudo apt install restic

mete las credenciales en variables de entorno en el .profile o .bashrc

export B2_ACCOUNT_ID="xxxxxxxx"
export B2_ACCOUNT_KEY="xxxxxxxx"
export RESTIC_REPOSITORY="b2:backup-mordor"
export RESTIC_PASSWORD_FILE="restic-pw.txt"

para activarlas en tu sesión de shell actual ejecuta:

source .bashrc

En el fichero restic-pw.txt mete una contraseña para el bucket b2

micontraseña_chunga

crea el repositorio en el bucket:

root@mordor:~# restic -r b2:backup-mordor init
created restic repository a253f77338 at b2:backup-mordor

Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.

Esto permite crear snapshots para nuestros backups:

root@mordor:~# restic -r b2:backup-mordor snapshots
repository a253f773 opened successfully, password is correct
created new cache in /root/.cache/restic
ID  Time  Host        Tags        Paths
---------------------------------------
---------------------------------------
0 snapshots

Realiza el Backup en el bucket

restic -r b2:backup-mordor backup DIR_LOCAL

ahora ármate de paciencia porque va a tardar dependiendo de la conexión a internet y la velocidad de tus discos.

Si ves que va muy lento siempre le puedes subir el número de conexiones con:

-o b2.connections=10

Snapshots después de la subida inicial

root@mordor:~# restic -r b2:backup-mordor snapshots
repository a253f773 opened successfully, password is correct
ID        Time                 Host        Tags        Paths
----------------------------------------------------------------------------------------------------------------------
12b17308  2020-09-20 14:24:04  mordor                  /DataPool/docker/nextcloud/volumes/nextcloud/data/pepesan/files
----------------------------------------------------------------------------------------------------------------------
1 snapshots

Restauración

restic -r b2:my-restic-backup restore  id_del_snapshot -t DIR_LOCAL 

Referencias:

  • https://low-orbit.net/backblaze-linux
  • https://help.backblaze.com/hc/en-us/articles/115001518354-How-to-configure-Backblaze-B2-with-Duplicity-on-Linux

Comments

  1. Gran tutorial, me sirvió mucho para configurar los respaldos remotos de las bases de datos de la empresa.

    Desde que escuché la mención en RW me llamó la atención, principalmente por el costo. El cambio que hice con respecto al tutorial es que utilizo RClone en lugar de restic, ya que me resultaba más sencillo en Windows (disculpa por mencionarlo jeje)

    Sigue adelante, haces un gran trabajo de divulgación.

    1. pepesan

      Muchas gracias Carlos. Ya sabes que la prioridad es el software libre, pero me alegra saber que te ha ayudado 🙂

Leave a Reply to pepesan

Haz clic aquí para cancelar la respuesta.

*

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Suscríbete al Boletín

Si quieres estar al tanto de las novedades del blog, ya sabes :)
* = campo obligatorio

powered by MailChimp!

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies