Esimese objekti salvestussüsteemi prototüüp ilmnes 1996. aastal. 10 aastat hiljem käivitas Amazon Web Services Amazon S3, ja maailm hakkas tasapisi hulluma tasapinnalise aadressiruumi üle. Tänu metadata töötlemise võimalusele ja skaleeritavusele ilma koormuse all nõrkenemata, said objektide salvestussüsteemid kiiresti standardiks enamikus pilveandmesalvestusteenustes ja mitte ainult. Teine oluline omadus on hea kohandatavus arhiveerimise ja harva kasutatavate failide salvestamiseks. Kõik, kes olid seotud andmete salvestamisega, rõõmustasid ja kandsid uut tehnoloogiat käte peal.

Kuid inimeste seas levisid kuulujutud, et objektide salvestussüsteemid on ainult suurte pilvede jaoks, ja kui teie ei vaja lahendusi neededest kapitalistidest, siis on oma süsteemi loomine väga keeruline. Oma pilve rakendamise kohta on juba palju kirjutatud, aga nii nimetatud S3-ühilduvate lahenduste loomise kohta on teavet vähe.
Seega vaatame täna, millised on valikud "Nii nagu täiskasvanutel, mitte CEPH ja suurem fail", arendame ühte neist ja kontrollime, et kõik töötab, kasutades Veeam Backup & Replication'i. Sellel on väidetavasti toetuse S3-ühilduvate salvestuslahenduste jaoks, ja seda väidet me ka katsetame.
Aga kuidas on teistega?
Alustame väikese ülevaatega turust ja objektisalvestuse võimalustest. Üldiselt tunnustatud liider ja standard on Amazon S3. Kaks lähimat jälitajat on Microsoft Azure Blob Storage ja IBM Cloud Object Storage.
Kas tõesti ongi kõik? Kas pole muid konkurente? Loomulikult on konkurente, kuid mõned järgivad oma teed, nagu Google Cloud või Oracle Cloud Object Storage, millel on puudulik S3 API tugi. Mõned kasutavad vanu API versioone, nagu Baidu Cloud. Ja mõned, nagu Hitachi Cloud, nõuavad erilise loogika rakendamist, mis kindlasti toob kaasa oma raskused. Igatahes võrreldakse kõiki Amazoni, kes on ka tööstusstandard.
On-premise lahendustega on valik märksa suurem, nii et määratlege olulised kriteeriumid. Põhimõtteliselt piisab kahest: S3 API toe olemasolust ja v4 allkirjastamise kasutamisest. Kõik ausalt öeldes, huvitavad meid kui tulevasi kliente ainult suhtlusliidesed, samas kui salvestustehnoloogia sisemus meid enam nii väga ei huvita.
Nendele lihtsatele tingimustele vastab nii palju lahendusi. Näiteks klassikalised ettevõtte raska kaalud:
- DellEMC ECS
- NetApp S3 StorageGrid
- Nutanix Buckets
- Pure Storage FlashBlade ja StorReduce
- Huawei FusionStorage
On ka nišš puhtalt tarkvaralistest lahendustest, mis töötavad otse võimalikult lihtsalt:
- Red Hat Ceph
- SUSE Enterprise Storage
- Cloudian
Ja isegi neid, kes pärast kokkupanekut hoolikalt viimistlevad, ei ole unustatud:
- CEPH puhtal kujul
- Minio (Linuxi versioon, kuna Windowsi versiooni osas on palju küsimusi)
Loetelu ei ole kaugeltki täielik, seda saab arutada kommentaarides. Kuid ärge unustage enne juurutamist kontrollida koos API ühilduvuse ka süsteemi jõudlust. Viimane asi, mida vajate, on terabaitide andmete kaotus peatunud päringute tõttu. Seega ärge kartke koormusteste. Üldiselt on kogu täiskasvanud tarkvara, mis töötab suurte andmemahtudega, vähemalt ühilduvuse aruannete jagamine. Mis puudutab Veeam has omavaheliste testide tegemiseks, mis võimaldab julgesti väita meie toodete täielikku ühilduvust konkreetse riistvaraga. See on juba kahepoolne töö, mis ei ole alati kiire, kuid me laiendame pidevalt testitud lahenduste nimekirja.
Kogume meie stendi
Tahaksin rääkida natuke katseobjekti valikust.
Esiteks soovisin leida lahenduse, mis töötab kohe välja kastist. Või vähemalt, et oleks maksimaalne tõenäosus selle tööle saamises ilma liigsete pingutusteta. Tantsimine tamburi ja konsooli nokitsemine öösel on väga kaasahaarav, kuid mõnikord on soov, et asi hakkaks kohe toimima. Lisaks on selliste lahenduste üldine usaldusväärsus tavaliselt kõrgem. Ja jah, meis on kadunud seiklusvaim, me oleme lõpetanud akendest armastatud naiste juurde ronimise jne.
Teiseks, kui aus olla, on vajadus töötada objektide salvestuste kallal olemas suuremate ettevõtete puhul, seega on see just see juhtum, kus tasub vaadata enterprise-taseme lahenduste poole, mitte et see oleks piinlik, vaid pigem julgustatud. Igal juhul ei tea ma hetkel ühtegi näidet, kus kedagi oleks vallandatud selliste lahenduste ostmise eest.
Seda kõike arvesse võttes valisin ma Dell EMC ECS Community Edition. See on väga huvitav projekt ja ma arvan, et on vajalik teile sellest rääkida.
Esimene asi, mis tuleb meelde, kui näen lisa Community Edition — see on lihtsalt täisversiooni ECS-i koopia koos mõningate piirangutega, mis eemaldatakse litsentsi ostmisega. Kuid ei ole!
Pidage meeles:
!!!Community Edition on eraldi projekt, mis on loodud katsetamiseks ja Dellilt puudub tehniline tugi!!
Ja seda ei saa muuta täieõiguslikuks ECS-ks, isegi kui väga soovida.
Hakatakse selgitama
Paljud usuvad, et Dell EMC ECS on üks parimaid lahendusi, kui teil on vajalik objektide salvestamine. Kõik ECS-i kaubamärgi all olevad projektid, sealhulgas kommertslikud ja ettevõtete lahendused, põhinevad . See on Dellilt hea tahte žest. Ja peale tarkvara, mis töötab nende kaubamärgiga riistvaral, on ka avatud lähtekoodiga versioon, mida saab seadistada kas pilves, virtuaalmasinas, konteineris või teie enda riistvaral. Küll on olemas isegi OVA versioon, mille me ära kasutame.
Ise DELL ECS Community Edition on väiksem variant täieõiguslikust tarkvarast, mis töötab kaubamärgiga Dell EMC ECS serverites.
Olen välja toonud neli peamist erinevust:
- Krüpteerimise tuge ei ole. Kahju, aga mitte kriitiline.
- Puudub Fabric Layer. See komponent vastutab klastrite ülesehitamise, ressursihalduse, uuenduste, jälgimise ja Docker piltide säilitamise eest. Siin on juba tõeliselt kahju, kuid Dellit on ka võimalik mõista.
- Kõige vastikum tagajärg eelnevast punktist: pärast installatsiooni lõpetamist ei saa sõlme suurust suurendada.
- Ei ole to support. See on testimiseks mõeldud toode, mida võib kasutada väikestes paigaldustes, kuid isiklikult ei tahaks ma sinna petabaiti olulisi andmeid laadida. Kuid tehniliselt ei saa keegi teid peatada.

Ja mis on suure versiooni puhul?
Kiirelt Euroopa peale liikudes vaatame raualahendusi, et saada täielikku ülevaadet ökosüsteemist.
Kuidas ma seda väidet, et DELL ECS on parim kohapealne objekti salvestus, kinnitan või lükkan ümber, ei tea, kuid kui teil on selle kohta midagi öelda, loen hea meelega kommentaare. Igatahes versiooni järgi Dell EMC on kindlalt viie parima OBS turule sisenenud. Kuigi seal ei arvestata pilvepõhiseid lahendusi, on see eraldi jutt.
Tehniliselt on ECS objekti salvestus, mis tagab andmete juurdepääsu pilve salvestusprotokollide kaudu. Toetab AWS S3 ja OpenStack Swift. Faile lubavate ECS-konteinerite puhul toetab see NFSv3 faili alusel eksportimise võimaluse jaoks.
Andmete salvestamise protsess on üsna ebatavaline, eriti pärast klassikalisi plokkide salvestussüsteeme.
- Uute andmete saabumisel luuakse uus objekt, millel on nimi, andmed ja metaandmed.
- Objektid jagatakse 128 MB suurusteks tükkideks, ning iga tükk salvestatakse kohe kolme node'i peale.
- Uuendatakse indeksifaili, kuhu on salvestatud identifikaatorid ja salvestuskoht.
- Uuendatakse logifaili (salvestuslogi), mis salvestatakse samuti kolme node'i peale.
- Kliendile saadetakse teade edukast salvestamisest.
Kõik kolm andmekoopia salvestatakse paralleelselt. Salvestamine loetakse edukaks, ainult kui kõik kolm koopiat on edukalt salvestatud.

Lugemine toimub lihtsamalt:
- Klient küsib andmeid.
- Indekssidest otsitakse andmete salvestuskohta.
- Andmed loetakse ühest node'ist ja saadetakse kliendile.

Serversid on üsna palju, seega vaatame väheseimati, Dell EMC ECS EX300. See algab 60 TB-st, võimaldades kasvada kuni 1,5 PB-ni. Ja selle vanem vend, Dell EMC ECS EX3000, võimaldab juba salvestada lausa 8,6 PB rack'i kohta.
Juhtimistöö
Teknikult on Dell ECS CE võimalik rakendada mistahes suuruses. Igal juhul ei leidnud ma selgesõnalisi piiranguid. Siiski on kogu skaleerimine mugav esimesest nodest kopeerimise teel, mille jaoks vajame:
- 8 vCPU
- 64GB RAM
- 16GB operatsioonisüsteemile
- 1TB otseandmete salvestamiseks
- Viimane versioon CentOS minimal
See on variant, kui soovite kõik ise algusest peale paigaldada. Meie jaoks ei ole see variant asjakohane, kuna ma kasutan deploy jaoks OVA pilti.
Siiski on nõuded üsna ranged isegi ühe nodo jaoks, ja kui rangelt järgida seadusi, siis on neid nagu neli.
Siiski elavad ECS CE arendajad reaalses maailmas ja installatsioon õnnestub isegi ühe nodiga, ning minimaalnõuded on:
- 4 vCPU
- 16 GB RAM
- 16 GB operatsioonisüsteemile
- 104 GB andmete salvestamiseks
Just sellised ressursid on vajalikud OVA pildi rakendamiseks. Oluliselt inimsõbralikumad ja realistlikumad.
Installatsiooninodu saab võtta ametlikust . Seal on ka põhjalik dokumentatsioon kõik-ühes-deploy kohta, kuid saate lugeda ka ametlikus . Seega ei peatume OVA käivitamisele eraldi, seal pole trikke. Peamine on see, et enne selle käivitamist ei unustaks te kas ketast vajaliku suurusega laiendada või vajalikke külge ühendada.
Käivitame masina, avame konsooli ja kasutame parimaid vaikimisi sisselogimisandmeid:
- kasutajanimi: admin
- parool: ChangeMe
Seejärel käivitame sudo nmtui ja seadistame võrgu liidese — IP/mask, DNS ja gateway. Pea meeles, et CentOS minimal'is ei ole net-tools, seega kontrollime seadeid läbi ip addr.

Ja kuna ainult julged saavutavad mere, teeme yum update, pärast mida reboot. Tegelikult on see üsna turvaline, kuna kogu käivitamine toimub läbi playbookide ja kõik olulised dockeripaketid on lukustatud käesolevasse versiooni.
Nüüd on aeg redigeerida installi skripti. Ei mingit ilusat liidest ega pseudointerface'i — kõik läbi teie lemmiktekstiredaktori. Puhtalt tehniliselt on kaks teed: saate iga käsu käsitsi sisestada või käivitage kohe konfigureerija videploy. See avab konfigureerimise vim'is ja väljumisel käivitab kontrolli. Kuid teadlikult endale elu lihtsamaks tegemine ei ole huvitav, seega teeme kaks käsku rohkem. Kuigi selles ei ole mingit mõtet, ma hoiatasin teid =)
Nii et teeme vim ECS-CommunityEdition/deploy.xml ja teeme optimaalsed minimaalsed muudatused, et ECS sisse lülituks ja töötaks. Parameetrite loetelu võib kokku võtta, aga ma tegin nii:
- licensed_accepted: true Võite mitte muuta, siis palutakse teil seda selgelt aktsepteerida ja näidatakse toredat fraasi. Võib-olla on see isegi üks väike nüanss.

- Kommentaaridest eemaldada read autonames: ja custom: Sisestage vähemalt üks soovitud nimi sõlmele — hostname asendatakse sellega installimise käigus.
- install_node: 192.168.1.1 Täpsustage reaalsed IP-aadressid. Meie puhul määrame sama, mis nmtuis.
- dns_domain: sisestage oma domeen.
- dns_servers: kirjutage oma dns.
- ntp_servers: saab määrata ükskõik milline. Väljavalitud olin 0.pool.ntp.org esimesena (sai aadressiks 91.216.168.42)
- autonaming: custom Kui ei eemalda kommentaari, nimetatakse kuu Lunaks.
- ecs_block_devices:
/dev/sdb
Mõnel põhjusel võib siin olla mitteeksisteeriv plokk-seadme /dev/vda - storage_pools:
members:
192.168.1.1 Siin määrame taas tõelise sõlme IP-aadressi - ecs_block_devices:
/dev/sdb Повторяем операцию вырезания несуществующих устройств.
Terve fail on tegelikult väga põhjalikult kirjeldatud , kuid kes viitsib seda sellisel rahutul ajal lugeda. Seal on kirjas, et minimaalne nõue on määrata IP ja mask, kuid minu laboris loomine sellega oli üsna problemaatiline ja pidin laiendama nagu eespool näidatud.

Pärast redigeerijast väljumist tuleb käivitada update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, ja kui kõik on õigesti tehtud, siis sellest teavitatakse selgelt.

Seejärel tuleb siiski käivitada videploy, oodata keskkonna uuendamist ning seejärel saab käivitada installatsiooni käsuga ova-step1 ja pärast selle eduka täitmisega käsuga ova-step2. Oluline: ärge peatage skripte käsitsi! Mõned sammud võivad võtta märkimisväärselt aega, neid ei pruugi esimesel katsel läbi viia ja need võivad tunduda, nagu kõik oleks katki. Igal juhul tuleb oodata skripti loomulikku lõpetamist. Lõpus peaksite nägema umbes sellist sõnumit.

Nüüd saame lõpuks avada WebUI halduspaneeli tuntud IP-aadressil. Kui konfiguratsiooni etapis ei ole muudatusi tehtud, siis on vaikimisi konto root/ChangeMe. Saame isegi kohe kasutada meie S3-ühilduvat salvestusruumi. See on saadaval portidel 9020 HTTP ja 9021 HTTPS jaoks. Jällegi, kui midagi ei ole muudetud, siis access_key: object_admin1 ja secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.
Aga olgem kiired, alustame algusest.

Esimese sisselogimise ajal palutakse teil kohustuslikult muuta parool turvaliseks, mis on täiesti õigustatud. Peamine juhtpaneel on äärmiselt arusaadav, seega teeme midagi huvitavamat kui ilmselgete näitajate selgitamine. Näiteks loome kasutaja, keda kasutame salvestusruumile juurdepääsuks. Teenusepakkujate maailmas kutsutakse selliseid nimesid tenant-ideks. Selleks läheme Manage > Users > New Object User.

Kasutaja loomisel palutakse meil näidata namespace'i. Tegelikult ei takista meid miski lisamast nende arvuga võrdset arvu kasutajaid. Ja vastupidi. See võimaldab hallata ressursse sõltumatult iga tenant-i jaoks.
Vastavalt sellele valime vajalikud funktsioonid ja genereerime kasutaja võtmed. Minule piisab S3/Atmos'ist. Ja ärge unustage võtme salvestamist 😉.

Kasutaja on loodud, nüüd on aeg talle ka bucket eraldada. Liigume Manage > Bucket ja täidame vajalikud väljad. Siin on kõik lihtne.

Nüüd on meil kõik valmis meie S3 salvestusruumi tõeliseks kasutamiseks.
Seame üles Veeami.
Nii, nagu me mäletame, on objekti salvestuskohtade peamisteks rakendusteks pikaajaline teabe salvestamine, mille kasutamine on haruldane. Ideaalne näide on vajadus salvestada varukoopiad eemal asuvale alale. Veeam Backup & Replication'is on see funktsioon tuntud kui Capacity Tier.
Alustame seadistamist, lisades meie Dell ECS CE Veeami liidesesse. Backup Infrastructure vahelehel käivitame uue salvestuskoha lisamise meistri ja valime objekti salvestuse punkti.

Valime selle, mille pärast kõik see algas — S3 ühilduvuse.

Ilmuvasse aknasse kirjutame soovitud nime ja liigume edasi sammule Konto. Siin tuleb näidata teenusepunkti kui , piirkonda võib jätta samaks ja lisada loodud kasutaja. Gateway server on vajalik, kui teie salvestuskoht asub eemal asuval alal, kuid see on juba infrastruktuuri optimeerimise teema ja eraldi artikkel, seega võib selle julgelt vahele jätta.

Kui kõik on õigesti määratud ja seadistatud, ilmub hoiatussertifikaat ja seejärel aken, kus saab luua meie failide kausta.

Käime viisardi lõpuni ja naudime tulemust.

Järgmises etapis tuleb kas luua uus Scale-out Backup Repository või lisada meie S3 olemasolevasse — seda kasutatakse kapasiteedi tasandiks arhiveerimiseks. Funktsioone, mis võimaldaksid S3-ühilduvaid ladustamisi otse kasutada nagu tavalist reposiiti, ei ole praeguses versioonis. Selleks on liiga palju üsna keerulisi probleeme lahendada, kuid kõik on võimalik.
Siseneme reposiidi seadistustesse ja lülitame sisse kapasiteedi tasandi. Kõik on selge, kuid on üks huvitav nüanss: kui soovite, et kõik andmed saadetaks objekti ladustamisse võimalikult kiiresti, seadke lihtsalt 0 päeva.

Pärast viisardi läbimist, kui ei taha oodata, saab reposiidil klõpsates ctrl+hiire paremklõpsu abil sundida käivitama tiering tööd ja vaadata, kuidas graafikud liikuma hakkavad.

Siin on kõik. Arvan, et minu ülesanne näidata, et ploki ladustamine ei ole nii hirmutav, kui arvatakse, on täidetud. Jah, lahendusi ja teostamisvõimalusi on hulgaliselt, kuid ühes artiklis ei saa kõike katta. Seega jagame oma kogemusi kommentaarides.
Allikas: habr.com
