Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

El món va veure el primer prototip d'emmagatzematge d'objectes el 1996. D'aquí a 10 anys, Amazon Web Services llançarà Amazon S3 i el món començarà a tornar-se boig sistemàticament amb un espai d'adreces pla. Gràcies a treballar amb metadades i la seva capacitat d'escalar sense caure sota la càrrega, l'emmagatzematge d'objectes es va convertir ràpidament en l'estàndard per a la majoria dels serveis d'emmagatzematge de dades al núvol, i no només això. Una altra característica important és que és molt adequat per emmagatzemar arxius i fitxers similars poc utilitzats. Tots els implicats en l'emmagatzematge de dades es van alegrar i van portar la nova tecnologia als braços.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Però els rumors de la gent estaven plens de rumors que l'emmagatzematge d'objectes només es tracta de grans núvols, i si no necessiteu solucions dels maleïts capitalistes, serà molt difícil fer-ne les vostres. Ja s'ha escrit molt sobre el desplegament del vostre propi núvol, però no hi ha prou informació sobre la creació de les anomenades solucions compatibles amb S3.

Per tant, avui esbrinarem quines opcions hi ha "Per ser com els adults, i no CEPH i un fitxer més gran", desplegarem una d'elles, i comprovarem que tot funciona amb Veeam Backup & Replication. Reclama suport per treballar amb emmagatzematges compatibles amb S3 i comprovarem aquesta declaració.

Què tal els altres?

Proposo començar amb una petita visió general del mercat i les opcions d'emmagatzematge d'objectes. El líder i estàndard generalment reconegut és Amazon S3. Els dos perseguidors més propers són Microsoft Azure Blob Storage i IBM Cloud Object Storage.

Això és tot? No hi ha altres competidors? Per descomptat, hi ha competidors, però algú segueix el seu camí, com Google Cloud o Oracle Cloud Object Storage, amb un suport incomplet per a l'API S3. Algú està utilitzant versions antigues de l'API, com ara Baidu Cloud. I alguns, com Hitachi Cloud, requereixen l'aplicació d'una lògica especial, que sens dubte causarà les seves pròpies dificultats. En qualsevol cas, tothom es compara amb Amazon, que es pot considerar l'estàndard del sector.

Però en les solucions on-premise, l'elecció és molt més gran, així que esbossem els criteris que són importants per a nosaltres. En principi, només n'hi ha prou amb dos: suport per a l'API S3 i l'ús de signatura v4. De la mà, a nosaltres, com a futur client, només ens interessen les interfícies per a la interacció, i no ens interessa tant la cuina interna de l'emmagatzematge en si.

Bé, moltes solucions s'ajusten a aquestes condicions senzilles. Per exemple, pesos pesats corporatius clàssics:

  • DellEMC ECS
  • NetApp S3 Storage Grid
  • Cubells Nutanix
  • Pure Storage FlashBlade i StorReduce
  • Huawei FusionStorage

Hi ha un nínxol de solucions purament de programari que funcionen fora de la caixa:

  • Red Hat Ceph
  • Emmagatzematge empresarial SUSE
  • Núvol

I fins i tot aquells a qui els agrada processar amb cura amb un fitxer després del muntatge no es van ofendre:

  • CEPH en estat pur
  • Minio (versió de Linux, perquè hi ha moltes preguntes sobre la versió de Windows)

La llista està lluny de ser completa, es pot discutir als comentaris. No oblideu comprovar el rendiment del sistema a més de la compatibilitat de l'API abans de la implementació. L'últim que voleu és la pèrdua de terabytes de dades a causa de sol·licituds bloquejades. Així que no dubteu a carregar proves. En general, tot el programari per a adults que funciona amb grans quantitats de dades té almenys informes de compatibilitat. En cas de Veeam hi programa sencer en proves mútues, que ens permeten declarar amb valentia la total compatibilitat dels nostres productes amb equips específics. Això ja és un treball bidireccional, no sempre ràpid, però estem en constant expansió список solucions provades.

Muntant el nostre estand

Vull parlar una mica de l'elecció d'un tema de prova.

Primer, volia trobar una opció que funcionés de seguida. Bé, o almenys amb la màxima probabilitat que funcioni sense necessitat de fer gestos innecessaris. Ballar amb un tamborí i agafar la consola a la nit és molt emocionant, però de vegades vols que funcioni de seguida. I la fiabilitat global d'aquestes solucions sol ser més alta. I sí, ens va desaparèixer l'esperit d'aventurerisme, vam deixar d'enfilar-nos per les finestres a les nostres estimades dones, etc.(c).

En segon lloc, per ser honest, la necessitat de treballar amb emmagatzematge d'objectes sorgeix en empreses bastant grans, de manera que aquest és el cas quan mirar cap a solucions a nivell empresarial no només no s'avergonyeix, sinó que fins i tot s'anima. En qualsevol cas, encara no conec exemples d'acomiadament d'algú per comprar aquestes solucions.

En base a l'anterior, la meva elecció va caure Dell EMC ECS Community Edition. Aquest és un projecte molt interessant, i considero necessari explicar-vos-ho.

El primer que et ve al cap quan veus l'addició Edició comunitària - que això és només un paper de calc d'un ECS complet amb algunes restriccions que s'eliminen comprant una llicència. Així que no!

Recordeu:

!!!Community Edition és un projecte independent creat per a proves i sense suport tècnic de Dell!!
I no es pot convertir en un ECS de ple dret, fins i tot si realment ho desitgeu.

Esbrinem-ho

Molta gent pensa que Dell EMC ECS és gairebé la millor solució si necessiteu emmagatzematge d'objectes. Tots els projectes sota la marca ECS, inclosos els comercials i corporatius, són github. Una mena de gest de bona voluntat de Dell. I a més del programari que s'executa amb el seu maquinari de marca, hi ha una versió de codi obert que es pot desplegar fins i tot al núvol, fins i tot en una màquina virtual, fins i tot en un contenidor, fins i tot en qualsevol del vostre maquinari. De cara al futur, fins i tot hi ha una versió OVA, que farem servir.
La pròpia edició de la comunitat DELL ECS és una versió mini del programari complet que s'executa als servidors de la marca Dell EMC ECS.

He identificat quatre diferències principals:

  • Sense suport de xifratge. És una llàstima, però no crític.
  • No hi ha cap capa de tela. Aquesta cosa s'encarrega de crear clústers, gestionar recursos, actualitzar, supervisar i emmagatzemar imatges de Docker. Aquí ja és molt decebedor, però Dell també es pot entendre.
  • La conseqüència més desagradable del punt anterior: la mida del node no es pot ampliar un cop finalitzada la instal·lació.
  • Sense suport tècnic. Aquest és un producte per provar, que no està prohibit utilitzar en petites instal·lacions, però personalment no m'atreviria a pujar-hi petabytes de dades importants. Però tècnicament, ningú us pot impedir que ho feu.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Què hi ha a la versió gran?

Galopant per Europa, repassem les solucions de ferro per tenir una imatge més completa de l'ecosistema.

No confirmaré ni refutaré d'alguna manera l'afirmació que DELL ECS és el millor emmagatzematge d'objectes local, però si teniu alguna cosa a dir sobre aquest tema, estaré encantat de llegir-ho als comentaris. En tot cas, segons la versió IDC MarketScape 2018 Dell EMC entra amb confiança als cinc principals líders del mercat OBS. Tot i que no es tenen en compte les solucions basades en núvol, aquesta és una conversa a part.

Des d'un punt de vista tècnic, ECS és un emmagatzematge d'objectes que proporciona accés a dades mitjançant protocols d'emmagatzematge al núvol. Admet AWS S3 i OpenStack Swift. Per als contenidors habilitats per a fitxers, ECS admet NFSv3 per a l'exportació fitxer per fitxer.

El procés d'escriptura d'informació és força inusual, sobretot després dels clàssics sistemes d'emmagatzematge de blocs.

  • Quan arriben dades noves, es crea un objecte nou que té un nom, les dades en si mateixes i metadades.
  • Els objectes es divideixen en fragments de 128 MB i cada tros s'escriu en tres nodes alhora.
  • S'actualitza el fitxer d'índex, on es registren els identificadors i les ubicacions d'emmagatzematge.
  • El fitxer de registre (registre de registre) s'actualitza i també s'escriu a tres nodes.
  • S'envia un missatge al client sobre un registre satisfactori.
    Les tres còpies de les dades s'escriuen en paral·lel. L'escriptura només es considera correcta si les tres còpies s'han escrit correctament.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Llegir és més fàcil:

  • El client demana dades.
  • L'índex busca un lloc per emmagatzemar dades.
  • Les dades es llegeixen des d'un node i s'envien al client.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Hi ha uns quants servidors, així que mirem el Dell EMC ECS EX300 més petit. Comença a 60 Tb, amb la capacitat de créixer fins a 1,5 Pb. I el seu germà gran Dell EMC ECS EX3000 ja us permet emmagatzemar fins a 8,6 Pb per bastidor.

Desplega

Tècnicament, Dell ECS CE es pot desplegar tan gran com es vulgui. En qualsevol cas, no he trobat restriccions explícites. Tanmateix, tot l'escalat es fa convenientment clonant el primer node per al qual necessitem:

  • 8 vCPU
  • 64GB RAM
  • 16 GB per al sistema operatiu
  • 1 TB directament per a l'emmagatzematge
  • Darrera versió de CentOS minimal

Aquesta és una opció per al cas quan voleu instal·lar-ho tot vosaltres mateixos des del principi. Per a nosaltres, aquesta opció no és rellevant, perquè. Faré servir una imatge OVA per desplegar.

Però en qualsevol cas, els requisits són molt dolents fins i tot per a un node, i si seguiu estrictament la lletra de la llei, necessiteu quatre d'aquests nodes.

Tanmateix, els desenvolupadors d'ECS CE viuen al món real i la instal·lació té èxit fins i tot amb un sol node, i els requisits mínims són:

  • 4 vCPU
  • 16 GB de RAM
  • 16 GB per al sistema operatiu
  • 104 GB d'emmagatzematge automàtic

Són aquests recursos els que es necessiten per desplegar la imatge OVA. Ja molt més humà i realista.

El mateix node d'instal·lació es pot agafar de l'oficial GitHub. També hi ha documentació detallada sobre el desplegament de tot en un, però també podeu llegir-lo a l'oficial llegirthedocs. Per tant, no ens detenem en detall en el desplegament de l'OVA, no hi ha trucs. El més important és que abans d'iniciar-lo, no us oblideu d'ampliar el disc al volum necessari o adjuntar-ne els necessaris.
Iniciem la màquina, obrim la consola i fem servir els millors crèdits per defecte:

  • inici de sessió: admin
  • Contrasenya: canvieu-me

A continuació, executem sudo nmtui i configurem la interfície de xarxa: IP / màscara, DNS i porta. Tenint en compte que no hi ha eines de xarxa a CentOS minimal, comprovem la configuració mitjançant l'adreça IP.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

I com que només els valents conquereixen els mars, actualitzem ym, després de la qual reiniciem. De fet, és bastant segur. tot el desplegament es fa a través de llibres de jugades i tots els paquets docker importants estan bloquejats a la versió actual.

Ara és el moment d'editar l'script d'instal·lació. No hi ha finestres boniques ni pseudo interfície d'usuari per a tu: tot passa amb el teu editor de text preferit. Tècnicament, hi ha dues maneres: podeu executar cada comanda manualment o executar el configurador videploy immediatament. Simplement obrirà la configuració a vim i, en sortir, començarà a comprovar-la. Però no és interessant simplificar deliberadament la teva vida, així que executem dues ordres més. Encara que no té sentit, t'he advertit =)

Per tant, fem vim ECS-CommunityEdition/deploy.xml i fem els canvis mínims òptims perquè l'ECS s'encengui i funcioni. La llista de paràmetres es pot escurçar, però ho vaig fer així:

  • licensed_accepted: true No cal que el canviïs, aleshores quan el despleguis se us demanarà explícitament que l'accepteu i mostri una frase agradable. Fins i tot podria ser un ou de Pasqua.
    Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis
  • Descomenteu les línies autonames: i personalitzat: introduïu almenys un nom desitjat per al node; el nom d'amfitrió se substituirà per aquest durant el procés d'instal·lació.
  • install_node: 192.168.1.1 Especifiqueu la IP real del node. En el nostre cas, especifiquem el mateix que a nmtui
  • dns_domain: introduïu el vostre domini.
  • dns_servers: introduïu el vostre dns.
  • ntp_servers: es pot especificar qualsevol. Vaig agafar el primer del grup 0.pool.ntp.org (es va convertir en 91.216.168.42)
  • autonaming: personalitzat Si no es comenta, la lluna s'anomenarà Luna.
  • ecs_block_devices:
    / dev / sdb
    Per algun motiu desconegut, pot ser que hi hagi un dispositiu d'emmagatzematge de blocs /dev/vda inexistent
  • pools_emmagatzematge:
    membres:
    192.168.1.1 Aquí tornem a indicar la IP real del node
  • ecs_block_devices:
    /dev/sdb Repetim l'operació de tallar dispositius inexistents.

En general, tot el fitxer es descriu amb gran detall a documentacióperò qui el llegirà en una època tan convulsa. També hi ha escrit que el mínim suficient és especificar la IP i la màscara, però al meu laboratori aquest conjunt no va començar bé i vaig haver d'ampliar-lo a l'indicat anteriorment.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Després de sortir de l'editor, heu d'executar update_deploy /home/admin/ECS-CommunityEdition/deploy.yml i, si tot es fa correctament, s'informarà de manera explícita.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Aleshores, encara heu d'iniciar videploy, esperar que l'entorn s'actualitzi i podeu iniciar la instal·lació amb l'ordre ova-step1 i, un cop finalitzada amb èxit, l'ordre ova-step2. Important: no atureu els scripts a mà! Alguns passos poden trigar molt de temps, trigar més que el primer intent i semblar que tot està trencat. En qualsevol cas, s'ha d'esperar a que s'acabi el guió de manera natural. Al final, hauríeu de veure alguna cosa com això.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Ara, per fi, podem obrir el tauler de control WebUI mitjançant la IP que coneixem. Si no es va canviar en l'etapa de configuració, el compte predeterminat serà root/ChangeMe. Fins i tot podeu utilitzar immediatament el nostre emmagatzematge compatible amb S3. Està disponible als ports 9020 per a HTTP i 9021 per a HTTPS. De nou, si no s'ha canviat res, aleshores access_key: object_admin1 i secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Però no ens avancem i comencem per ordre.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

En el primer inici de sessió, se us demanarà per força que canvieu la contrasenya per una adequada, que és absolutament correcta. El tauler principal és extremadament clar, així que fem alguna cosa més interessant que explicar les mètriques òbvies. Per exemple, creem un usuari que utilitzarem per accedir al repositori. En el món dels proveïdors de serveis, aquests s'anomenen inquilins. Això es fa a Gestiona > Usuaris > Usuari d'objecte nou

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

En crear un usuari, se'ns demana que especifiquem un espai de noms. Tècnicament, res no ens impedeix iniciar-los tants com usuaris hi haurà. I viceversa. Això permet gestionar els recursos de manera independent per a cada inquilí.

En conseqüència, seleccionem les funcions que necessitem i generem claus d'usuari. S3/Atmos serà suficient per a mi. I no us oblideu de guardar la clau 😉

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

L'usuari s'ha creat, ara li toca seleccionar el cub. Aneu a Gestiona > Cub i ompliu els camps obligatoris. Aquí tot és senzill.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Ara ho tenim tot preparat per a un ús de combat del nostre emmagatzematge S3.

Configuració de Veeam

Així, com recordem, una de les principals aplicacions de l'emmagatzematge d'objectes és l'emmagatzematge a llarg termini d'informació a la qual s'accedeix rarament. Un exemple ideal és la necessitat d'emmagatzemar còpies de seguretat en un lloc remot. A Veeam Backup & Replication, aquesta funció s'anomena Capacity Tier.

Comencem la configuració afegint el nostre Dell ECS CE a la interfície Veeam. A la pestanya Infraestructura de còpia de seguretat, inicieu l'assistent per afegir un nou dipòsit i seleccioneu l'element Emmagatzematge d'objectes.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Triem per a què es va començar tot - Compatible amb S3.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

A la finestra que apareix, escriviu el nom desitjat i aneu al pas Compte. Aquí heu d'especificar el punt de servei al formulari https://your_IP:9021, la regió es pot deixar tal com està i es pot afegir l'usuari creat. Es requereix un servidor de porta si el vostre emmagatzematge es troba en un lloc remot, però aquest ja és un tema d'optimització de la infraestructura i un article separat, de manera que podeu ometre-lo amb seguretat aquí.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Si tot està especificat i configurat correctament, apareixerà un avís sobre el certificat i després una finestra amb un cub, on podeu crear una carpeta per als nostres fitxers.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Passem l'assistent fins al final i gaudim del resultat.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

El següent pas és crear un nou dipòsit de còpia de seguretat escalable o afegir el nostre S3 a l'existent; s'utilitzarà com a nivell de capacitat per a l'emmagatzematge d'arxius. La funció per utilitzar directament dipòsits compatibles amb S3, com un dipòsit normal, no es troba a la versió actual. Hi ha massa problemes poc evidents perquè això es pugui resoldre, però tot pot ser.
Entrem a la configuració del dipòsit i activem el nivell de capacitat. Tot és transparent allà, però hi ha un matís interessant: si voleu que totes les dades s'enviïn a l'emmagatzematge d'objectes el més aviat possible, només heu de definir-ho a 0 dies.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Després de passar per l'assistent, si no voleu esperar, podeu prémer ctrl+RMB al repositori, executar a la força el treball Tiring i veure com s'arrosseguen els gràfics.

Emmagatzematge d'objectes a la sala del darrere o Com esdevenir el vostre propi proveïdor de serveis

Això és tot per ara. Crec que vaig fer front a la tasca de demostrar que l'emmagatzematge en blocs no fa tanta por com es pensa habitualment. Sí, solucions i opcions per a l'execució d'un vagó i un petit carro, però és impossible cobrir-ho tot en un article. Així que compartim la nostra experiència als comentaris.

Font: www.habr.com

Afegeix comentari