Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

O mundo viu o primeiro prototipo de almacenamento de obxectos en 1996. Dentro de 10 anos, Amazon Web Services lanzará Amazon S3 e o mundo comezará a enloquecer sistematicamente cun espazo de enderezo plano. Grazas ao traballo con metadatos e á súa capacidade de escalar sen caer baixo a carga, o almacenamento de obxectos converteuse rapidamente no estándar para a maioría dos servizos de almacenamento de datos na nube, e non só iso. Outra característica importante é que é moi axeitado para almacenar arquivos e ficheiros similares pouco usados. Todos os implicados no almacenamento de datos alegráronse e levaron a nova tecnoloxía nos seus brazos.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Pero os rumores da xente estaban cheos de rumores de que o almacenamento de obxectos só se trata de grandes nubes, e se non necesitas solucións dos malditos capitalistas, será moi difícil facer a túa. Xa se escribiu moito sobre a implantación da túa propia nube, pero non hai suficiente información dispoñible sobre a creación das chamadas solucións compatibles con S3.

Polo tanto, hoxe descubriremos que opcións hai "Para que sexa como adultos, non CEPH e un ficheiro máis grande", implementaremos unha delas e comprobaremos que todo funciona usando Veeam Backup & Replication. Afirma que admite traballar con almacenamentos compatibles con S3 e probaremos esta afirmación.

E outros?

Suxiro comezar cunha pequena visión xeral do mercado e das opcións de almacenamento de obxectos. O líder e estándar xeralmente recoñecido é Amazon S3. Os dous perseguidores máis próximos son Microsoft Azure Blob Storage e IBM Cloud Object Storage.

Eso é todo? Realmente non hai outros competidores? Por suposto, hai competidores, pero algúns seguen o seu camiño, como Google Cloud ou Oracle Cloud Object Storage, con soporte incompleto para a API S3. Algúns usan versións antigas da API, como Baidu Cloud. E algúns, como Hitachi Cloud, requiren unha lóxica especial, o que seguramente causará as súas propias dificultades. En calquera caso, todo o mundo é comparado con Amazon, que pode considerarse o estándar da industria.

Pero nas solucións on-premise hai moita máis opción, así que imos esbozar os criterios que son importantes para nós. En principio, só dous son suficientes: soporte para a API S3 e o uso da sinatura v4. Co corazón, a nós, como futuro cliente, só nos interesan as interfaces para a interacción, e non nos interesa tanto a cociña interna do propio almacén.

Moitas solucións encaixan nestas condicións sinxelas. Por exemplo, pesos pesados ​​corporativos clásicos:

  • DellEMC ECS
  • NetApp S3 StorageGrid
  • Cubos Nutanix
  • Pure Storage FlashBlade e StorReduce
  • Huawei FusionStorage

Hai un nicho de solucións puramente de software que funcionan fóra da caixa:

  • Red Hat Ceph
  • Almacenamento SUSE Enterprise
  • Nublado

E mesmo aqueles aos que lles gusta arquivar coidadosamente despois da asemblea non se ofenderon:

  • CEPH en estado puro
  • Minio (versión de Linux, porque hai moitas preguntas sobre a versión de Windows)

A lista está lonxe de ser completa; pódese discutir nos comentarios. Non esquezas comprobar o rendemento do sistema ademais da compatibilidade da API antes da implementación. O último que queres é perder terabytes de datos debido a consultas atascadas. Polo tanto, non sexa tímido coas probas de carga. En xeral, todo o software para adultos que funciona con grandes cantidades de datos ten polo menos informes de compatibilidade. En caso de Veeam ten todo o programa en probas mutuas, o que nos permite declarar con confianza a total compatibilidade dos nosos produtos con equipos específicos. Este xa é un traballo bidireccional, non sempre rápido, pero estamos en constante expansión список solucións probadas.

Montando o noso stand

Gustaríame falar un pouco sobre a elección dun tema de proba.

En primeiro lugar, quería atopar unha opción que funcionase desde a caixa. Ben, ou polo menos coa máxima probabilidade de que funcione sen necesidade de facer movementos innecesarios. Bailar cunha pandeireta e xogar coa consola pola noite é moi emocionante, pero ás veces queres que funcione de inmediato. E a fiabilidade xeral destas solucións adoita ser maior. E si, o espírito aventureiro desapareceu en nós, deixamos de subir ás fiestras das nosas queridas mulleres, etc.(c).

En segundo lugar, para ser honesto, a necesidade de traballar con almacenamento de obxectos xorde en empresas bastante grandes, polo que este é o mesmo caso cando buscar solucións a nivel empresarial non só non é vergonzoso, senón que mesmo se anima. En calquera caso, aínda non coñezo ningún exemplo de que alguén fose despedido por adquirir tales solucións.

En base a todo o anterior, a miña elección caeu Dell EMC ECS Community Edition. Este é un proxecto moi interesante, e considero necesario contarvos sobre el.

O primeiro que se che ocorre cando ves o complemento Edición comunitaria - que esta é só unha copia dun ECS completo con algunhas restricións que se eliminan coa compra dunha licenza. Entón non!

Lembre:

!!!Community Edition é un proxecto separado creado para probar e sen soporte técnico de Dell!!
E non se pode converter nun ECS completo, aínda que realmente queira.

Imos descubrilo

Moitas persoas cren que Dell EMC ECS é case a mellor solución se precisa de almacenamento de obxectos. Todos os proxectos baixo a marca ECS, incluídos os comerciais e corporativos, baséanse en github. Unha especie de xesto de boa vontade de Dell. E ademais do software que se executa no hardware da súa marca, hai unha versión de código aberto que se pode despregar na nube, nunha máquina virtual, nun contedor ou en calquera hardware do teu propio. De cara ao futuro, incluso hai unha versión OVA, que utilizaremos.
A propia edición da comunidade DELL ECS é unha mini-versión de software completo que se executa en servidores Dell EMC ECS da marca.

Identifiquei catro diferenzas principais:

  • Non hai soporte de cifrado. É unha mágoa, pero non crítica.
  • Falta a capa de tela. Esta cousa encárgase de construír clústeres, xestión de recursos, actualizacións, seguimento e almacenamento de imaxes de Docker. Aquí é onde xa é moi ofensivo, pero Dell tamén se pode entender.
  • A consecuencia máis noxenta do punto anterior: o tamaño do nodo non se pode ampliar despois de completar a instalación.
  • Sen soporte técnico. Este é un produto para probar, que non está prohibido usar en pequenas instalacións, pero eu persoalmente non me atrevería a cargar alí petabytes de datos importantes. Pero tecnicamente ninguén pode impedirche facelo.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Que hai na versión grande?

Galopemos por Europa e pasemos por solucións férreas para ter unha comprensión máis completa do ecosistema.

Non vou confirmar nin refutar de algunha maneira a afirmación de que DELL ECS é o mellor almacenamento de obxectos local, pero se tes algo que dicir sobre este tema, estarei encantado de lelo nos comentarios. Polo menos segundo a versión IDC MarketScape 2018 Dell EMC está entre os cinco principais líderes do mercado de OBS. Aínda que alí non se teñen en conta as solucións baseadas na nube, esta é unha conversa separada.

Desde o punto de vista técnico, ECS é un almacenamento de obxectos que proporciona acceso aos datos mediante protocolos de almacenamento na nube. Admite AWS S3 e OpenStack Swift. Para os depósitos habilitados para ficheiros, ECS admite NFSv3 para a exportación ficheiro por ficheiro.

O proceso de gravación da información é bastante inusual, especialmente despois dos sistemas clásicos de almacenamento de bloques.

  • Cando chegan novos datos, créase un novo obxecto que ten un nome, os propios datos e metadatos.
  • Os obxectos divídense en anacos de 128 MB, e cada anaco escríbese en tres nodos á vez.
  • Actualízase o ficheiro de índice, onde se rexistran os identificadores e as localizacións de almacenamento.
  • O ficheiro de rexistro (entrada de rexistro) actualízase e tamén se escribe en tres nodos.
  • Envíase ao cliente unha mensaxe sobre a gravación exitosa
    As tres copias dos datos están escritas en paralelo. A escritura considérase exitosa só se as tres copias foron escritas con éxito.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

A lectura é máis sinxela:

  • O cliente solicita datos.
  • O índice busca onde se almacenan os datos.
  • Os datos lense desde un nodo e envíanse ao cliente.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Hai bastantes servidores, así que vexamos o Dell EMC ECS EX300 máis pequeno. Comeza a partir de 60 TB, coa capacidade de crecer ata 1,5 PB. E o seu irmán maior, o Dell EMC ECS EX3000, permítelle almacenar ata 8,6 PB por rack.

Implantar

Tecnicamente, Dell ECS CE pódese implementar tan grande como queiras. En calquera caso, non atopei ningunha restrición explícita. Non obstante, é conveniente facer todo o escalado clonando o primeiro nodo, para o que necesitamos:

  • 8 vCPU
  • 64GB RAM
  • 16 GB para OS
  • Almacenamento directo de 1 TB
  • Última versión de CentOS minimal

Esta é unha opción para cando queres instalar todo ti mesmo desde o principio. Esta opción non é relevante para nós, porque... Usarei a imaxe OVA para a súa implantación.

Pero en calquera caso, os requisitos son moi malos mesmo para un nodo, e se segues estrictamente a letra da lei, necesitas catro destes nodos.

Non obstante, os desenvolvedores de ECS CE viven no mundo real e a instalación ten éxito mesmo cun nodo e os requisitos mínimos son:

  • 4 vCPU
  • 16 GB RAM
  • 16 GB para OS
  • 104 GB de almacenamento en si

Estes son os recursos necesarios para despregar a imaxe OVA. Xa moito máis humano e realista.

O propio nodo de instalación pódese obter do oficial GitHub. Tamén hai documentación detallada sobre a implementación de todo-en-un, pero tamén se pode ler na versión oficial ler os documentos. Polo tanto, non nos deteremos en detalle sobre o desenvolvemento da OVA, non hai trucos alí. O principal é que antes de inicialo, non se esqueza de expandir o disco ao volume necesario ou engadir os necesarios.
Iniciamos a máquina, abrimos a consola e usamos as mellores credenciais predeterminadas:

  • inicio de sesión: admin
  • contrasinal: ChangeMe

Despois executamos sudo nmtui e configuramos a interface de rede: IP/máscara, DNS e porta. Tendo en conta que CentOS minimal non ten ferramentas de rede, comprobamos a configuración a través do enderezo ip.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

E como só os valentes conquistan os mares, facemos unha actualización ñam, despois da cal reiniciamos. En realidade é bastante seguro porque... toda a implantación realízase a través de playbooks e todos os paquetes docker importantes están bloqueados na versión actual.

Agora é o momento de editar o script de instalación. Non hai xanelas nin pseudo UI para ti: todo faise a través do teu editor de texto favorito. Tecnicamente, hai dúas formas: pode executar cada comando manualmente ou iniciar inmediatamente o configurador de videoploy. Simplemente abrirá a configuración en vim e, ao saír, comezará a comprobalo. Pero non é interesante simplificar a túa vida deliberadamente, así que imos executar dous comandos máis. Aínda que isto non ten sentido, aviseino =)

Entón, fagamos vim ECS-CommunityEdition/deploy.xml e fagamos os cambios mínimos óptimos para que ECS estea en funcionamento. Pódese acurtar a lista de parámetros, pero fíxeno así:

  • licensed_accepted: true Non tes que cambialo, entón cando o implementes pediráselle explícitamente que o aceptes e amosaráselle unha frase agradable. Quizais este mesmo sexa un ovo de Pascua.
    Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos
  • Descomente as liñas autonames: e personalizado: introduza polo menos un nome desexado para o nodo; o nome de host substituirase por el durante o proceso de instalación.
  • install_node: 192.168.1.1 Especifique a IP real do nodo. No noso caso, indicamos o mesmo que en nmtui
  • dns_domain: introduce o teu dominio.
  • dns_servers: introduza o seu dns.
  • ntp_servers: pode especificar calquera. Tomei o primeiro que atopei do grupo 0.pool.ntp.org (converteuse en 91.216.168.42)
  • autonaming: custom Se non descomentas, a lúa chamarase Lúa.
  • ecs_block_devices:
    / dev / sdb
    Por algún motivo descoñecido, pode haber un dispositivo de almacenamento en bloque /dev/vda inexistente
  • almacenamento_pools:
    membros:
    192.168.1.1 Aquí de novo indicamos a IP real do nodo
  • ecs_block_devices:
    /dev/sdb Repetimos a operación de cortar dispositivos inexistentes.

En xeral, todo o ficheiro descríbese con gran detalle en documentación, pero quen o lerá nun tempo tan complicado. Tamén di que o mínimo suficiente é especificar a IP e a máscara, pero no meu laboratorio ese conxunto comezou bastante mal e tiven que amplialo ao especificado anteriormente.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Despois de saír do editor, cómpre executar update_deploy /home/admin/ECS-CommunityEdition/deploy.yml e, se todo se fai correctamente, informarase explícitamente.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Entón aínda tes que iniciar o videoploy, esperar a que o ambiente se actualice e podes iniciar a propia instalación co comando ova-step1 e, despois da súa finalización satisfactoria, o comando ova-step2. Importante: non pares os guións a man! Algúns pasos poden levar moito tempo, poden non completarse no primeiro intento e pode parecer que todo está roto. En calquera caso, cómpre esperar a que o guión se complete de forma natural. Ao final deberías ver unha mensaxe semellante a esta.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Agora por fin podemos abrir o panel de control WebUI usando a IP que coñecemos. Se a configuración non se cambiou na fase, a conta predeterminada será root/ChangeMe. Incluso podes usar o noso almacenamento compatible con S3 de inmediato. Está dispoñible nos portos 9020 para HTTP e 9021 para HTTPS. De novo, se non se cambiou nada, entón access_key: object_admin1 e secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Pero non nos adiantemos demasiado e comecemos en orde.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Cando inicie sesión por primeira vez, verase obrigado a cambiar o seu contrasinal por un adecuado, que é absolutamente correcto. O panel principal é moi claro, así que imos facer algo máis interesante que explicar as métricas obvias. Por exemplo, creemos un usuario que usaremos para acceder ao almacenamento. No mundo dos provedores de servizos, estes chámanse inquilinos. Isto faise en Xestionar > Usuarios > Novo usuario de obxectos

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Ao crear un usuario, pídesnos que especifiquemos un espazo de nomes. Tecnicamente, nada nos impide crear tantos deles como usuarios hai. E viceversa. Isto permítelle xestionar os recursos de forma independente para cada inquilino.

En consecuencia, seleccionamos as funcións que necesitamos e xeramos claves de usuario. S3/Atmos será suficiente para min. E non esquezas gardar a chave 😉

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Creouse o usuario, agora toca asignarlle un balde. Vaia a Xestionar > Cubo e enche os campos obrigatorios. Aquí todo é sinxelo.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Agora temos todo preparado para un uso bastante combate do noso almacenamento S3.

Configurando Veeam

Así, como lembramos, un dos principais usos do almacenamento de obxectos é o almacenamento a longo prazo de información á que raramente se accede. Un exemplo ideal é a necesidade de almacenar copias de seguridade nun sitio remoto. En Veeam Backup & Replication, esta función chámase Capa de capacidade.

Comecemos a configurar engadindo o noso Dell ECS CE á interface de Veeam. Na pestana Infraestrutura de copia de seguranza, inicie o Asistente para engadir un novo repositorio e seleccione Almacenamento de obxectos.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Imos escoller para que comezou todo: compatible con S3.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Na xanela que aparece, escribe o nome desexado e vai ao paso Conta. Aquí cómpre especificar o punto de servizo no formulario https://your_IP:9021, a rexión pódese deixar como está e engadir o usuario creado. Un servidor de porta é necesario se o teu almacenamento está situado nun sitio remoto, pero este xa é un tema para optimizar a infraestrutura e un artigo separado, polo que podes omitilo aquí con seguridade.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Se todo está especificado e configurado correctamente, aparecerá un aviso sobre o certificado e logo unha xanela cun cubo onde podes crear un cartafol para os nosos ficheiros.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Pasamos polo asistente ata o final e disfrutamos do resultado.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

O seguinte paso é crear un novo repositorio de copias de seguranza escalable ou engadir o noso S3 ao existente; utilizarase como capa de capacidade para o almacenamento de arquivos. Non hai ningunha función para usar o almacenamento compatible con S3 directamente, como un repositorio normal, na versión actual. Hai que resolver demasiados problemas non obvios para que isto suceda, pero todo é posible.
Vaia á configuración do repositorio e active o nivel de capacidade. Todo é transparente alí, pero hai un matiz interesante: se queres que todos os datos se envíen ao almacenamento de obxectos o antes posible, só tes que configuralo en 0 días.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Despois de pasar polo asistente, se non queres agardar, podes premer ctrl+RMB no repositorio, iniciar forzadamente o traballo de nivelación e ver como se rastrexan os gráficos.

Almacenamento de obxectos na sala de atrás ou Como converterse no teu propio provedor de servizos

Iso é todo por agora. Creo que tiven éxito na tarefa de demostrar que o almacenamento en bloque non dá tanto medo como a xente pensa. Si, hai solucións e opcións para un vagón e un carro pequeno, pero non podes cubrir todo nun artigo. Entón, imos compartir a nosa experiencia nos comentarios.

Fonte: www.habr.com

Engadir un comentario