Programiranje

Razumevanje modelov shranjevanja v oblaku

Kdo bi si mislil, da se lahko shranjevanje bitov tako neverjetno zaplete? Shramba je vedno vsebovala množico protokolov, od Fibre Channel do iSCSI do SMB v vseh njegovih različicah, toda prihod bliskavice in nenehna rast virtualizacije sta že tako gosto temo spremenila v zapleteno džunglo kratic, protokolov in abstrakcij.

Virtualizacija podatkovnega centra je spodbudila val virtualizacije tudi v pomnilniku, ki je postopoma odmikal pomnilnik od fizičnih protokolov k logičnim, abstraktnim modelom shranjevanja, kot sta primer shranjevanja in shranjevanje količin. Z zagotavljanjem abstrakcij je podatkovni center navidezne stroje vztrajno ločeval od protokolov za shranjevanje.

Porast podatkovnih centrov v oblaku je ustvaril tudi nov razred pomnilnika, imenovan objektno shranjevanje, ki žrtvuje močno doslednost tradicionalnih protokolov za shranjevanje, da bi zagotovili posamezne imenske prostore v svetovnem merilu.

V tem članku bom predstavil nekaj jasnosti, tako da bom primerek, prostornino in objektno shrambo postavil v razvoj podatkovnega centra in prikazal, kako se te nove abstrakcije prilegajo obstoječim protokolom za shranjevanje ali poleg njih.

Zgodba o shranjevanju v oblaku je v mnogih pogledih zgodba o virtualizaciji. Začel bom s fizičnimi okolji, prešel na virtualizacijo, kjer se navidezni in fizični modeli začnejo razhajati, in končal z oblakom, kjer fizično virtualni modeli skoraj v celoti abstrahirajo.

Fizično shranjevanje

V osnovi vsega pomnilnika je nekaj sklopov protokolov fizičnega shranjevanja, zato bom začel s hitrim povzetkom fizičnega pomnilnika. Danes se uporabljajo trije glavni razredi modelov fizičnega shranjevanja: neposredno priloženi pomnilnik (DAS), omrežje pomnilniškega prostora (SAN) in omrežno shranjeno shranjevanje (NAS).

DAS. Neposredno priložena shramba je najpreprostejši model za shranjevanje. Vsi smo seznanjeni z DAS; to je model, ki ga uporablja večina prenosnikov, telefonov in namiznih računalnikov. Temeljna enota v DAS je računalnik sam; pomnilnika za strežnik ni mogoče ločiti od samega strežnika. V primeru telefona je fizično nemogoče odstraniti pomnilnik iz izračuna, toda tudi v primeru strežnikov, pri katerih je teoretično mogoče povleči diskovne pogone, ko je pogon ločen od strežnika, ga običajno obrišejo pred ponovna uporaba. SCSI in SATA sta primera protokolov DAS.

SAN. Sčasoma je skladiščna industrija prepoznala koristnost ločevanja pomnilnika od izračuna. Namesto da bi diske pritrdili na vsak posamezen računalnik, smo vse diske namestili v eno skupino strežnikov in do diska dostopali prek omrežja. To poenostavlja naloge upravljanja pomnilnika, kot sta varnostno kopiranje in popravilo napak. Ta delitev pomnilnika in izračunov se pogosto imenuje skupna shramba, saj bo več računalnikov uporabljalo en sam prostor za shranjevanje.

Najbolj enostavno je bilo komuniciranje med odjemalcem in strežnikom prek omrežja z uporabo enakih (ali zelo podobnih) blokovskih protokolov, ki so bili uporabljeni za komunikacijo z lokalno povezanimi diskovnimi pogoni. Tako izpostavljeni pomnilnik se imenuje skladiščno omrežje. Fiber Channel in iSCSI sta primera protokolov SAN.

V SAN-u bo skrbnik nabor diskov (ali del nabora diskov) združil v LUN (logična enota), ki se nato do zunanjih računalnikov obnaša kot en diskovni pogon. LUN je temeljna enota, ki se uporablja za upravljanje pomnilnika SAN.

NAS. Medtem ko nam SAN-ji omogočajo premikanje LUN-ov med enim in drugim računalnikom, blokovski protokoli, ki jih uporabljajo, niso bili zasnovani za sočasno izmenjavo podatkov v istem LUN-u med računalniki. Za omogočanje tovrstne skupne rabe potrebujemo novo vrsto prostora za hkratni dostop. V tej novi vrsti pomnilnika komuniciramo s pomnilnikom z uporabo protokolov datotečnega sistema, ki so zelo podobni datotečnim sistemom, ki se izvajajo na lokalnih računalnikih. Ta vrsta pomnilnika je znana kot omrežno shranjeno shranjevanje. NFS in SMB sta primera protokolov NAS.

Abstrakcija datotečnega sistema omogoča več strežnikom hkrati dostop do istih podatkov. Več strežnikov lahko isto datoteko bere hkrati, več strežnikov pa lahko hkrati v datotečni sistem vstavi nove datoteke. Tako je NAS zelo priročen model za skupne uporabniške ali aplikacijske podatke.

Shramba NAS omogoča skrbnikom, da razdelijo dele pomnilnika v posamezne datotečne sisteme. Vsak datotečni sistem je en sam imenski prostor, datotečni sistem pa je glavna enota, ki se uporablja za upravljanje NAS.

Navidezna shramba

Virtualizacija je spremenila krajino sodobnega podatkovnega centra za shranjevanje kot za računalništvo. Tako kot so bili fizični stroji abstrahirani v virtualne stroje, je bilo fizično shranjevanje abstrahirano v virtualne diske.

V virtualizaciji hipervizor zagotavlja emulirano strojno okolje za vsak navidezni stroj, vključno z računalnikom, pomnilnikom in pomnilnikom. VMware, začetni sodobni hipervizor, se je odločil za posnemanje lokalnih fizičnih diskovnih pogonov kot način za zagotavljanje pomnilnika za vsak VM. Povedano drugače, VMware je izbral model lokalnega diskovnega pogona (DAS) kot način izpostavljanja pomnilnika navideznim strojem.

Tako kot je osnovna enota pomnilnika v DAS fizični stroj, je temeljna enota v pomnilniku navideznega diska VM. Navidezni diski niso izpostavljeni kot neodvisni predmeti, temveč kot del določenega navideznega stroja, tako kot so lokalni diski pojmovno del fizičnega računalnika. Tako kot pri DAS tudi navidezni disk živi in ​​umre s samim VM; če je VM izbrisan, bo izbrisan tudi navidezni disk.

Večina običajnih platform za virtualizacijo uporablja model navideznega diska. Na primer, shrambe v okoljih VMware vSphere, Microsoft Hyper-V, Red Hat Enterprise Virtualization in Xen so upravljana in pritrjena na podoben način.

Izvajanje navideznih diskov

Ker je VMware želel še naprej zagotavljati prednosti skupne shrambe za navidezne stroje, se za izvajanje virtualnih diskov ni mogel zanašati na protokol DAS. Očitna naslednja izbira bi bila uporaba SAN, saj SAN LUN zelo spominja na lokalni diskovni pogon.

Vendar imajo fizični LUN omejitve, ki omogočajo zahtevno prileganje navideznim diskom. Virtualizirana okolja konsolidirajo več logičnih računalnikov na enem fizičnem strežniku, kar pomeni, da bo število navideznih diskov na določenem gostitelju veliko večje od števila fizičnih LUN-ov za gostitelja v fizičnem okolju. Največje število LUN-ov, ki jih je bilo mogoče pritrditi na določen fizični strežnik, je bilo prenizko, da bi podprlo potrebno število navideznih diskov.

Morda še bolj pomembno je, da morajo biti navidezni diski, tako kot navidezni CPU, logični predmeti, ki jih je mogoče ustvariti, uničiti in programsko premikati, in to niso operacije, za katere je bilo namenjeno shranjevanje SAN. Na primer, VMware je moral dinamično premikati VM med fizičnimi gostitelji, ki so med selitvijo potrebovali dostop do skupnega pomnilnika.

Iz teh razlogov se je VMware odločil, da navidezne diske implementira kot datoteke v datotečni sistem (NFS) ali v porazdeljeni datotečni sistem (VMFS) na SAN, ne pa kot surove LUN.

Od protokolov za shranjevanje do modelov shranjevanja

Da se je VMware odločil za implementacijo navideznih diskov, model blokovnega pomnilnika v slogu DAS, poleg NAS ali SAN, ponazarja eno zanimivih značilnosti sodobnega shranjevanja podatkovnih centrov. Ker se IO iz navideznega računalnika preda programski opremi v hipervizorju in ne strojni opremi na vodilu naprave, protokolu, ki ga VM uporablja za komunikacijo s hipervizorjem, ni treba ustrezati protokolu, ki ga hipervizor uporablja za komunikacijo s shranjevanje.

To vodi do ločitve med pomnilniškim modelom, ki je izpostavljen VM in skrbniku, in pomnilniškim protokolom, ki ga hipervizor uporablja za dejansko shranjevanje podatkov. V primeru navideznih diskov jih je VMware zasnoval v skladu s pomnilniškim modelom DAS, nato pa za njihovo uporabo uporabil pomnilniški protokol NAS.

To je močna plast posrednosti; daje nam prilagodljivost za mešanje in usklajevanje modelov shranjevanja in protokolov za shranjevanje ter celo dinamično spreminjanje protokola za shranjevanje, ne da bi to vplivalo na navidezne stroje. Na primer, navidezni diski se izvajajo z uporabo datotek v NFS, datotek v VMFS, shranjenih na LUN-ih Fibre Channel, ali celo (v VVols ali Virtual Volumes) neposredno kot LUN-iSCSI. Izbira izvedbe je za aplikacijo popolnoma pregledna, ker bodo sčasoma vsi ti protokoli videti enaki za VM in skrbnika; videti bodo kot lokalni fizični pogoni, pritrjeni na VM-je.

Tako razvijalec aplikacij v večini javnih infrastruktur v oblaku ne more vedeti, kateri protokol za shranjevanje se uporablja; pravzaprav se lahko protokol celo dinamično spreminja. Ne vemo, kateri protokol za shranjevanje Amazon uporablja za Elastic Block Storage, niti za nas ni pomembno, da vemo.

Zaradi ločitve med pomnilniškim modelom in protokolom za shranjevanje postaja protokol za shranjevanje težava, ki se sooča z infrastrukturo, predvsem pomembna za stroške in zmogljivost, in ne odločitev, usmerjena v uporabo, ki narekuje funkcionalnost.

Shramba v oblaku

Pokrajina podatkovnega centra se spet spreminja, ko se virtualizirana okolja spreminjajo v oblačna okolja. Oblačna okolja zajemajo model navideznega diska, ki je bil začetnik virtualizacije, in ponujajo dodatne modele, ki omogočajo popolnoma virtualiziran sklad za shranjevanje. Oblačna okolja poskušajo virtualizirati celoten sklad za shranjevanje, tako da lahko zagotavljajo samopostrežbo in čisto ločitev med infrastrukturo in aplikacijo.

Oblačna okolja so v številnih oblikah. Podjetja jih lahko implementirajo kot zasebne oblake v okoljih, kot so OpenStack, CloudStack in VMware vRealize suite. Ponudniki storitev jih lahko izvajajo tudi kot javni oblaki, kot so Amazon Web Services, Microsoft Azure in Rackspace.

Zanimivo je, da modeli shranjevanja, ki se uporabljajo v oblačnih okoljih, zrcalijo tiste, ki se uporabljajo v fizičnih okoljih. Kot pri navideznih diskih pa gre za modele shranjevanja, ki so povzeti stran od več protokolov za shranjevanje, ki jih je mogoče uporabiti za njihovo izvajanje.

Shramba primerka: navidezni diski v oblaku

Model navideznega diska je primarni (ali edini) model za shranjevanje v običajnih virtualiziranih okoljih. V oblačnih okoljih pa je ta model eden izmed treh. Zato je model v okoljih v oblaku dobil posebno ime: primer shranjevanja, kar pomeni, da je prostor za shranjevanje porabljen kot običajni navidezni diski.

Pomembno je omeniti, da je primer shranjevanja primer pomnilniškega modela in ne protokol za shranjevanje in ga je mogoče izvajati na več načinov. Na primer, shramba primerkov se včasih izvaja z uporabo DAS na samih računskih vozliščih. Tako izvedeno pogosto imenujemo kratkotrajno shranjevanje, ker shranjevanje običajno ni zelo zanesljivo.

Shranjevanje primerkov se lahko izvede tudi kot zanesljivo shranjevanje z uporabo NAS-a ali nosilca podatkov, drugi model shranjevanja, opisan v nadaljevanju. Na primer, OpenStack omogoča uporabnikom, da shranijo primerek kot kratkotrajno shrambo na gostiteljih, kot datoteke na točkah vpenjanja NFS ali kot nosilce Cinder z uporabo zagona iz nosilca.

Prostornina: SAN brez fizičnega

Shranjevanje primerkov pa ima svoje omejitve. Razvijalci izvornih aplikacij v oblaku pogosto izrecno razlikujejo konfiguracijske podatke, kot so OS in podatki aplikacij, od uporabniških podatkov, kot so tabele baz podatkov ali podatkovne datoteke. Z razdelitvijo obeh lahko razvijalci konfiguracijo postanejo prehodni in obnovljivi, hkrati pa ohranijo močno zanesljivost uporabniških podatkov.

To razliko pa vodi do druge vrste pomnilnika: obsežni pomnilnik, hibrid shrambe primerkov in SAN. Prostor je primarna enota za shranjevanje nosilcev in ne VM. Glasnost je mogoče ločiti od ene VM in jo pritrditi na drugo. Vendar je volumen, tako kot navidezni disk, v obsegu in abstrakciji bolj podoben datoteki kot LUN. Za razliko od shranjevanja primerkov se običajno šteje, da je količinsko shranjevanje zelo zanesljivo in se pogosto uporablja za uporabniške podatke.

OpenStack's Cinder je primer skladišča količin, prav tako Dockerjeva neodvisna abstrakcija volumna. Še enkrat upoštevajte, da je količinsko shranjevanje model pomnilnika in ne protokol za shranjevanje. Prostor za shranjevanje je mogoče namestiti na datotečne protokole, kot je NFS, ali blokirati protokole, kot je iSCSI, pregledno za aplikacijo.

Shramba predmeta: NAS v spletnem merilu

Domače aplikacije v oblaku potrebujejo tudi dom za podatke, ki jih delijo VM-ji, vendar pogosto potrebujejo imenske prostore, ki se lahko razširijo na več podatkovnih centrov v geografskih regijah. Skladiščenje objektov zagotavlja natančno tovrstno shranjevanje. Amazonov S3 na primer ponuja en sam logični imenski prostor v celotni regiji in verjetno po vsem svetu. Da bi dosegel to lestvico, je moral S3 žrtvovati močno doslednost in natančne posodobitve običajnih NAS.

Shramba predmeta ponuja datotečni podobo, imenovano objekt, vendar zagotavlja morebitno doslednost. To pomeni, da čeprav bodo vse stranke sčasoma prejele enake odgovore na svoje zahteve, bodo morda začasno prejele različne odgovore. Ta skladnost je podobna skladnosti, ki jo zagotavlja Dropbox med dvema računalnikoma; odjemalci lahko začasno odstopijo od sinhronizacije, vendar se bo sčasoma vse zbližalo.

Tradicionalne shrambe predmetov ponujajo tudi poenostavljen nabor podatkovnih operacij, nastavljenih za uporabo prek povezav WAN z visoko zakasnitvijo: uvrstitev predmetov v »vedro«, branje predmeta v celoti in zamenjava podatkov v objektu s povsem novimi podatki. Ta model ponuja bolj osnovni nabor operacij kot NAS, ki aplikacijam omogoča branje in pisanje majhnih blokov v datoteki, skrajšanje datotek v nove velikosti, premikanje datotek med imeniki itd.

$config[zx-auto] not found$config[zx-overlay] not found