MinIo para los más pequeños

MinIO es una excelente solución cuando necesita organizar fácil y simplemente el almacenamiento de objetos. Configuración elemental, muchas plataformas y buen desempeño han hecho su trabajo en el campo del amor popular. Así que no nos quedó más remedio que declarar la compatibilidad hace un mes Veeam Backup & Replication y MinIO. Incluyendo una característica tan importante como la Inmutabilidad. De hecho, MinIO tiene todo un sección en la documentación dedicada a nuestra integración.

Por eso, hoy hablaremos de cómo:

  • Configurar MinIO es muy rápido.
  • Configurar MinIO es un poco menos rápido, pero mucho mejor.
  • Úselo como nivel de archivo para Veeam SOBR Scalable Repository.

MinIo para los más pequeños

¿Qué vas a?

Una breve introducción para aquellos que no se han encontrado con MinIO. Este es un almacenamiento de objetos de código abierto compatible con la API de Amazon S3. Lanzado bajo la licencia Apache v2 y se adhiere a la filosofía del minimalismo espartano.

Es decir, no tiene una GUI extensa con paneles, gráficos y numerosos menús. MinIO simplemente inicia su servidor con un comando, donde simplemente puede almacenar datos utilizando toda la potencia de la API S3. Pero cabe señalar que esta simplicidad puede resultar engañosa en lo que respecta a los recursos utilizados. La RAM y la CPU se absorben perfectamente, pero las razones se explicarán a continuación. Y, por cierto, combinaciones como FreeNAS y TrueNAS utilizan MinIO bajo el capó.

Esta introducción puede terminar aquí.

Configurar MinIO es muy rápido

Configurarlo es tan rápido que lo veremos para Windows y Linux. Hay opciones para Docker, Kubernetis e incluso MacOS, pero el significado será el mismo en todas partes.

Entonces, en el caso de Windows, ve al sitio web oficial. https://min.io/download#/windows y descargue la última versión. Allí también vemos instrucciones para comenzar:

 minio.exe server F:Data

Y también hay un enlace a uno un poco más detallado. Quick start guide (English). No tiene sentido no creer las instrucciones, así que lo ejecutamos y obtenemos una respuesta como esta.

MinIo para los más pequeños
¡Eso es todo! El almacenamiento está funcionando y puedes empezar a trabajar con él. No bromeaba cuando dije que MinIO es minimalista y simplemente funciona. Si sigue el enlace ofrecido durante el lanzamiento, las funciones máximas disponibles allí son para crear un depósito. Y puedes empezar a escribir datos.

Para los amantes de Linux, todo sigue siendo no menos sencillo. Las instrucciones más simples:


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

El resultado será indistinguible de lo visto anteriormente. 

Configurar MinIO es un poco más significativo

Según entendemos, el párrafo anterior es un mimo a efectos de prueba. Y, seamos honestos, utilizamos MinIO ampliamente para realizar pruebas, lo cual no nos avergüenza en absoluto admitir. Por supuesto que funciona, pero es una pena soportarlo más allá de los bancos de pruebas. Por eso, tomamos un archivo en nuestras manos y comenzamos a recordarlo.

HTTPS

El primer paso obligatorio en el camino hacia la producción es el cifrado. Ya existen en la red un millón y mil manuales para añadir certificados a MiniIO, pero su plan general es este:

  • Crear un certificado
  • En el caso de Windows, ponlo en C:Users%User%.miniocerts
  • Para Linux en ${HOME}/.minio/certs 
  • Reiniciando el servidor

El banal Let's Encrypt es aburrido y se describe en todas partes, por eso nuestro camino es el camino del samurái, por eso en el caso de Windows descargamos Cygwin, y en el caso de Linux simplemente comprobamos que tenemos openssl instalado. Y hacemos un poco de magia en la consola:

  • Crear claves: openssl ecparam -genkey -name prime256v1 | openssl ec -out clave.privada
  • Creamos un certificado usando la clave: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Copie private.key y public.crt a la carpeta especificada anteriormente
  • Reiniciar MinIO

Si todo salió como debería, aparecerá algo como esto en el estado.

MinIo para los más pequeños

Habilitar la codificación de borrado MinIO

Primero, unas palabras sobre el tema. En pocas palabras: se trata de protección de software de datos contra daños y pérdidas. Como una redada, sólo que mucho más fiable. Si el RAID6 clásico puede permitirse el lujo de perder dos discos, MinIO puede hacer frente fácilmente a la pérdida de la mitad. La tecnología se describe con más detalle en guía oficial. Pero si tomamos la esencia, entonces esta es una implementación de los códigos Reed-Solomon: toda la información se almacena en forma de bloques de datos, que tienen bloques de paridad. Y parece que todo esto ya se ha hecho muchas veces, pero hay un “pero” importante: podemos indicar explícitamente la relación entre bloques de paridad y bloques de datos para los objetos almacenados.
¿Quieres 1:1? ¡Por favor!
¿Quieres 5:2? ¡Ningún problema!

Una característica muy importante si utiliza varios nodos a la vez y desea encontrar su propio equilibrio entre la máxima seguridad de los datos y los recursos gastados. Fuera de la caja, MinIO usa la fórmula N/2 (donde N es el número total de discos), es decir divide sus datos entre N/2 discos de datos y N/2 discos de paridad. Traducido en términos humanos: puedes perder la mitad de los discos y recuperar los datos. Esta relación se da a través de Clase de almacenamiento, permitiéndole elegir usted mismo qué es más importante: fiabilidad o capacidad.

La guía da el siguiente ejemplo: supongamos que tiene una instalación en 16 discos y necesita guardar un archivo de 100 MB de tamaño. Si se utiliza la configuración predeterminada (8 discos para datos, 8 para bloques de paridad), el archivo eventualmente ocupará casi el doble de volumen, es decir. 200 MB. Si la proporción del disco es 10/6, se necesitarán 160 MB. 14/2 - 114 MB.

Otra diferencia importante con respecto a las incursiones: en caso de falla del disco, MinIO funcionará a nivel de objeto, restaurando uno por uno, sin detener todo el sistema. Mientras que una incursión normal se verá obligada a restaurar todo el volumen, lo que llevará una cantidad de tiempo impredecible. El autor recuerda un estante de discos que, después de que se cayeron dos discos, tardó una semana y media en recalcularlo. Fue bastante desagradable.

Y una nota importante: MinIO divide todos los discos para Erasure Coding en conjuntos de 4 a 16 discos, utilizando el tamaño de conjunto máximo posible. Y en el futuro, un elemento de información se almacenará sólo dentro de un conjunto.

Todo esto suena muy bien, pero ¿qué tan difícil será configurarlo? Echemos un vistazo. Tomamos el comando para ejecutar y simplemente enumeramos los discos en los que se debe crear el almacenamiento. Si todo se hace correctamente, en el informe veremos la cantidad de discos involucrados. Y el consejo es que no es bueno agregar la mitad de los discos a un host a la vez, porque esto provocará la pérdida de datos.

c:minio>minio.exe server F: G: H: I: J: K:

MinIo para los más pequeños
A continuación, para administrar y configurar el servidor MinIO, necesitaremos un agente, que puede descargar ibid del sitio oficial.

Para no desgastar sus dedos cada vez que escribe la dirección y las claves de acceso (y no es seguro), es conveniente crear inmediatamente un alias cuando comience a usar el conjunto de alias fórmula mc [TU-CLAVE-de-ACCESO] [TU-LLAVE-SECRETA]

mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE

O puedes agregar inmediatamente tu anfitrión:

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

Y luego crearemos un depósito inmutable con un hermoso equipo.

mc mb --debug -l veeamS3/immutable 

mc: <DEBUG> PUT /immutable/ HTTP/1.1
Host: 172.17.32.52:9000
User-Agent: MinIO (windows; amd64) minio-go/v7.0.5 mc/2020-08-08T02:33:58Z
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=minioadmin/20200819/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-bucket-object-lock-enabled;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Bucket-Object-Lock-Enabled: true
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20200819T092241Z
Accept-Encoding: gzip
mc: <DEBUG> HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Content-Security-Policy: block-all-mixed-content
Date: Wed, 19 Aug 2020 09:22:42 GMT
Location: /immutable
Server: MinIO/RELEASE.2020-08-16T18-39-38Z
Vary: Origin
X-Amz-Request-Id: 162CA0F9A3A3AEA0
X-Xss-Protection: 1; mode=block
mc: <DEBUG> Response Time:  253.0017ms

--depurar le permite ver no sólo el mensaje final, sino también información más detallada. 

-l significa —with-lock, que significa inmutable

Si ahora volvemos a la interfaz web, nuestro nuevo depósito aparecerá allí.

MinIo para los más pequeños
Eso es todo por ahora. Hemos creado un almacenamiento seguro y estamos listos para pasar a la integración con Veeam.

También puedes asegurarte de que todo funciona perfectamente:

c:minio>mc admin info veeamS3

●  172.17.32.52:9000
   Uptime: 32 minutes
   Version: 2020-08-16T18:39:38Z
   Network: 1/1 OK
   Drives: 6/6 OK
0 B Used, 1 Bucket, 0 Objects
6 drives online, 0 drives offline

MinIO y Veeam

¡Atención! Si por alguna razón increíble desea trabajar a través de HTTP, en HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication cree una clave DWORD SOBRArchiveS3DisableTLS. Establezca su valor en 1 y recuerde que no aprobamos enfáticamente dicho comportamiento y no se lo recomendamos a nadie.

¡Atención de nuevo! Si, debido a algún malentendido, continúa usando Windows 2008 R2, cuando intente conectar MinIO a Veeam, lo más probable es que reciba un error como este: No se pudo establecer la conexión con el punto final de Amazon S3. Esto se puede tratar con un parche oficial de Microsoft.

Bueno, los preparativos están completos, abramos la interfaz VBR y vayamos a la pestaña Infraestructura de respaldo, donde llamaremos al asistente para agregar un nuevo repositorio.

MinIo para los más pequeños
Por supuesto, estamos interesados ​​en el almacenamiento de objetos, es decir, compatible con S3. En el asistente que se abre, establezca un nombre y siga los pasos que indican la dirección y la cuenta. Si es necesario, no olvide especificar la puerta a través de la cual se enviarán las solicitudes al almacenamiento.

MinIo para los más pequeños
Luego seleccione el depósito, la carpeta y marque la casilla Hacer que las copias de seguridad recientes sean inmutables. O no lo instalamos. Pero como hemos creado una instalación de almacenamiento que admite esta función, sería un pecado no utilizarla.

MinIo para los más pequeños
Siguiente > Termina y disfruta del resultado.

Ahora necesitamos agregarlo al repositorio SOBR como nivel de capacidad. Para hacer esto, creamos uno nuevo o editamos uno existente. Estamos interesados ​​en el paso Nivel de capacidad.

MinIo para los más pequeños
Aquí debemos elegir con qué escenario trabajaremos. Todas las opciones se describen bastante bien en otro статье, así que no me repetiré

Y al finalizar el asistente, se iniciarán automáticamente las tareas de copia o transferencia de copias de seguridad. Pero si sus planes no incluyen colocar la carga inmediatamente en todos los sistemas, asegúrese de establecer intervalos aceptables para trabajar en el botón Ventana.

MinIo para los más pequeños
Y, por supuesto, puede realizar tareas de copia de seguridad por separado. Algunos creen que esto es aún más conveniente, ya que son algo más transparentes y predecibles para el usuario que no quiere ahondar en los detalles del funcionamiento del campo de tiro. Y hay suficientes detalles allí, así que una vez más recomiendo el artículo correspondiente en el enlace de arriba.

Y finalmente, la respuesta a la pregunta traicionera: ¿qué pasará si aún intentas eliminar la copia de seguridad del almacenamiento inmutable?

Aquí está la respuesta:

MinIo para los más pequeños
Eso es todo por hoy. Siguiendo la verdadera tradición, obtenga una lista de temas útiles sobre el tema:

Fuente: habr.com

Añadir un comentario