Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Prvi prototip objektnog skladišta svijet je vidio 1996. godine. Deset godina kasnije, Amazon Web Services pokreće Amazon S3, a svijet počinje postupno gubiti razum zbog ravnog adresnog prostora. Zahvaljujući radu s metapodacima i svojoj sposobnosti da se skalira bez opterećenja, objektna skladišta su brzo postala standard za većinu usluga pohrane podataka u oblaku i ne samo. Druga važna karakteristika je njihova dobra prilagodljivost za pohranu arhiva i sličnih rijetko korištenih datoteka. Svi koji su bili povezani s pohranom podataka su se radovali i nosili novu tehnologiju na rukama.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

No, ljudska priča ispunjena je glasovima da objektna skladišta - to je samo za velike oblake, a ako vam nisu potrebna rješenja od prokletih kapitalista, onda će biti vrlo teško napraviti svoje. O razvoju vlastitog oblaka već je napisano mnogo, dok o stvaranju takozvanih S3-kompatibilnih rješenja informacija ima malo.

Stoga ćemo se danas pozabaviti izvorima „Da bude kao kod odraslih, a ne CEPH i malo veći alat“, razvući jedno od njih, a provjerit ćemo radi li sve s pomoću Veeam Backup & Replication. U njemu je najavljena podrška za rad s S3-kompatibilnim skladištima, i to ćemo provjeriti.

A što je s drugima?

Predlažem da započnemo s kratkim pregledom tržišta i opcijama objektnih skladišta. Općepriznati lider i standard je Amazon S3. Dva najbliža konkurenta su Microsoft Azure Blob Storage i IBM Cloud Object Storage.

Zar je to sve? Zar nema drugih konkurenata? Naravno da ih ima, ali neki idu svojim putem, kao Google Cloud ili Oracle Cloud Object Storage, s nepotpunom podrškom za S3 API. Neki koriste stare verzije API-ja, poput Baidu Clouda. A neki, poput Hitachi Clouda, zahtijevaju korištenje posebne logike, što će neizbježno uzrokovati svoje teškoće. U svakom slučaju, svi se uspoređuju s Amazonom, koji se može smatrati industrijskim standardom.

No u on-premise rješenjima izbor je mnogo veći, pa hajde da definiramo važne kriterije. U principu, dovoljna su dva: podrška za S3 API i korištenje v4 potpisivanja. Ruku na srce, kao budućem klijentu, zanimaju nas samo sučelja za interakciju, a unutarnja kuhinja samog skladišta ne zanima nas toliko.

Pod te preproste pogoje ustreza zelo veliko rešitev. Na primer, klasični korporativni težki sistemi:

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

Obstaja niša čistih programski rešitev, ki delujejo iz škatle:

  • Red Hat Ceph
  • SUSE Enterprise Storage
  • Cloudian

In celo ljubiteljev, ki natančno obdelajo z datotekom po sestavljenju, niso razočarali:

  • CEPH v čisti obliki
  • Minio (Linux različica, ker je z različico za Windows veliko vprašanj)

Seznam nikakor ni dokončen, o njem se lahko pogovorimo v komentarjih. Le ne pozabite, da pred uvedbo preverite poleg API združljivosti tudi zmogljivost sistema. Zadnje, kar potrebujete, je izguba terabajtov podatkov zaradi zakasnitve zahtevkov. Zato se ne obotavljajte z obremenitvenimi testi. Na splošno ima vsak odrasel program, ki deluje z velikimi količinami podatkov, vsaj poročila o združljivosti. V primeru. Veeam je celoten program za medsebojno testiranje, ki omogoča, da brez težav izjavljamo o popolni združljivosti naših izdelkov z določenimi napravami. To je že dvostransko delo, ki ni vedno hitro, a nenehno širimo. seznam preverjene rešitve.

Zbiramo našo postavitev

Želim malo spregovoriti o izbiri poskusnega objekta.

Prvič, želel sem najti možnost, ki bo delovala takoj iz škatle. No, ali vsaj z največjo verjetnostjo, da bo delovala brez nepotrebnih potez. Ples s bobnom in šavrišenje po konzoli ponoči je zelo privlačno, a včasih bi želeli, da deluje takoj. In splošna zanesljivost takih rešitev je običajno višja. In ja, v nas je izginil duh avanturizma, prenehali smo se vzpenjati skozi okna k ljubim ženskam itd. (c).

Drugič, če smo iskreni, potreba po delu z objektami shranjevanja se pojavi pri precej velikih podjetjih, zato je to tisti primer, ko odločitev o rešitvah na ravni podjetja ni samo sramotna, temveč celo spodbujana. Vsaj zaenkrat ne poznam primerov, da bi koga odpustili zaradi nakupa takšnih rešitev.

Glede na vse povedano, je moja izbira padla na Dell EMC ECS Community Edition. To je zelo zanimiv projekt in menim, da je potrebno, da vam o njem povem.

Prvo, kar mi pride na pamet ob pogledu na dodatek Community Edition — to ni le en pravi ECS z nekaterimi omejitvami, ki jih lahko odstranite z nakupom licence. Torej, ne!

Zapomnite si:

!!!Community Edition je ločen projekt, ustvarjen za testiranje, in brez tehnične podpore podjetja Dell!!
In ga ne morete pretvoriti v pravi ECS, tudi če si zelo želite.

Poglejmo zadevo bolj podrobno

Mnogi menijo, da je Dell EMC ECS eno najboljših rešitev, če potrebujete objektno shranjevanje. Vsi projekti pod blagovno znamko ECS, vključno s komercialnimi in корпоративnimi, temeljijo na GitHubu. Kot neka vrsta dobre volje podjetja Dell. Poleg programske opreme, ki teče na njihovem blagovnem strojni opremi, obstaja tudi različica z odprtokodnim licenčnim modelom, ki jo lahko namestite v oblaku, na virtualnem stroju, v kontejnerju ali na kateri koli svoji strojni opremi. Mimo grede — obstaja celo OVA različica, ki jo bomo izkoristili.
Sam DELL ECS Community Edition je mini različica prave programske opreme, ki deluje na blagovnih strežnikih Dell EMC ECS.

Izpostavil sem štiri glavne razlike:

  • Brez podpore za šifriranje. Žal, a ne kritično.
  • Manjka Fabric Layer. Ta zadeva je odgovorna za upravljanje gruče, upravljanje virov, posodobitve, spremljanje in shranjevanje Docker slik. Tukaj je to resna težava, vendar tudi Dell to lahko razume.
  • Najbolj zaskrbljujoča posledica prejšnjega odstavka: velikosti vozlišča ni mogoče povečati po zaključku namestitve.
  • Brez tehnične podpore. To je izdelek za testiranje, ki ga ni prepovedano uporabljati v manjših namestitvah, vendar osebno ne bi prenesel petabajtov pomembnih podatkov vanj. Toda tehnično vam tega nihče ne more preprečiti.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

In kaj pa velika različica?

Na hitro bomo preleteli strojne rešitve, da bi imeli bolj popolno predstavo o ekosistemu.

Kako bi potrdil ali ovrgel trditev, da je DELL ECS najboljše on-prem objektno shranjevanje, tega ne bom naredil, vendar če imate kaj za povedati na to temo, z veseljem preberem v komentarjih. V vsakem primeru po različici IDC MarketScape 2018 Dell EMC trdno sodi med pet najboljših na trgu OBS. Čeprav brez oblačnih rešitev, je to druga tema.

Z vidika tehnologije je ECS objektno skladište, ki zagotavlja dostop do podatkov prek protokolov oblačnega shranjevanja. Podpira AWS S3 in OpenStack Swift. Za file-enabled vedra ECS podpira NFSv3 za možnost datotečnega izvoza.

Postopek zapisovanja informacij je dokaj nenavaden, še posebej v primerjavi s klasičnimi sistemi blokovnega shranjevanja.

  • Ob prejemu novih podatkov se ustvari nov objekt, ki ima ime, same podatke in metapodatke.
  • Objekti se razdelijo na bloke po 128 MB, vsak blok pa se takoj zapiše na tri vozlišča.
  • Posodobi se datoteka indeksa, kjer so zapisani identifikatorji in lokacije shranjevanja.
  • Posodobi se tudi datoteka dnevnika (zapisa), ki se prav tako zapiše na tri vozlišča.
  • Stran je obveščena o uspešnem zapisovanju.
    Vse tri kopije podatkov se zapišejo hkrati. Zapisovanje se šteje za uspešno le, če so vse tri kopije uspešno zapisane.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Branje je precej preprosto:

  • Odjemalec zahteva podatke.
  • V indeksu se poišče mesto za shranjevanje podatkov.
  • Podatki se berejo iz enega vozlišča in se pošljejo odjemalcu.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Samo strežnikov je kar precej, zato si poglejmo najmanjši Dell EMC ECS EX300. Ta se začne pri 60 TB in ima možnost raste do 1,5 PB. Njegov večji brat Dell EMC ECS EX3000 pa omogoča shranjevanje do 8,6 PB na omarico.

Implementacija

Tehnično je Dell ECS CE mogoče razširiti do poljubne velikosti. V vsakem primeru nisem naletel na očitne omejitve. Vendar pa je vso razširitev enostavno izvesti z metodo kloniranja prvega vozlišča, pri čemer potrebujemo:

  • 8 vCPU
  • 64GB RAM
  • 16GB za operacijski sistem
  • 1TB neposredno za shranjevanje
  • Zadnja različica CentOS minimal

To je možnost, ko želite vse nastaviti sami od začetka. Za nas ta možnost ni relevantna, ker bom za implementacijo uporabil OVA sliko.

Kljub temu so zahteve precej visoke, celo za eno vozlišče; če se strogo držimo zakona, pa bi potrebovali štiri takšna vozlišča.

Vendar pa razvijalci ECS CE živijo v realnem svetu in namestitev uspešno poteka tudi z enim vozliščem, minimalne zahteve pa so naslednje:

  • 4 vCPU
  • 16 GB RAM
  • 16 GB za operacijski sistem
  • 104 GB samo skladišče

Točno ti viri so potrebni za implementacijo OVA slike. To je že veliko bolj humano in realno.

Sam namestitveni vozlišče lahko vzamete v uradnem github. Tam je tudi podrobna dokumentacija za enotno namestitev, vendar lahko preberete tudi na uradnem readthedocs. Zato se ne bomo podrobno ustavili na uvajanju OVA, tam ni posebnosti. Glavno je, da pred zagonem ali razširite disk na potrebno velikost ali povežite potrebne.
Zaganjamo stroj, odpiramo konzolo in uporabljamo najboljše privzete akreditive:

  • uporabniško ime: admin
  • geslo: ChangeMe

Nato zaženemo sudo nmtui in nastavimo omrežni vmesnik - IP/maska, DNS in prehod. Ne pozabite, da v CentOS minimal ni net-tools, preverimo nastavitve prek ip addr.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

In ker se morajo morja pokoriti samo pogumnim, izvedemo yum update, nato reboot. V resnici je to precej varno, saj se celotna namestitev izvaja preko predlog, vsi pomembni Docker paketi pa so zaklenjeni na trenutni različici.

Zdaj je čas za urejanje namestitvenega skripta. Brez lepih oken ali psevdouporabniškega vmesnika - vse preko vašega najljubšega besedilnega urejevalnika. Tehnično obstajata dve poti: lahko ročno zaženete vsako naročilo ali takoj zaženete konfigurator videploy. Preprosto bo odprl konfiguracijo v vim in ob izhodu izvedel njegovo preverjanje. A ker si ne želimo preveč olajšati življenja, bomo izvedli dve ukaza več. Kljub temu v tem ni nikakršnega smisla, vas opozarjam =)

Torej, naredimo vim ECS-CommunityEdition/deploy.xml in vnesemo optimalno minimalne spremembe, da bo ECS vključen in deloval. Seznam parametrov se lahko skrajša, toda jaz sem to naredil tako:

  • licensed_accepted: true Lahko tudi ne spremenite, nato vas bodo pri namestitvi izrecno prosili, da ga sprejmete in prikazali prijetno frazo. Morda je to celo neka Easter egg.
    Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga
  • Odkomentirajte vrstice autonames: in custom: Vnesite vsaj eno želeno ime za vozlišče - hostname bo med namestitvijo nadomeščen z njim.
  • install_node: 192.168.1.1 Določite dejanski IP vozlišča. V našem primeru navedemo enakega, kot v nmtui
  • dns_domain: vnesite svojo domeno.
  • dns_servers: vpišite svoj dns.
  • ntp_servers: lahko navedete katerikoli. Jaz sem vzel prvega iz kupa 0.pool.ntp.org (to je postal 91.216.168.42)
  • autonaming: custom Če ne odkomentirate, bo luna poimenovana Luna.
  • ecs_block_devices:
    /dev/sdb
    Iz neznanega razloga je tu lahko neobstoječa naprava blokovnega shranjevanja /dev/vda
  • storage_pools:
    members:
    192.168.1.1 Tu ponovno navedemo dejanski IP vozlišča
  • ecs_block_devices:
    /dev/sdb Повторяем операцию вырезания несуществующих устройств.

Ves datoteka je zelo podrobno opisana v dokumenti, ampak kdo jo bo bral v takšnih nemirnih časih. Tam je napisano, da je minimalno zadostno to, da navedemo IP in masko, vendar mi v laboratoriju takšne nastavitve niso dobro delovale, zato sem jih moral razširiti na zgoraj navedeno.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Po izhodu iz urejevalnika je treba zagnati update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, in če je vse opravljeno pravilno, bo to jasno sporočeno.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Nato bo treba zagnati videploy, počakati na posodobitev okolja, nato pa lahko zaženete samo namestitev z ukazom ova-step1, po uspešni izvedbi pa ukaz ova-step2. Pomembno: ne ustavljajte dela skriptov ročno! Nekateri koraki lahko trajajo dlje časa, se ne izvedejo takoj in izgledajo, kot da je vse pokvarjeno. V vsakem primeru počakajte, da skript zaključi naravno. Na koncu bi morali videti sporočilo, podobno temu.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Zdaj lahko končno odprete WebUI upravljalsko ploščo na znanem IP-ju. Če med konfiguracijo niste spremenili, bo privzeta prijava root/ChangeMe. Lahko celo takoj začnete uporabljati naše S3 združljivo shrambo. Na voljo je na vratih 9020 za HTTP in 9021 za HTTPS. Spet, če niste nič spremenili, potem sta access_key: object_admin1 in secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Ampak ne obremenjujmo se preveč in začnimo po vrsti.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Ob prvem prijavljanju vas bodo prisilili, da spremenite geslo v primerno, kar je povsem pravilno. Glavna nadzorna plošča je izjemno razumljiva, zato naredimo nekaj bolj zanimivega, kot je razlaga očitnih metrik. Na primer, ustvarimo uporabnika, ki ga bomo uporabljali za dostop do shrambe. V svetu ponudnikov storitev takšne imenujejo tenant. To se dela v Manage > Users > New Object User.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Pri ustvarjanju uporabnika nas prosijo, da navedemo namespace. Tehnično nas nič ne ovira, da ustvarimo toliko, kolikor uporabnikov bomo imeli. In obratno. To omogoča neodvisno upravljanje virov za vsak tenant.

Ustrezno izberemo potrebne funkcije in generiramo uporabniške ključe. Zadoščalo mi bo S3/Atmos. In ne pozabite shraniti ključa 😉.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Uporabnika smo ustvarili, zdaj je čas, da mu dodelimo tudi vedro. Pojdite v Manage > Bucket in izpolnite zahtevana polja. Tukaj je vse preprosto.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Zdaj imamo vse pripravljeno za povsem bojno uporabo naše S3 shrambe.

Nastavljamo Veeam.

Kot smo se spomnili, eden glavnih namenov objektnih skladišč je dolgoročno shranjevanje podatkov, do katerih redko dostopamo. Idealen primer je potreba po shranjevanju varnostnih kopij na oddaljenem mestu. V Veeam Backup & Replication se ta funkcionalnost imenuje Capacity Tier.

Začnimo z nastavitvijo dodajanja našega Dell ECS CE v vmesnik Veeam. Na zavihku Backup Infrastructure zaženemo čarovnika za dodajanje novega skladišča in izberemo možnost Object Storage.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Izberemo tisto, zaradi česar je vse to bilo zamišljeno — S3 Compatible.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

V odprtem oknu vpišemo želeno ime in preidemo na korak Account. Tukaj moramo navesti Service point v obliki https://your_IP:9021, regijo lahko pustimo nespremenjeno in dodamo ustvarjenega uporabnika. Gate-server je potreben, če se vaše skladišče nahaja na oddaljenem mestu, vendar je to že tema optimizacije infrastrukture in ločenega članka, zato to lahko brez skrbi preskočimo.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Če je vse navedeno in nastavljeno pravilno, se bo pojavilo opozorilo o certifikatu in nato okno z vedrom, kjer lahko ustvarite mapo za naše datoteke.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Nadaljujemo skozi čarovnika do konca in uživamo v rezultatu.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Na naslednjem koraku je treba bodisi ustvariti nov Scale-out Backup Repository bodisi dodati naš S3 v obstoječega — ta bo uporabljen kot Capacity Tier za arhiviranje. Funkcionalnosti za neposredno uporabo S3-kompatibilnih skladišč kot običajnega skladišča v trenutni izdaji ni. Preveč je precej nejasnih težav, ki jih je treba rešiti, vendar vse to lahko.
Vstopimo v nastavitve skladišča in vključimo Capacity Tier. Tam je vse pregledno, vendar je zanimiva podrobnost: če želite, da se vsi podatki v najkrajšem možnem času pošljejo na objektno skladišče, preprosto nastavite 0 dni.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

Po prehodu skozi čarovnika, če ne želite čakati, lahko pritisnete ctrl+miška na skladišču, prisilno zaženete Tiering job in opazujete, kako se bodo grafi gibali.

Objektno skladište u podrumu, ili Kako postati svoj vlastiti provajder usluga

To je za zdaj vse. Menim, da sem izpolnil nalogo, da pokažem, da blokovna skladišča niso tako strašna, kot se običajno misli. Da, rešitev in možnosti izvedbe so neštete, vendar vsega v enem članku ne moremo pokriti. Zato delimo izkušnje v komentarjih.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster