• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

Veeam: Desplegar y Configurar MinIO con Erasure Coding Enabled (clúster), Immutability, y Let’s Encrypt

22 July, 2020 - Escrito en: veeam

Saludos amigos, hace apenas unos días Veeam anunciaba de manera oficial el soporte para MinIO Immutability de manera oficial en su HCL. Esto son maravillosas noticias para que podamos probar esta funcionalidad en nuestros labs, o en caso de que estemos usando almacenamiento Linux con MinIO para producción.

En esta entrada de Blog vamos a dar el salto a la piscina y veremos: cómo instalar y configurar MinIO con Erasure Coding Enabled, Immutability, Let’s Encrypt, y por último veremos cómo configurarlo en Veeam. Como se me ha ido de las manos, os dejo un menú para moveros más rápido:

  1. Requerimientos de Sistema para MinIO
    1. ¿Qué es MinIO Erasure Coding?
    2. ¿Por qué es útil MinIO Erasure Coding?
    3. Configuración de discos para usar con MinIO Erasure Coding
  2. Desplegar y configurar MinIO, incluyendo Immutability y Let’s Encrypt
    1. Configurar MinIO con Let’s Encrypt
    2. Arrancar MinIO con Erasure Coding
    3. Crear un nuevo Bucket en MinIO con el atributo de Immutability
  3. Configuración de Veeam Backup & Replication con Immutability
    1. Creación de Backup Repository – Object Storage
    2. Creación de Scale-out Backup Repository – con MinIO Immutable como Capacity Tier
    3. Creación de Backup Copy Job que va a este nuevo SOBR con Immutability
    4. Eliminando puntos de restauración de un Object Storage con Immutability

Requerimientos de Sistema para MinIO

En esta guía no vamos a tratar de desplegar MinIO en producción, ya que suele requerir unos 96GB de RAM, determinados cores, etc. En mi caso estoy desplegando todo en 4vCPU y 16GB de RAM, ya que voy a tener solamente VBR enviando backups, con lo que nada serio.

Una de las cosas más importantes para poder ejecutar Immutability en MinIO, y que esté soportado por Veeam, es que necesitamos la versión de MinIO RELEASE.2020-07-12T19-14-17Z o superior, y además necesitamos que el server de MinIO esté ejecutándose con Erasure Coding.

¿Qué es MinIO Erasure Coding?

MinIO Erasure Coding es un algoritmo matemático para reconstruir datos perdidos o corruptos. MinIO usa el código Reed-Solomon para fragmentar objetos en datos variables y bloques de paridad. Por ejemplo, en una configuración de 12 unidades, un objeto puede ser dividido en un número variable de bloques de datos y paridad en todas las unidades – desde seis bloques de datos y seis de paridad hasta diez bloques de datos y dos de paridad.

De manera predeterminada, MinIO divide los objetos en unidades de datos y de paridad N/2. Sin embargo, puede usar clases de almacenamiento para usar una configuración personalizada. Recomendamos los bloques de datos y paridad N/2, ya que asegura la mejor protección contra las fallas de la unidad.

En el ejemplo de 12 unidades de disco arriba, con el servidor MinIO ejecutándose en la configuración predeterminada, puede perder cualquiera de las seis unidades y aún así reconstruir los datos de manera confiable a partir de las unidades restantes.

¿Por qué es útil MinIO Erasure Coding?

MinIO Erasure Coding protege los datos de fallos de múltiples unidades, a diferencia de RAID o replicación. Por ejemplo, RAID6 puede proteger contra el fallo de dos unidades, mientras que en el código de borrado de MinIO puede perder hasta la mitad de las unidades y aún así los datos permanecen seguros. Además, MinIO Erasure Coding está a nivel de objeto y puede recuperar un objeto a la vez. En el caso de RAID, la recuperación sólo puede hacerse a nivel de volumen, lo que se traduce en un alto tiempo de inactividad. Como MinIO codifica cada objeto individualmente, puede curar los objetos de forma incremental. Los servidores de almacenamiento, una vez desplegados, no deberían requerir reemplazo de discos o curación durante la vida del servidor. El backend de Erasure Coding de MinIO está diseñado para la eficiencia operativa y aprovecha al máximo la aceleración de hardware siempre que esté disponible.

Más información aquí – https://docs.min.io/docs/minio-erasure-code-quickstart-guide.html

Configuración de discos para usar con MinIO Erasure Coding

En este laboratorio voy a usar 4 discos para mi servidor de MinIO, de 100GB cada uno, usando por supuesto THIN en VMware, para no consumir todo el espacio de mi VSAN, la configuración de la VM se ve tal que así:

Una vez que tenemos todos los discos, tendremos que realizar los siguiente pasos por cada disco, os dejo los pasos con el sdb, pero tendréis que hacerlo con sdc, sdd, y sde:

Comenzaremos particionando el disco:

fdisk /dev/sdb

Tendremos que presionar n para crear una nueva, usando todo el espacio, y de tipo 8e, que es LVM para poder manejarlo mejor luego en caso que queramos crecer:

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xab657906.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-209715199, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): 

Created a new partition 1 of type 'Linux' and of size 100 GiB.

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Vamos a proceder ahora a crear el LVM, con toda su configuración, tal que así:

pvcreate /dev/sdb1
vgcreate vg_xfs_minio_1 /dev/sdb1
lvcreate -L +99G -n xfs_minio_1 vg_xfs_minio_1
mkfs.xfs /dev/vg_xfs_minio_1/xfs_minio_1

Acabaremos creando un nuevo directorio y montando esa nueva partición:

mkdir /root/xfs_minio_1
mount /dev/vg_xfs_minio_1/xfs_minio_1 /root/xfs_minio_1/

Si queremos comprobar que todo ha ido bien, con este comando podremos ver todo:

df -hT /root/xfs_minio/
Filesystem                         Type  Size  Used Avail Use% Mounted on
/dev/mapper/vg_xfs_minio-xfs_minio_1 xfs    99G  134M   99G   1% /root/xfs_minio_1

Repetir esto por cada disco, os debería quedar algo así:

df -h
Filesystem                              Size  Used Avail Use% Mounted on
udev                                    5.9G     0  5.9G   0% /dev
tmpfs                                   1.2G  1.2M  1.2G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv        19G  4.9G   13G  28% /
tmpfs                                   5.9G     0  5.9G   0% /dev/shm
tmpfs                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                   5.9G     0  5.9G   0% /sys/fs/cgroup
/dev/sda2                               976M  145M  765M  16% /boot
tmpfs                                   1.2G     0  1.2G   0% /run/user/1000
/dev/mapper/vg_xfs_minio_1-xfs_minio_1   99G   12G   88G  12% /root/xfs_minio_1
/dev/mapper/vg_xfs_minio_2-xfs_minio_2   99G   12G   88G  12% /root/xfs_minio_2
/dev/mapper/vg_xfs_minio_3-xfs_minio_3   99G   12G   88G  12% /root/xfs_minio_3
/dev/mapper/vg_xfs_minio_4-xfs_minio_4   99G   12G   88G  12% /root/xfs_minio_4

No os olvidéis de añadirlos al fstab, para ello sacar el UID con blkid /dev/mapper/vg_xfs_minio_3-xfs_minio_3, en mi caso por ejemplo:

echo 'UUID=155b62fb-e7cb-424f-91d7-3e09217d7e7f /root/xfs_minio_1 xfs defaults 1 1' >> /etc/fstab
echo '85f1550b-5459-4427-8a45-8fe139cfaebe /root/xfs_minio_2 xfs defaults 1 1' >> /etc/fstab
echo '0c47b7cd-edc3-4ef9-9b6a-0d3f2dc476db /root/xfs_minio_3 xfs defaults 1 1' >> /etc/fstab
echo '2833348b-7053-49f1-a96d-d00ee8f071ed /root/xfs_minio_4 xfs defaults 1 1' >> /etc/fstab

Ya estamos listos para el siguiente paso.

Desplegar y configurar MinIO, incluyendo Immutability y Let’s Encrypt

Bueno, bueno, ya hemos llegado hasta esta parte, con lo que no nos demoramos más, vamos allá, instalaremos la última versión de MinIO usando el siguiente comando:

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio

Una vez tenemos todo descargado y preparado, podríamos lanzar una instancia sencilla de MinIO, para ver que funciona, sin ningún Erasure Coding, ni nada, solo por probar, así por ejemplo:

./minio server /home/oper/test
Endpoint:  http://192.168.1.185:9000  http://127.0.0.1:9000    
AccessKey: minioadmin 
SecretKey: minioadmin 

Browser Access:
   http://192.168.1.185:9000  http://127.0.0.1:9000    

Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc config host add myminio http://192.168.1.185:9000 minioadmin minioadmin

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'

Si accedo a la IP y al puerto, veo que podemos entrar a una interfaz MinIO y todo funciona bien:

Una vez introduzco las credenciales, me aseguraré que tengo una versión moderna de MinIO, especialmente superior a la recomendada por Veeam en su HCL: Vale, como todo me funciona bien, vamos a dar el paso y configurar todo de manera más segura y elegante usando Let’s Encrypt.

Configurar MinIO con Let’s Encrypt

Como siempre, haremos uso de certbot, que nos ayudará a generar todo el proceso, y la validación de nuestros certificados de Let’s Encrypt, actualizaremos el sistema e instalaremos certbot:

sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot

Hay varios modos de validar nuestro dominio, yo encuentro el modo de DNS manual, en caso de no tener Cloudflare, etc, el más sencillo, con lo que lo haré así:

certbot --manual --preferred-challenges dns certonly -d minio.jorgedelacruz.es --staple-ocsp -m [email protected] --agree-tos

Esto lanzará el siguiente output, que tendremos que configurar en nuestro DNS público:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for minio.jorgedelacruz.es

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: yes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.minio.jorgedelacruz.es with the following value:

OIOLPq0SBAH41d5hKAEL08OueThzMyboRGduxdi5L3c

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

Una vez ponemos esta entrada .TXT en nuestro DNS público, hacemos click en Enter y si todo ha ido bien veremos lo siguiente:

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/minio.jorgedelacruz.es/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/minio.jorgedelacruz.es/privkey.pem
   Your cert will expire on 2020-10-19. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Si queremos comprobar los ficheros, etc, lo haremos así:

ls -l /etc/letsencrypt/live/minio.jorgedelacruz.es/
total 4
lrwxrwxrwx 1 root root  46 Jul 21 15:43 cert.pem -> ../../archive/minio.jorgedelacruz.es/cert1.pem
lrwxrwxrwx 1 root root  47 Jul 21 15:43 chain.pem -> ../../archive/minio.jorgedelacruz.es/chain1.pem
lrwxrwxrwx 1 root root  51 Jul 21 15:43 fullchain.pem -> ../../archive/minio.jorgedelacruz.es/fullchain1.pem
lrwxrwxrwx 1 root root  49 Jul 21 15:43 privkey.pem -> ../../archive/minio.jorgedelacruz.es/privkey1.pem
-rw-r--r-- 1 root root 692 Jul 21 15:43 README

Vamos a copiar estos ficheros a la carpeta de MinIO del usuario desde el que queremos ejecutar MinIO, en mi caso es root, para no complicarme, pero en vuestro caso securizarlo algo más:

cp /etc/letsencrypt/live/minio.jorgedelacruz.es/fullchain.pem /root/.minio/certs/public.crt
cp /etc/letsencrypt/live/minio.jorgedelacruz.es/privkey.pem /root/.minio/certs/private.key

Arrancar MinIO con Erasure Coding

No tiene mucho misterio, ya que tenemos el certificado SSL, y tenemos también nuestras particiones y puntos de montaje listos, tendremos todo preparado para lanzar MinIO con Erasure Coding, lo que viene a ser con alta disponibilidad, etc. Claro es todo en un server, pero es para pruebas:

./minio server --address ":443" /root/xfs_minio_1/ /root/xfs_minio_2/ /root/xfs_minio_3/ /root/xfs_minio_4/
Formatting 1st zone, 1 set(s), 4 drives per set.
WARNING: Host local has more than 2 drives of set. A host failure will result in data becoming unavailable.
Status:         4 Online, 0 Offline. 
Endpoint:  https://192.168.1.185  https://127.0.0.1    
AccessKey: minioadmin 
SecretKey: minioadmin 

Browser Access:
   https://192.168.1.185  https://127.0.0.1    

Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc config host add myminio https://192.168.1.185 minioadmin minioadmin

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide

Certificate:
    Signature Algorithm: SHA256-RSA
    Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
    Validity
        Not Before: Tue, 21 Jul 2020 14:43:33 GMT
        Not After : Mon, 19 Oct 2020 14:43:33 GMT

Certificate:
    Signature Algorithm: SHA256-RSA
    Issuer: O=Digital Signature Trust Co., CN=DST Root CA X3
    Validity
        Not Before: Thu, 17 Mar 2016 16:40:46 GMT
        Not After : Wed, 17 Mar 2021 16:40:46 GMT

Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'

Estaría bien que cambiaráis el usuario y password para tener más seguridad también. Además, como os he dicho, MinIO nos dice que tenemos todo en el mismo servidor, con lo que no es realmente resistente a fallos físicos, pero vale. Si nos vamos por HTTPS, ya veremos buenas noticias:

Crear un nuevo Bucket en MinIO con el atributo de Immutability

Este comando os fallará si no estáis usando una versión moderna de MinIO, y si no estáis usando Erasure Coding, necesitamos minio-client, con lo que lo descargaremos de manera rápida:

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc

Lo configuraremos de manera rápida añadiendo un nuevo host, así:

./mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEY --api S3v4

Ahora ya podremos lanzar el siguiente comando, que tiene el atributo -l (–with-lock)

./mc mb --debug -l minio-veeam/veeam-immutable

Y si todo ha ido bien veremos lo siguiente:

mc: <DEBUG> HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Content-Security-Policy: block-all-mixed-content
Date: Tue, 21 Jul 2020 17:53:15 GMT
Location: /veeamimmutable
Server: MinIO/RELEASE.2020-07-20T02-25-16Z
Vary: Origin
X-Amz-Request-Id: 1623D601B41CBFAE
X-Xss-Protection: 1; mode=block

mc: <DEBUG> Response Time:  99.203176ms

Bucket created successfully `minio-veeam/veeamimmutable`.

Y por supuesto por HTTPS, veremos lo siguiente en el cliente:

¡Felicidades! Ya tenemos todo listo, nuestro MinIO de manera particular, listo, con HTTPS y usando immutable Storage. Vamos al último paso, la configuración de Veeam Backup & Replication.

Configuración de Veeam Backup & Replication con Immutability

Creación de Backup Repository – Object Storage

Ya tenemos todo listo, tendremos que estar usando Veeam Backup & Replication v10 para poder hacer uso de MinIO con immutability, nos iremos a la parte de Backup Infrastructure – Repositories, y crearemos uno nuevo:

Seleccionaremos de tipo Object Storage: Seleccionaremos de tipo S3-Compatible, y una vez dentro introduciremos un nombre y descripción para este nuevo Object Storage: Seleccionaremos el servidor, que tenemos con HTTPS y un FQDN válido y las credenciales que tengamos:

Seleccionaremos el bucket, que en mi caso es el que hemos creado anteriormente como immutable, además de introducir una carpeta donde queremos guardar las copias, y el número de días que queremos hacer nuestros backups immutables:

Por último si estamos contentos con todo, haremos click en Finish: Ya estamos listos para ir al siguiente paso.

Creación de Scale-out Backup Repository – con MinIO Immutable como Capacity Tier

Nos iremos hasta Scale-out Backup Repositories, y crearemos uno nuevo:  Introduciremos un nombre y descripción que queramos: Como Performance Tier seleccionaremos un disco local donde tengamos ya copias, o donde queramos lanzar copias, ya sean diarias, o las GFS, etc:En la parte de Capacity Tier, seleccionaremos el nuevo Object Storage a MinIO que ya tenía Immutable configurado, y seleccionaremos qué queremos mandar, en mi caso he seleccionado las copias, además de mover los backups que estén completos también, como son semanales, mensuales, etc:

Creación de Backup Copy Job que va a este nuevo SOBR con Immutability

Crearemos un nuevo trabajo de Backup Copy, prefiero pruning ya que nos da más reportes y visibilidad:  Seleccionaremos la VM, o el trabajo o trabajos que queremos hacer una copia a este repositorio de Object Storage con Immutability: Seleccionaremos el Backup Repository, así como los puntos de restauración a guardar:  El trabajo de Backup Copy comenzará y seguirá lanzandose cada día para copiar los nuevos puntos de restauración de un lugar a otro:

Eliminando puntos de restauración de un Object Storage con Immutability

Si nos vamos a nuestro Object Storage en Veeam, y queremos eliminar puntos de restauración que están en este Object Storage, esté es el error que obtendremos:En grande:

Eso es todo amigos, espero que os haya gustado este blog post tan detallado y largo, más de 2000 palabras, espero os sirva.

Filed Under: veeam Tagged With: veeam, veeam immutability, veeam immutable, veeam immutable backups, veeam linux, veeam minio, veeam minio immutable

Reader Interactions

Comments

  1. Alex says

    26 July, 2020 at 11:44

    Hola Jorge, Un post genial muchas gracias y felicidades, la funcionalidad de backup inmutable realmente es muy interesante, quería aplicar esta funcionalidad en un entorno onpremises. La idea es que alquien que se haga con el control del Veeam, no pueda eliminar los datos guardados con el “backup inmutable”.

    Tengo algunas preguntas: Supongo que las credenciales para acceder al “Object storage” guardadas en Veeam, no podrían ser descrifradas de ninguna forma, no?

    Al configurar el “Object storage” aparece: “Object storage must support S3 Object Lock feature” Además de un storage S3 en AWS y MinIO, hay otros tipos de storage compatibles hay con: S3 Object Lock feature”??

    Reply

Trackbacks

  1. Linux: Cómo aumentar el espacio en disco de volúmenes formateados con XFS - El Blog de Jorge de la Cruz says:
    19 April, 2021 at 13:24

    […] es el caso de uso? Bien, os conté hace un tiempo todas las ventajas de tener nuestro Object Storage on-prem con MinIO, además, hace bien poquito os conté también todas las ventajas de Linux XFS como repositorio de […]

    Reply
  2. Veeam: Cómo desplegar QNAP QuObjects para tener un Object Storage on-prem y usarlo como Capacity Tier - El Blog de Jorge de la Cruz says:
    4 June, 2021 at 8:15

    […] Saludos amigos, hoy os traigo una entrada muy interesante, os he comentado en varios artículos todo el poder de Veeam Capacity Tier, que nos permite aprovechar proveedores de Object Storage para almacenar gran cantidad de Backups que normalmente requieren una retención larga, meses, semestres o años. Además, desde hace un tiempo, también Capacity nos permite tener una copia exacta de un repositorio on-prem, y en algunos casos tener inmutabilidad activada. […]

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

July 2020
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  
« Jun   Aug »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz