Programovanie

Pochopenie modelov cloudového úložiska

Kto by si myslel, že ukladanie bitov sa môže tak neskutočne skomplikovať? Úložisko vždy obsahovalo nepreberné množstvo protokolov, od Fibre Channel cez iSCSI až po SMB vo všetkých jeho variáciách, ale príchod blesku a neustály rast virtualizácie zmenili už tak hustú tému na zamotanú džungľu akronymov, protokolov a abstrakcií.

Virtualizácia dátového centra podnietila vlnu virtualizácie aj v oblasti úložiska, čím sa úložisko postupne dostalo od fyzických protokolov a smerom k logickým abstrahovaným modelom úložiska, ako sú úložiská inštancií a úložiská zväzkov. Poskytovaním abstrakcií dátové centrum stabilne oddeľovalo virtuálne stroje od protokolov úložiska.

Vzostup cloudových dátových centier priniesol aj novú triedu úložiska s názvom objektové úložisko, ktoré obetuje silnú konzistenciu tradičných protokolov úložiska s cieľom poskytnúť jediné menné priestory v globálnom meradle.

V tomto článku uvediem určitú jasnosť vložením inštancie, objemu a úložiska objektov do vývoja dátového centra a ukážem, ako tieto nové abstrakcie zapadajú nad existujúce protokoly úložiska alebo vedľa nich.

Príbeh cloudového úložiska je v mnohých ohľadoch príbehom virtualizácie. Začnem fyzickým prostredím, prejdem k virtualizácii, kde sa virtuálne a fyzické modely začnú rozchádzať, a skončím cloudom, kde je fyzický virtuálny model takmer úplne abstrahovaný.

Fyzické uloženie

V jadre všetkého úložiska je nejaká sada protokolov fyzického úložiska, takže začnem krátkou rekapituláciou fyzického úložiska. V súčasnosti sa používajú tri hlavné triedy modelov fyzického úložiska: priame pripojené úložisko (DAS), sieťová oblasť úložiska (SAN) a sieťovo pripojené úložisko (NAS).

DAS. Priamo pripojené úložisko je najjednoduchší model úložiska. Všetci poznáme DAS; toto je model používaný väčšinou notebookov, telefónov a stolových počítačov. Základnou jednotkou v DAS je samotný počítač; úložisko pre server nie je možné oddeliť od samotného servera. V prípade telefónu je fyzicky nemožné odstrániť úložisko z výpočtovej techniky, ale dokonca aj v prípade serverov, kde je teoreticky možné vytiahnuť diskové jednotky, je jednotka po oddelení od servera spravidla predtým vymazaná. opätovné použitie. SCSI a SATA sú príkladmi protokolov DAS.

SAN. Skladovací priemysel nakoniec uznal užitočnosť oddelenia úložiska od výpočtovej techniky. Namiesto pripájania diskov ku každému jednotlivému počítaču sme umiestnili všetky disky na jeden klaster serverov a k disku sme pristupovali cez sieť. To zjednodušuje úlohy správy úložiska, ako je zálohovanie a oprava poruchy. Toto rozdelenie úložiska a výpočtov sa často nazýva zdieľané úložisko, pretože viac počítačov bude využívať jeden fond úložiska.

Najjednoduchšie bolo komunikovať medzi klientom a serverom po sieti pomocou rovnakých (alebo veľmi podobných) blokových protokolov, ktoré sa používali na komunikáciu s lokálne pripojenými diskovými jednotkami. Takto exponované úložisko sa nazýva úložná sieť. Fibre Channel a iSCSI sú príkladmi protokolov SAN.

V sieti SAN správca zoskupí sadu diskov (alebo časť sady diskov) do jednotky LUN (logická jednotka), ktorá sa potom chová ako jeden disk k vonkajším počítačom. LUN je základná jednotka používaná na správu úložiska SAN.

NAS. Zatiaľ čo SAN nám umožňujú presúvať LUN medzi jedným počítačom a druhým, blokové protokoly, ktoré používajú, neboli navrhnuté na súčasné zdieľanie údajov v tej istej LUN medzi počítačmi. Aby sme umožnili tento druh zdieľania, potrebujeme nový druh úložiska vybudovaného pre súčasný prístup. V tomto novom druhu úložiska komunikujeme s úložiskom pomocou protokolov súborového systému, ktoré sa veľmi podobajú súborovým systémom bežiacim na miestnych počítačoch. Tento druh úložiska sa nazýva úložisko pripojené k sieti. NFS a SMB sú príkladmi protokolov NAS.

Abstrakcia súborového systému umožňuje viacerým serverom prístup k rovnakým údajom súčasne. Viaceré servery môžu čítať ten istý súbor súčasne a viac serverov môže súčasne vkladať nové súbory do súborového systému. NAS je teda veľmi vhodný model pre zdieľané údaje používateľov alebo aplikácií.

Úložisko NAS umožňuje správcom alokovať časti úložiska do jednotlivých súborových systémov. Každý súborový systém je jeden menný priestor a súborový systém je primárnou jednotkou používanou na správu NAS.

Virtuálne úložisko

Virtualizácia zmenila prostredie moderného dátového centra pre ukladanie dát, ako to bolo pri výpočtoch. Rovnako ako sa fyzické stroje abstrahovali do virtuálnych strojov, fyzické úložisko sa abstrahovalo do virtuálnych diskov.

Vo virtualizácii poskytuje hypervisor emulované hardvérové ​​prostredie pre každý virtuálny stroj vrátane počítača, pamäte a úložiska. Spoločnosť VMware, pôvodný moderný hypervisor, sa rozhodla emulovať miestne fyzické diskové jednotky ako spôsob zabezpečenia úložiska pre každý VM. Inými slovami, spoločnosť VMware si vybrala model lokálnej diskovej jednotky (DAS) ako spôsob vystavenia úložiska virtuálnym strojom.

Rovnako ako základnou jednotkou úložiska v DAS je fyzický stroj, základnou jednotkou úložiska virtuálneho disku je VM. Virtuálne disky nie sú vystavené ako nezávislé objekty, ale ako súčasť konkrétneho virtuálneho stroja, presne tak, ako sú miestne disky koncepčne súčasťou fyzického počítača. Rovnako ako v prípade DAS, virtuálny disk žije a zomiera so samotným VM; ak sa VM vymaže, vymaže sa aj virtuálny disk.

Väčšina konvenčných virtualizačných platforiem používa model úložiska virtuálneho disku. Napríklad úložiská v prostrediach VMware vSphere, Microsoft Hyper-V, Red Hat Enterprise Virtualization a Xen sú všetky spravované a pripojené podobným spôsobom.

Implementácia virtuálnych diskov

Pretože spoločnosť VMware chcela naďalej poskytovať výhody zdieľaného úložiska virtuálnym počítačom, nemohla sa pri implementácii virtuálnych diskov spoliehať na protokol DAS. Zrejmou ďalšou voľbou by bolo použitie SAN, pretože SAN LUN sa veľmi podobá lokálnej diskovej jednotke.

Fyzické logické jednotky majú však obmedzenia, ktoré sú náročné na prispôsobenie sa virtuálnym diskom. Virtualizované prostredia konsolidujú množstvo logických počítačov na jeden fyzický server, čo znamená, že počet virtuálnych diskov na danom hostiteľovi bude oveľa väčší ako počet fyzických logických jednotiek pre hostiteľa vo fyzickom prostredí. Maximálny počet jednotiek LUN, ktoré bolo možné pripojiť k danému fyzickému serveru, bol príliš nízky na to, aby podporil potrebný počet virtuálnych diskov.

Možno ešte dôležitejšie je, že virtuálne disky, rovnako ako virtuálne CPU, musia byť logickými objektmi, ktoré je možné vytvárať, ničiť a presúvať programovo, a nejde o operácie, na vykonávanie ktorých bola navrhnutá pamäť SAN. Napríklad VMware potreboval dynamicky presúvať VM medzi fyzickými hostiteľmi, čo si počas migrácie vyžadovalo prístup k zdieľanému úložisku.

Z týchto dôvodov sa spoločnosť VMware rozhodla implementovať virtuálne disky ako súbory v súborovom systéme (NFS) alebo v distribuovanom súborovom systéme (VMFS) na SAN, a nie ako nespracované logické jednotky.

Od úložných protokolov až po úložné modely

To, že sa spoločnosť VMware rozhodla implementovať virtuálne disky, model úložiska blokov v štýle DAS, na NAS alebo SAN, ilustruje jednu zo zaujímavých charakteristík moderného úložiska dátových centier. Pretože vstup / výstup z virtuálneho stroja sa odovzdáva softvéru v hypervízore, a nie hardvéru na zbernici zariadení, protokol používaný VM na komunikáciu s hypervízorom sa nemusí zhodovať s protokolom, ktorý hypervízor používa na komunikáciu s počítačom. samotné skladovanie.

To vedie k oddeleniu medzi modelom úložiska, ktorý je vystavený smerom nahor k VM a správcovi, a protokolom úložiska, ktorý používa hypervisor na skutočné ukladanie údajov. V prípade virtuálnych diskov ich spoločnosť VMware navrhla podľa úložného modelu DAS a na ich implementáciu potom použila úložný protokol NAS.

Toto je silná vrstva nepriamosti; dáva nám flexibilitu kombinovať modely úložných zariadení a protokoly úložiska a dokonca dynamicky meniť protokol úložiska bez toho, aby to malo vplyv na virtuálne stroje. Napríklad virtuálne disky sa implementujú pomocou súborov v NFS, súborov vo VMFS uložených na jednotkách Fibre Channel LUN alebo dokonca (vo VVols alebo Virtual Volumes) priamo ako jednotky iSCSI LUN. Výber implementácie je pre aplikáciu úplne transparentný, pretože nakoniec všetky tieto protokoly budú vyzerať rovnako ako VM aj správca; budú vyzerať ako miestne fyzické diskové jednotky pripojené k virtuálnym počítačom.

Vývojár aplikácií vo väčšine verejných cloudových infraštruktúr tak nemôže vedieť, aký protokol úložiska sa používa; v skutočnosti sa protokol môže dokonca dynamicky meniť. Nevieme, aký protokol úložiska používa spoločnosť Amazon pre Elastic Block Storage, a tiež to nie je dôležité, aby sme to vedeli.

Z dôvodu oddelenia medzi modelom úložiska a protokolom úložiska sa protokol úložiska stáva problémom súvisiacim s infraštruktúrou, ktorý je primárne dôležitý z hľadiska nákladov a výkonu, a nie rozhodnutím, ktoré určuje funkčnosť.

Cloud-ové úložisko

Krajina dátového centra sa opäť posúva, keď sa virtualizované prostredia menia na cloudové prostredia. Cloudové prostredia využívajú model virtuálneho disku, ktorý bol priekopníkom vo virtualizácii, a poskytujú ďalšie modely umožňujúce plne virtualizovaný ukladací zásobník. Cloudové prostredia sa pokúšajú virtualizovať celý ukladací zásobník, aby mohli poskytovať samoobslužné služby a čisté oddelenie medzi infraštruktúrou a aplikáciou.

Cloudové prostredia majú veľa podôb. Môžu byť implementované podnikmi ako súkromné ​​cloudy pomocou prostredí ako OpenStack, CloudStack a sada VMware vRealize. Môžu ich tiež implementovať poskytovatelia služieb ako verejné cloudy, ako sú Amazon Web Services, Microsoft Azure a Rackspace.

Je zaujímavé, že modely úložiska používané v cloudových prostrediach odrážajú modely používané vo fyzických prostrediach. Rovnako ako v prípade virtuálnych diskov však ide o modely úložných zariadení abstrahované od viacerých protokolov úložiska, ktoré je možné použiť na ich implementáciu.

Ukladanie inštancií: Virtuálne disky v cloude

Model úložiska virtuálneho disku je primárnym (alebo jediným) modelom úložiska v konvenčných virtualizovaných prostrediach. V cloudových prostrediach je však tento model jedným z troch. Preto sa modelu v cloudových prostrediach prisudzuje špecifický názov: inštančné úložisko, čo znamená úložisko spotrebované ako bežné virtuálne disky.

Je dôležité si uvedomiť, že inštančné úložisko je úložný model, nie úložný protokol, a je možné ho implementovať viacerými spôsobmi. Napríklad úložisko inštancií sa niekedy implementuje pomocou DAS na samotných výpočtových uzloch. Takto implementované sa často nazýva prchavé úložisko, pretože úložisko zvyčajne nie je veľmi spoľahlivé.

Inštančné úložisko je možné implementovať aj ako spoľahlivé úložisko pomocou NAS alebo objemového úložiska, čo je druhý popísaný úložný model. Napríklad OpenStack umožňuje používateľom implementovať inštančné úložisko ako prchavé úložisko na hostiteľoch, ako súbory na prípojných bodoch NFS alebo ako zväzky Cinder pomocou boot-from-volume.

Veľkokapacitný úložný priestor: SAN fyzicky nie je

Ukladanie inštancií má však svoje obmedzenia. Vývojári natívnych cloudových aplikácií často výslovne odlišujú konfiguračné údaje, ako sú údaje operačného systému a aplikácií, od údajov používateľov, ako sú databázové tabuľky alebo dátové súbory. Ich rozdelením môžu vývojári vytvoriť prechodnú a znovu zostaviteľnú konfiguráciu pri zachovaní vysokej spoľahlivosti používateľských údajov.

Toto rozlíšenie zase vedie k inému typu úložiska: veľkokapacitnému úložisku, hybridnému úložisku inštancií a SAN. Zväzok je skôr primárnou jednotkou ukladacieho priestoru ako VM. Zväzok je možné odpojiť od jedného VM a pripojiť k inému. Rovnako ako virtuálny disk sa však zväzok mierkou a abstrakciou viac podobá na súbor ako LUN. Na rozdiel od inštančného úložiska sa objemový úložný priestor zvyčajne považuje za vysoko spoľahlivý a často sa používa pre údaje používateľov.

OpenStack’s Cinder je príkladom obchodu s objemami, rovnako ako nezávislá abstrakcia objemu od Dockera. Znova si všimnite, že objemové úložisko je úložný model, nie protokol úložiska. Veľkokapacitný ukladací priestor je možné implementovať nad protokoly súborov, ako je NFS, alebo blokovať protokoly, ako je iSCSI, transparentne do aplikácie.

Ukladanie objektov: NAS webového rozsahu

Cloudové natívne aplikácie tiež potrebujú domov pre údaje zdieľané medzi virtuálnymi počítačmi, často však potrebujú menné priestory, ktoré je možné škálovať do viacerých dátových centier v geografických regiónoch. Úložisko objektov poskytuje presne tento druh úložiska. Napríklad Amazon S3 poskytuje jediný logický priestor mien v celom regióne a, pravdepodobne, v celom svete. Na dosiahnutie tohto rozsahu bolo potrebné, aby S3 obetovala silnú konzistenciu a jemnozrnné aktualizácie konvenčného NAS.

Úložisko objektov poskytuje abstrakciu podobnú súboru, ktorá sa nazýva objekt, ale poskytuje konečnú konzistenciu. To znamená, že hoci všetci klienti nakoniec dostanú na svoje žiadosti rovnaké odpovede, môžu dočasne dostávať rôzne odpovede. Táto konzistencia je podobná konzistencii, ktorú poskytuje Dropbox medzi dvoma počítačmi; klienti sa môžu dočasne odchýliť od synchronizácie, ale nakoniec sa všetko spojí.

Tradičné obchody s objektmi tiež poskytujú zjednodušenú sadu dátových operácií vyladených na použitie pri pripojeniach k sieti WAN s vysokou latenciou: zoznam objektov v segmente, čítanie celého objektu a nahradenie údajov v objekte úplne novými údajmi. Tento model poskytuje základnejšiu sadu operácií ako NAS, ktorý umožňuje aplikáciám čítať a zapisovať malé bloky v rámci súboru, skracovať súbory na nové veľkosti, presúvať súbory medzi adresármi atď.

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