MinIo para os máis pequenos

MinIO é unha excelente solución cando precisa organizar de xeito sinxelo e sinxelo o almacenamento de obxectos. Configuración elemental, moitas plataformas e bo rendemento fixeron o seu traballo no campo do amor popular. Así que non nos quedaba máis remedio que declarar a compatibilidade hai un mes Veeam Backup & Replication e MinIO. Incluíndo unha característica tan importante como a inmutabilidade. De feito, MinIO ten un todo sección na documentación dedicada á nosa integración.

Polo tanto, hoxe falaremos de como:

  • Configurar MinIO é moi rápido.
  • Configurar MinIO é un pouco menos rápido, pero moito mellor.
  • Utilízao como un nivel de arquivo para o repositorio escalable de Veeam SOBR.

MinIo para os máis pequenos

que es ti?

Unha pequena introdución para aqueles que non coñeceron a MinIO. Este é un almacenamento de obxectos de código aberto compatible coa API de Amazon S3. Lanzado baixo a licenza Apache v2 e adhírese á filosofía do minimalismo espartano.

É dicir, non ten unha GUI extensa con paneis, gráficos e numerosos menús. MinIO simplemente lanza o seu servidor cun só comando, onde pode simplemente almacenar datos usando toda a potencia da API S3. Pero hai que ter en conta que esta sinxeleza pode resultar enganosa cando se trata dos recursos empregados. A RAM e a CPU absórbense perfectamente, pero as razóns serán discutidas a continuación. E, por certo, combinadas como FreeNAS e TrueNAS usan MinIO baixo o capó.

Esta introdución pode rematar aquí.

Configurar MinIO é moi rápido

Configuralo é tan rápido que o miraremos para Windows e Linux. Hai opcións para Docker, e para Kubernetis, e mesmo para MacOS, pero o significado será o mesmo en todas partes.

Entón, no caso de Windows, vai ao sitio web oficial https://min.io/download#/windows e descarga a última versión. Alí tamén vemos instrucións para comezar:

 minio.exe server F:Data

E tamén hai unha ligazón a outra un pouco máis detallada Guía de inicio rápido. Non ten sentido non crer as instrucións, así que o executamos e obtemos algo como esta resposta.

MinIo para os máis pequenos
Iso é todo! O almacenamento funciona e podes comezar a traballar con el. Non estaba bromeando cando dixen que MinIO é minimalista e só funciona. Se segues a ligazón que se ofrece durante o lanzamento, as funcións máximas dispoñibles son crear un balde. E podes comezar a escribir datos.

Para os amantes de Linux, todo non deixa de ser menos sinxelo. As instrucións máis sinxelas:


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

O resultado será indistinguible do visto anteriormente. 

Configurar MinIO é un pouco máis significativo

Segundo entendemos, o parágrafo anterior é un mimo para fins de proba. E, sexamos sinceros, usamos MinIO moi amplamente para probar, o que non nos avergoña de admitir. Por suposto, funciona, pero é unha mágoa soportar isto máis aló dos bancos de probas. Por iso, collemos un arquivo nas nosas mans e comezamos a traerllo á mente.

HTTPS

O primeiro paso obrigatorio no camiño da produción é o cifrado. Xa hai un millón e mil manuais na rede para engadir certificados a MiniIO, pero o seu plan xeral é este:

  • Crear un certificado
  • No caso de Windows, colócao en C:Users%User%.miniocerts
  • Para Linux en ${HOME}/.minio/certs 
  • Reiniciando o servidor

O banal Let's Encrypt é aburrido e descríbese en todas partes, polo que o noso camiño é o camiño do samurai, polo que no caso de Windows descargamos Cygwin, e no caso de Linux simplemente comprobamos que temos openssl instalado. E facemos un pouco de maxia da consola:

  • Crear claves: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Creamos un certificado usando a clave: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Copia private.key e public.crt no cartafol especificado anteriormente
  • Reinicie MinIO

Se todo foi como debería, entón aparecerá algo así no estado.

MinIo para os máis pequenos

Activa a codificación de borrado de MinIO

En primeiro lugar, unhas palabras sobre o tema. En poucas palabras: esta é a protección do software dos datos contra danos e perdas. Como unha incursión, só que moito máis fiable. Se o RAID6 clásico pode permitirse o luxo de perder dous discos, entón o MiniIO pode afrontar facilmente a perda da metade. A tecnoloxía descríbese con máis detalle en guía oficial. Pero se tomamos a esencia, entón esta é unha implementación dos códigos Reed-Solomon: toda a información almacénase en forma de bloques de datos, que teñen bloques de paridade. E parece que todo isto xa se fixo moitas veces, pero hai un "pero" importante: podemos indicar explícitamente a proporción de bloques de paridade e bloques de datos para os obxectos almacenados.
Queres 1:1? Por favor!
Queres 5:2? Sen problema!

Unha característica moi importante se usas varios nodos á vez e queres atopar o teu propio equilibrio entre a máxima seguridade dos datos e os recursos gastados. Fóra da caixa, MinIO usa a fórmula N/2 (onde N é o número total de discos), é dicir. divide os seus datos entre N/2 discos de datos e N/2 discos de paridade. Traducindo en termos humanos: podes perder a metade dos discos e recuperar os datos. Esta relación dáse a través Clase de almacenamento, permitíndoche escoller por ti mesmo o que é máis importante: fiabilidade ou capacidade.

A guía dá o seguinte exemplo: supoña que tes unha instalación en 16 discos e necesitas gardar un ficheiro de 100 MB de tamaño. Se se usan os axustes predeterminados (8 discos para datos, 8 para bloques de paridade), o ficheiro acabará ocupando case o dobre do volume, é dicir. 200 MB. Se a proporción do disco é 10/6, necesitaranse 160 MB. 14/2 - 114 MB.

Outra diferenza importante coas incursións: en caso de falla no disco, MinIO funcionará a nivel de obxectos, restaurando un por un, sen deter todo o sistema. Mentres que unha incursión regular será obrigada a restaurar todo o volume, o que levará un tempo imprevisible. O autor lembra un estante de discos que, despois de caer dous discos, tardou semana e media en recalcular. Foi bastante desagradable.

E, unha nota importante: MinIO divide todos os discos para a codificación de borrado en conxuntos de 4 a 16 discos, utilizando o tamaño máximo posible. E no futuro, un elemento de información almacenarase só nun conxunto.

Todo isto parece moi xenial, pero o difícil que será configuralo? Imos botarlle unha ollada. Tomamos o comando para executar e simplemente enumeramos os discos nos que hai que crear o almacenamento. Se todo está feito correctamente, entón no informe veremos o número de discos implicados. E o consello é que non é bo engadir a metade dos discos a un servidor á vez, porque isto levará á perda de datos.

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

MinIo para os máis pequenos
A continuación, para xestionar e configurar o servidor MinIO, necesitaremos un axente, que pode descargar no mesmo lugar dende o sitio oficial.

Para non esgotar os dedos cada vez que tecleas o enderezo e as teclas de acceso (e non é seguro), é conveniente crear inmediatamente un alias cando comeces a usar a fórmula mc alias set [A TÚA CLAVE DE ACCESO] [A TÚA CLAVE SECRETA]

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

Ou pode engadir inmediatamente o seu anfitrión:

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

E entón imos crear un balde inmutable cun fermoso 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 permítelle ver non só a mensaxe final, senón tamén información máis detallada. 

-l significa —con bloqueo, que significa inmutable

Se agora volvemos á interface web, aparecerá alí o noso novo cubo.

MinIo para os máis pequenos
Iso é todo por agora. Creamos almacenamento seguro e estamos preparados para pasar á integración con Veeam.

Tamén podes 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 e Veeam

Atención! Se por algún motivo incrible queres traballar a través de HTTP, en HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication crea unha clave DWORD SOBRArchiveS3DisableTLS. Establece o seu valor en 1 e recorda que non aprobamos este comportamento nin o recomendamos a ninguén.

Atención de novo! Se, debido a algún malentendido, continúas usando Windows 2008 R2, cando intentes conectar MinIO a Veeam, o máis probable é que recibas un erro como o seguinte: Non se puido establecer a conexión co punto final de Amazon S3. Isto pódese tratar cun parche oficial de Microsoft.

Ben, os preparativos están completos, abramos a interface VBR e imos á pestana Infraestrutura de copia de seguridade, onde chamaremos ao asistente para engadir un novo repositorio.

MinIo para os máis pequenos
Por suposto, estamos interesados ​​no almacenamento de obxectos, é dicir, compatible con S3. No asistente que se abre, establece un nome e sigue os pasos indicando o enderezo e a conta. Se é necesario, non esqueza especificar a porta pola que se enviarán as solicitudes ao almacenamento.

MinIo para os máis pequenos
A continuación, seleccione o depósito, o cartafol e marque a caixa Facer que as copias de seguridade recentes sexan inmutables. Ou non o instalamos. Pero xa que fixemos un almacén que admita esta función, sería un pecado non utilizalo.

MinIo para os máis pequenos
Seguinte > Rematar e gozar do resultado.

Agora necesitamos engadilo ao repositorio SOBR como un nivel de capacidade. Para iso, creamos un novo ou editamos un existente. Estamos interesados ​​no paso Capacidade.

MinIo para os máis pequenos
Aquí temos que escoller con que escenario traballaremos. Todas as opcións descríbense bastante ben noutro Artigo, así que non me repetirei

E despois de completar o asistente, as tarefas para copiar ou transferir copias de seguridade lanzaranse automaticamente. Pero se os teus plans non inclúen colocar inmediatamente a carga en todos os sistemas, asegúrate de establecer intervalos aceptables para traballar no botón Xanela.

MinIo para os máis pequenos
E, por suposto, podes facer tarefas de copia de seguranza separadas. Algúns cren que isto é aínda máis cómodo, xa que son algo máis transparentes e previsibles para o usuario que non quere afondar nos detalles do funcionamento do campo de tiro. E hai bastantes detalles alí, así que recomendo unha vez máis o artigo correspondente na ligazón anterior.

E, finalmente, a resposta á pregunta traizoeira: que pasará se aínda intentas eliminar a copia de seguridade do almacenamento inmutable?

Aquí está a resposta:

MinIo para os máis pequenos
Iso é todo por hoxe. Na verdadeira tradición, colle unha lista de temas útiles sobre o tema:

Fonte: www.habr.com

Engadir un comentario