Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Prvi prototip skladišta objekata svijet je vidio 1996. godine. Za 10 godina Amazon Web Services će pokrenuti Amazon S3, a svijet će početi sistematski da luduje za ravnim adresnim prostorom. Zahvaljujući radu s metapodacima i njegovoj mogućnosti skaliranja bez pada pod opterećenjem, pohrana objekata je brzo postala standard za većinu usluga pohrane podataka u oblaku, i ne samo to. Još jedna važna karakteristika je da je veoma pogodan za skladištenje arhiva i sličnih datoteka koje se rijetko koriste. Svi koji su uključeni u pohranu podataka radovali su se i nosili novu tehnologiju u rukama.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Ali glasine su bile pune glasina da je skladištenje objekata samo o velikim oblacima, i ako vam ne trebaju rješenja od prokletih kapitalista, onda će biti vrlo teško napraviti svoja. Mnogo je već napisano o postavljanju vlastitog oblaka, ali nema dovoljno informacija o kreiranju takozvanih S3-kompatibilnih rješenja.

Stoga ćemo danas shvatiti koje opcije postoje "Da bude kao odrasli, a ne CEPH i veći fajl", implementiraćemo jednu od njih i provjeriti radi li sve pomoću Veeam Backup & Replication. Tvrdi se da podržava rad sa S3 kompatibilnim skladištima, a mi ćemo testirati ovu tvrdnju.

Šta je sa drugima?

Predlažem da počnete s malim pregledom tržišta i mogućnosti skladištenja objekata. Općepriznati lider i standard je Amazon S3. Dva najbliža progonitelja su Microsoft Azure Blob Storage i IBM Cloud Object Storage.

Da li je to sve? Zar zaista nema drugih konkurenata? Naravno, postoje konkurenti, ali neki idu svojim putem, poput Google Clouda ili Oracle Cloud Object Storagea, s nekompletnom podrškom za S3 API. Neki koriste starije verzije API-ja, kao što je Baidu Cloud. A neki, poput Hitachi Clouda, zahtijevaju posebnu logiku, što će sigurno uzrokovati svoje poteškoće. U svakom slučaju, svi se uspoređuju s Amazonom, što se može smatrati industrijskim standardom.

Ali u lokalnim rješenjima postoji mnogo veći izbor, pa hajde da iznesemo kriterije koji su nam važni. U principu, dovoljna su samo dva: podrška za S3 API i upotreba v4 potpisivanja. Ruku na srce, nas, kao budućeg klijenta, zanimaju samo interfejsi za interakciju, a unutrašnja kuhinja samog skladišta nas ne zanima toliko.

Mnogo rješenja odgovara ovim jednostavnim uvjetima. Na primjer, klasični korporativni teškaši:

  • DellEMC ECS
  • NetApp S3 StorageGrid
  • Nutanix Buckets
  • Pure Storage FlashBlade i StorReduce
  • Huawei FusionStorage

Postoji niz čisto softverskih rješenja koja rade izvan kutije:

  • Red Hat Ceph
  • SUSE Enterprise Storage
  • Cloudian

Pa čak ni oni koji vole pažljivo arhivirati nakon skupštine nisu se uvrijedili:

  • CEPH u svom najčistijem obliku
  • Minio (Linux verzija, jer ima mnogo pitanja o verziji za Windows)

Lista je daleko od potpune; o njoj se može raspravljati u komentarima. Samo ne zaboravite provjeriti performanse sistema uz API kompatibilnost prije implementacije. Posljednja stvar koju želite je izgubiti terabajte podataka zbog zaglavljenih upita. Stoga se nemojte stidjeti sa testovima opterećenja. Općenito, sav softver za odrasle koji radi s velikim količinama podataka ima barem izvještaje o kompatibilnosti. U slučaju da Veeam je cijeli program na međusobnom testiranju, što nam omogućava da sa sigurnošću izjavimo potpunu kompatibilnost naših proizvoda sa specifičnom opremom. Ovo je već dvosmjeran posao, ne uvijek brz, ali se stalno širimo lista testirana rješenja.

Sastavljanje našeg štanda

Želio bih malo popričati o odabiru predmeta za testiranje.

Prvo, želio sam pronaći opciju koja će raditi odmah iz kutije. Pa, ili barem s maksimalnom vjerovatnoćom da će raditi bez potrebe za nepotrebnim pokretima. Ples uz tamburicu i petljanje po konzoli u noći je veoma uzbudljivo, ali ponekad želite da to odmah proradi. A ukupna pouzdanost takvih rješenja je obično veća. I da, duh avanturizma je nestao u nama, prestali smo da se penjemo na prozore naših voljenih žena itd. (c).

Drugo, da budemo iskreni, potreba za radom sa pohranom objekata javlja se u prilično velikim kompanijama, pa je to upravo slučaj kada se gledanje ka rješenjima na nivou preduzeća ne samo da nije sramotno, već čak i ohrabruje. U svakom slučaju, još ne znam za primjer da je neko dobio otkaz zbog kupovine takvih rješenja.

Na osnovu svega navedenog, moj izbor je pao Dell EMC ECS Community Edition. Ovo je veoma interesantan projekat i smatram potrebnim da vam o njemu ispričam.

Prva stvar koja vam padne na pamet kada vidite dodatak Community Edition - da je ovo samo kopija punopravnog ECS-a sa nekim ograničenjima koja se uklanjaju kupovinom licence. Dakle, ne!

Zapamtite:

!!!Community Edition je poseban projekat kreiran za testiranje, i bez tehničke podrške kompanije Dell!!
I ne može se pretvoriti u punopravni ECS, čak i ako to zaista želite.

Hajde da to shvatimo

Mnogi ljudi vjeruju da je Dell EMC ECS gotovo najbolje rješenje ako imate potrebu za skladištenjem objekata. Svi projekti pod brendom ECS, uključujući komercijalne i korporativne, zasnovani su na github. Neka vrsta gesta dobre volje od strane Della. A pored softvera koji radi na njihovom brendiranom hardveru, postoji verzija otvorenog koda koja se može postaviti u oblak, na virtuelnu mašinu, u kontejner ili na bilo koji vaš hardver. Gledajući unaprijed, postoji čak i OVA verzija koju ćemo koristiti.
Samo DELL ECS Community Edition je mini verzija potpunog softvera koji radi na brendiranim Dell EMC ECS serverima.

Identificirao sam četiri glavne razlike:

  • Nema podrške za šifriranje. Šteta, ali nije kritično.
  • Nedostaje sloj tkanine. Ova stvar je odgovorna za izgradnju klastera, upravljanje resursima, ažuriranja, praćenje i pohranjivanje Docker slika. Ovdje je već vrlo uvredljivo, ali i Dell se može razumjeti.
  • Najodvratnija posljedica prethodne točke: veličina čvora se ne može proširiti nakon završetka instalacije.
  • Bez tehničke podrške. Ovo je proizvod za testiranje, koji nije zabranjeno koristiti u malim instalacijama, ali ja se lično ne bih usudio da tu postavljam petabajte važnih podataka. Ali tehnički vas niko ne može spriječiti u tome.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Šta je u velikoj verziji?

Hajdemo galopirati po Europi i proći kroz željezna rješenja kako bismo imali potpunije razumijevanje ekosistema.

Neću nekako potvrditi ili opovrgnuti izjavu da je DELL ECS najbolja on-prem objektna pohrana, ali ako imate nešto za reći na ovu temu, rado ću to pročitati u komentarima. Barem prema verziji IDC MarketScape 2018 Dell EMC je pouzdano među prvih pet lidera na OBS tržištu. Iako se tu ne uzimaju u obzir rješenja bazirana na oblaku, ovo je poseban razgovor.

Sa tehničke tačke gledišta, ECS je objektno skladište koje omogućava pristup podacima koristeći protokole za skladištenje u oblaku. Podržava AWS S3 i OpenStack Swift. Za kante sa omogućenim datotekama, ECS podržava NFSv3 za izvoz fajl po fajl.

Proces snimanja informacija je prilično neobičan, posebno nakon klasičnih blokovnih sistema za skladištenje podataka.

  • Kada stignu novi podaci, kreira se novi objekat koji ima ime, same podatke i metapodatke.
  • Objekti su podijeljeni u dijelove od 128 MB, a svaki dio se upisuje u tri čvora odjednom.
  • Indeksna datoteka se ažurira, gdje se evidentiraju identifikatori i lokacije pohrane.
  • Datoteka evidencije (log unos) se ažurira i također upisuje u tri čvora.
  • Klijentu se šalje poruka o uspješnom snimanju
    Sve tri kopije podataka pišu se paralelno. Upis se smatra uspješnim samo ako su sve tri kopije uspješno napisane.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Čitanje je lakše:

  • Klijent traži podatke.
  • Indeks traži gdje su podaci pohranjeni.
  • Podaci se čitaju sa jednog čvora i šalju klijentu.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Samih servera ima dosta, pa pogledajmo najmanji Dell EMC ECS EX300. Počinje od 60TB, sa mogućnošću povećanja do 1,5PB. A njegov stariji brat, Dell EMC ECS EX3000, omogućava vam da pohranite čak 8,6 PB po stalak.

Razviti

Tehnički gledano, Dell ECS CE može biti postavljen koliko god želite. U svakom slučaju, nisam našao nikakva eksplicitna ograničenja. Međutim, zgodno je izvršiti sve skaliranje kloniranjem prvog čvora, za koji nam je potrebno:

  • 8 vCPU-a
  • 64GB RAM
  • 16GB za OS
  • 1TB direktna pohrana
  • Najnovije izdanje CentOS minimala

Ovo je opcija kada želite sve sami instalirati od samog početka. Ova opcija za nas nije relevantna, jer... Koristit ću OVA sliku za implementaciju.

Ali u svakom slučaju, zahtjevi su vrlo zli čak i za jedan čvor, a ako se striktno pridržavate slova zakona, onda su vam potrebna četiri takva čvora.

Međutim, ECS CE programeri žive u stvarnom svijetu i instalacija je uspješna čak i sa jednim čvorom, a minimalni zahtjevi su:

  • 4 vCPU-a
  • 16 GB RAM-a
  • 16 GB za OS
  • Sama pohrana od 104 GB

Ovo su resursi potrebni za postavljanje OVA slike. Već mnogo humaniji i realniji.

Sam instalacijski čvor može se dobiti od službenika GitHub. Postoji i detaljna dokumentacija o sve-u-jednom implementaciji, ali možete pročitati i na službenoj stranici readthedocs. Stoga se nećemo detaljno zadržavati na raspletu OVA, tu nema trikova. Glavna stvar je da prije nego što ga pokrenete, ne zaboravite proširiti disk na potrebnu zapreminu ili priložiti potrebne.
Pokrećemo mašinu, otvaramo konzolu i koristimo najbolje podrazumevane akreditive:

  • login: admin
  • lozinka: ChangeMe

Zatim pokrećemo sudo nmtui i konfigurišemo mrežni interfejs - IP/maska, DNS i kapija. Imajući u vidu da CentOS minimal nema net-tools, proveravamo podešavanja preko ip adrese.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

A pošto samo hrabri osvajaju mora, radimo yum update, nakon čega se restartujemo. Zapravo je prilično sigurno jer... sva implementacija se vrši kroz playbooks, a svi važni docker paketi su zaključani na trenutnu verziju.

Sada je vrijeme da uredite instalacijsku skriptu. Nema fensi prozora ili pseudo korisničkog sučelja za vas - sve se radi putem vašeg omiljenog uređivača teksta. Tehnički, postoje dva načina: svaku komandu možete pokrenuti ručno ili odmah pokrenuti videoploy konfigurator. Jednostavno će otvoriti konfiguraciju u vim-u, a po izlasku će početi da je provjerava. Ali nije zanimljivo namjerno pojednostavljivati ​​svoj život, pa pokrenite još dvije komande. Iako ovo nema smisla, upozorio sam te =)

Dakle, napravimo vim ECS-CommunityEdition/deploy.xml i napravimo optimalne minimalne promjene tako da ECS radi i radi. Lista parametara se može skratiti, ali ja sam to uradio ovako:

  • licenced_accepted: true Ne morate ga mijenjati, tada će vam prilikom implementacije biti eksplicitno zatraženo da to prihvatite i bit će vam prikazana lijepa fraza. Možda je ovo čak i uskršnje jaje.
    Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga
  • Dekomentirajte redove autonames: i custom: Unesite barem jedno željeno ime za čvor - ime hosta će biti zamijenjeno njime tokom procesa instalacije.
  • install_node: 192.168.1.1 Navedite stvarnu IP adresu čvora. U našem slučaju označavamo isto kao u nmtui
  • dns_domain: unesite svoju domenu.
  • dns_servers: unesite svoj dns.
  • ntp_servers: možete odrediti bilo koji. Uzeo sam prvi na koji sam naišao iz bazena 0.pool.ntp.org (postao je 91.216.168.42)
  • autonaming: custom Ako ne poništite komentar, mjesec će se zvati Luna.
  • ecs_block_devices:
    / dev / sdb
    Iz nekog nepoznatog razloga, možda postoji nepostojeći blok uređaj za pohranu /dev/vda
  • skladišni_bazeni:
    članovi:
    192.168.1.1 Ovdje ponovo ukazujemo na stvarnu IP adresu čvora
  • ecs_block_devices:
    /dev/sdb Ponavljamo operaciju izrezivanja nepostojećih uređaja.

Općenito, cijeli fajl je vrlo detaljno opisan u dokumentaciju, ali ko će to čitati u ovako teškom vremenu. Takođe piše da je minimum dovoljan da navedete IP i masku, ali u mojoj laboratoriji takav set je krenuo prilično loše i morao sam da ga proširim na onaj koji je gore naveden.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Nakon što izađete iz uređivača, potrebno je da pokrenete update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, i ako je sve urađeno ispravno, to će biti eksplicitno prijavljeno.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Zatim još morate pokrenuti videoploy, sačekati da se okruženje ažurira, a samu instalaciju možete pokrenuti naredbom ova-step1, a nakon njenog uspješnog završetka naredbom ova-step2. Važno: ne zaustavljajte skripte rukom! Neki koraci mogu potrajati dosta vremena, možda neće biti dovršeni iz prvog pokušaja i može izgledati kao da je sve pokvareno. U svakom slučaju, morate pričekati da se skripta završi prirodnim putem. Na kraju biste trebali vidjeti poruku sličnu ovoj.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Sada konačno možemo otvoriti kontrolnu tablu WebUI koristeći nam poznatu IP adresu. Ako konfiguracija nije promijenjena u fazi, default račun će biti root/ChangeMe. Možete čak i odmah koristiti našu S3 kompatibilnu pohranu. Dostupan je na portovima 9020 za HTTP i 9021 za HTTPS. Opet, ako ništa nije promijenjeno, onda access_key: object_admin1 i secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Ali nemojmo pretjerati i počnimo redom.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Kada se prvi put prijavite, bićete primorani da promijenite svoju lozinku u odgovarajuću, što je apsolutno ispravno. Glavna kontrolna tabla je izuzetno jasna, pa hajde da uradimo nešto zanimljivije od objašnjavanja očiglednih metrika. Na primjer, kreirajmo korisnika kojeg ćemo koristiti za pristup skladištu. U svijetu pružatelja usluga, oni se nazivaju stanari. Ovo se radi u Upravljaj > Korisnici > Novi korisnik objekta

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Prilikom kreiranja korisnika, od nas se traži da navedemo prostor imena. Tehnički, ništa nas ne sprečava da ih kreiramo onoliko koliko ima korisnika. I obrnuto. Ovo vam omogućava da samostalno upravljate resursima za svakog zakupca.

U skladu s tim biramo funkcije koje su nam potrebne i generiramo korisničke ključeve. S3/Atmos će mi biti dovoljan. I ne zaboravite sačuvati ključ 😉

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Korisnik je kreiran, sada je vrijeme da mu dodijelite kantu. Idite na Manage > Bucket i popunite potrebna polja. Ovdje je sve jednostavno.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Sada imamo sve spremno za prilično borbenu upotrebu našeg S3 skladišta.

Postavljanje Veeama

Dakle, kao što se sjećamo, jedna od glavnih upotreba pohrane objekata je dugoročno skladištenje informacija kojima se rijetko pristupa. Idealan primjer je potreba za pohranjivanjem sigurnosnih kopija na udaljenom mjestu. U Veeam Backup & Replication ova funkcija se zove Capacity Tier.

Počnimo sa postavljanjem dodavanjem našeg Dell ECS CE u Veeam interfejs. Na kartici Infrastruktura sigurnosne kopije pokrenite čarobnjak za dodavanje novog spremišta i odaberite Skladište objekata.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Hajde da odaberemo zbog čega je sve počelo - S3 kompatibilan.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

U prozoru koji se pojavi upišite željeno ime i idite na korak Račun. Ovdje morate navesti servisnu tačku u obrascu https://your_IP:9021, region se može ostaviti kakav jeste i kreirani korisnik se može dodati. Gate server je neophodan ako se vaše skladište nalazi na udaljenoj lokaciji, ali ovo je već tema za optimizaciju infrastrukture i poseban članak, tako da možete bezbedno da je preskočite ovde.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Ako je sve navedeno i konfigurirano ispravno, pojavit će se upozorenje o certifikatu, a zatim prozor sa kantom u kojem možete kreirati folder za naše datoteke.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Prolazimo kroz čarobnjak do kraja i uživamo u rezultatu.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Sljedeći korak je ili kreiranje novog Scale-out Backup Repository, ili dodavanje našeg S3 postojećem - koristit će se kao razina kapaciteta za arhivsku pohranu. Ne postoji funkcija za direktnu upotrebu memorije kompatibilne sa S3, poput običnog spremišta, u trenutnom izdanju. Previše prilično neočiglednih problema treba riješiti da bi se to dogodilo, ali sve je moguće.
Idite na postavke spremišta i omogućite Capacity Tier. Tu je sve transparentno, ali postoji zanimljiva nijansa: ako želite da se svi podaci što prije pošalju u pohranu objekata, samo postavite na 0 dana.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

Nakon što prođete kroz čarobnjak, ako ne želite da čekate, možete pritisnuti ctrl+RMB na spremištu, nasilno pokrenuti Tiering posao i gledati kako grafovi puze.

Skladištenje predmeta u stražnjoj prostoriji, ili Kako postati vlastiti provajder usluga

To je sve za sada. Mislim da sam uspio u zadatku da pokažem da blok memorija nije toliko strašna kao što ljudi misle. Da, postoje rješenja i opcije za vagon i mala kolica, ali ne možete sve pokriti u jednom članku. Zato podijelimo svoje iskustvo u komentarima.

izvor: www.habr.com

Dodajte komentar