Programavimas

Suprasti debesies saugojimo modelius

Kas galėjo pagalvoti, kad bitų laikymas gali tapti taip nepaprastai sudėtingas? Saugykloje visada buvo daugybė protokolų, pradedant „Fibre Channel“, baigiant „iSCSI“ ir baigiant SMB visais variantais, tačiau „flash“ atėjimas ir nuolatinis virtualizacijos augimas jau tankią temą pavertė susivėlusia akronimų, protokolų ir abstrakcijų džiungle.

Duomenų centro virtualizavimas paskatino virtualizavimo bangą ir saugykloje, palaipsniui atitraukdamas saugyklą nuo fizinių protokolų ir link logiškų, abstrakčių saugojimo modelių, tokių kaip egzempliorių saugojimas ir tūrio saugojimas. Pateikdamas abstrakcijas, duomenų centras stabiliai atsieja virtualias mašinas nuo saugojimo protokolų.

Debesų duomenų centrų atsiradimas taip pat sukūrė naują saugyklos klasę, vadinamą objektų saugykla, kuri aukoja tvirtą tradicinių saugojimo protokolų nuoseklumą, kad pasauliniu mastu būtų suteiktos vienos vardų erdvės.

Šiame straipsnyje pateiksiu šiek tiek aiškumo, įtraukdamas egzempliorių, tūrį ir objektų saugyklą į duomenų centro raidą, ir parodysiu, kaip šios naujos abstrakcijos dera ant esamų saugojimo protokolų arba šalia jų.

Debesies saugojimo istorija daugeliu atžvilgių yra virtualizacijos istorija. Pradėsiu nuo fizinės aplinkos, pereisiu prie virtualizacijos, kur virtualūs ir fiziniai modeliai pradeda skirtis, ir baigsiu debesimi, kur fizinį beveik visiškai abstrahuoja virtualūs modeliai.

Fizinis saugojimas

Visos saugyklos esmė yra keletas fizinių saugojimo protokolų rinkinių, todėl pradėsiu nuo greito fizinės atminties pakartojimo. Šiandien naudojamos trys pagrindinės fizinio saugojimo modelių klasės: tiesioginė prijungta saugykla (DAS), saugojimo zonos tinklas (SAN) ir prie tinklo prijungta saugykla (NAS).

DAS. Tiesioginė prijungta saugykla yra paprasčiausias saugojimo modelis. Mes visi esame susipažinę su DAS; tai yra modelis, kurį naudoja dauguma nešiojamųjų kompiuterių, telefonų ir stalinių kompiuterių. Pagrindinis DAS vienetas yra pats kompiuteris; serverio saugykla negali būti atskirta nuo paties serverio. Telefono atveju fiziškai neįmanoma pašalinti saugyklos iš skaičiavimo, tačiau net ir serverių atveju, kai teoriškai įmanoma ištraukti diskų įrenginius, kai diskas yra atskiriamas nuo serverio, jis paprastai ištrinamas prieš pakartotinis naudojimas. SCSI ir SATA yra DAS protokolų pavyzdžiai.

SAN. Galų gale saugyklų pramonė pripažino saugyklos atskyrimo nuo skaičiavimo naudingumą. Užuot pritvirtinę diskus prie kiekvieno atskiro kompiuterio, visus diskus įdėjome į vieną serverių grupę ir per diską pasiekėme tinklu. Tai supaprastina saugyklos valdymo užduotis, tokias kaip atsarginės kopijos ir gedimų taisymas. Šis saugyklos ir skaičiavimo padalijimas dažnai vadinamas dalijamąja saugykla, nes keli kompiuteriai naudos vieną saugyklos telkinį.

Paprasčiausia buvo bendrauti tarp kliento ir serverio per tinklą naudojant tuos pačius (arba labai panašius) blokavimo protokolus, kurie buvo naudojami bendraujant su vietoje pritaisytais diskų įrenginiais. Tokiu būdu veikiama saugykla vadinama saugyklos tinklu. „Fibre Channel“ ir „iSCSI“ yra SAN protokolų pavyzdžiai.

SAN sistemoje administratorius grupuos diskų rinkinį (arba dalį jų) į LUN (loginį vienetą), kuris tada elgiasi kaip vienas disko įrenginys prie išorinių kompiuterių. LUN yra pagrindinis įrenginys, naudojamas valdyti SAN saugyklą.

NAS. Nors SAN leidžia mums perkelti LUN iš vieno kompiuterio į kitą, jų naudojami blokavimo protokolai nebuvo sukurti tuo pačiu LUN duomenimis dalytis tarp kompiuterių. Norint leisti tokį dalijimąsi, mums reikia naujos rūšies saugyklos, sukurtos vienu metu prieigai. Šioje naujo tipo saugykloje mes bendraujame su saugykla naudodami failų sistemos protokolus, kurie labai panašūs į vietiniuose kompiuteriuose veikiančias failų sistemas. Ši saugykla yra žinoma kaip prie tinklo prijungta saugykla. NFS ir SMB yra NAS protokolų pavyzdžiai.

Failų sistemos abstrakcija leidžia keliems serveriams vienu metu pasiekti tuos pačius duomenis. Keli serveriai gali skaityti tą patį failą tuo pačiu metu, o keli serveriai vienu metu gali įdėti naujus failus į failų sistemą. Taigi NAS yra labai patogus bendrų naudotojų ar programų duomenų modelis.

NAS saugykla leidžia administratoriams paskirstyti saugyklos dalis į atskiras failų sistemas. Kiekviena failų sistema yra viena vardų sritis, o failų sistema yra pagrindinis NAS tvarkymo vienetas.

Virtuali saugykla

Virtualizacija pakeitė šiuolaikinio duomenų centro kraštovaizdį saugojimui, kaip ir skaičiavimams. Kaip fizinės mašinos buvo suskaidytos į virtualias mašinas, taip pat ir į virtualius diskus.

Virtualizacijos metu hipervizorius pateikia imituojamą aparatinės įrangos aplinką kiekvienai virtualiajai mašinai, įskaitant kompiuterį, atmintį ir saugyklą. „VMware“, pradinis šiuolaikinis hipervizorius, pasirinko imituoti vietinius fizinių diskų įrenginius kaip būdą suteikti kiekvieno VM saugyklą. Kitaip tariant, „VMware“ pasirinko vietinio disko įrenginio (DAS) modelį kaip būdą atskleisti saugyklą virtualioms mašinoms.

Kaip pagrindinis DAS saugyklos vienetas yra fizinė mašina, pagrindinis virtualiosios disko saugyklos vienetas yra VM. Virtualieji diskai nėra eksponuojami kaip savarankiški objektai, bet kaip tam tikros virtualios mašinos dalis, lygiai taip pat, kaip lokalieji diskai yra konceptualiai fizinio kompiuterio dalis. Kaip ir DAS, virtualus diskas gyvena ir miršta su pačiu VM; jei VM bus ištrintas, tada bus ištrintas ir virtualusis diskas.

Daugelyje įprastų virtualizacijos platformų naudojamas virtualaus disko saugojimo modelis. Pvz., Saugojimas „VMware vSphere“, „Microsoft Hyper-V“, „Red Hat Enterprise Virtualization“ ir „Xen“ aplinkose yra valdomas ir prijungiamas panašiai.

Virtualiųjų diskų diegimas

Kadangi „VMware“ norėjo ir toliau teikti virtualiosioms mašinoms bendros saugyklos pranašumus, ji negalėjo pasikliauti DAS protokolu įgyvendindama virtualius diskus. Kitas akivaizdus pasirinkimas būtų naudoti SAN, nes SAN LUN labai primena vietinį disko įrenginį.

Tačiau fiziniai LUN turi apribojimų, leidžiančių iššūkius pritaikyti virtualiems diskams. Virtualizuota aplinka sujungia keletą loginių kompiuterių į vieną fizinį serverį, o tai reiškia, kad tam tikrame pagrindiniame kompiuteryje esančių virtualių diskų skaičius bus daug didesnis nei kompiuterio fizinių LUN skaičius fizinėje aplinkoje. Maksimalus LUN, kuriuos galima prijungti prie nurodyto fizinio serverio, skaičius buvo per mažas, kad palaikytų reikiamą virtualių diskų skaičių.

Galbūt dar svarbiau, kad virtualieji diskai, kaip ir virtualiuose procesoriuose, turi būti logiški objektai, kuriuos galima kurti, sunaikinti ir perkelti programiškai, ir tai nėra operacijos, kurioms atlikti buvo skirta SAN saugykla. Pvz., „VMware“ reikėjo dinamiškai perkelti VM tarp fizinių kompiuterių, kuriems perkėlimo metu reikėjo bendrosios saugyklos prieigos.

Dėl šių priežasčių „VMware“ pasirinko virtualius diskus įdiegti kaip failus failų sistemoje (NFS) arba kaip paskirstytą failų sistemą (VMFS) SAN, o ne kaip neapdorotus LUN.

Nuo saugojimo protokolų iki saugojimo modelių

Tai, kad „VMware“ pasirinko įdiegti virtualius diskus, DAS stiliaus blokų saugojimo modelį, be NAS ar SAN, iliustruoja vieną iš įdomių šiuolaikinių duomenų centrų saugojimo ypatybių. Kadangi virtualiosios mašinos IO yra perduodamas programinei įrangai, esančiai hipervizoriuje, o ne aparatinei įrangai įrenginio magistralėje, VM naudojamam protokolui bendrauti su hipervizoriumi nereikia atitikti protokolo, kurį hipervizorius naudoja bendraujant su pats saugojimas.

Tai leidžia atskirti saugyklos modelį, kurį veikia VM ir administratorius, ir saugojimo protokolą, kurį hipervizorius naudoja faktiškai duomenims saugoti. Virtualų diskų atveju „VMware“ juos sukūrė pagal DAS saugyklos modelį, tada panaudojo NAS saugojimo protokolą jiems įgyvendinti.

Tai galingas netiesioginis sluoksnis; tai suteikia mums galimybę maišyti ir suderinti saugojimo modelius ir saugojimo protokolus ir netgi dinamiškai pakeisti saugojimo protokolą, nepaveikiant virtualių mašinų. Pvz., Virtualieji diskai yra įgyvendinami naudojant NFS failus, VMFS failus, saugomus „Fibre Channel LUN“, ar net („VVols“ arba „Virtualūs tūriai“) tiesiogiai kaip „iSCSI LUN“. Taikymas yra visiškai skaidrus programai, nes galiausiai visi šie protokolai VM ir administratoriui atrodys vienodai; jie atrodys kaip vietiniai, fiziniai diskų įrenginiai, prijungti prie VM.

Taigi daugumos viešųjų debesų infrastruktūrų programų kūrėjas negali žinoti, koks saugojimo protokolas naudojamas; iš tikrųjų protokolas gali net dinamiškai pasikeisti. Mes nežinome, kokį saugojimo protokolą „Amazon“ naudoja „Elastic Block Storage“, taip pat mums nėra svarbu tai žinoti.

Dėl saugojimo modelio ir saugojimo protokolo atskyrimo saugojimo protokolas tampa infrastruktūros problema, pirmiausia svarbia sąnaudoms ir našumui, o ne programai pritaikytu sprendimu, kuris diktuoja funkcionalumą.

Debesies saugykla

Duomenų centro kraštovaizdis vėl keičiasi, kai virtualizuotos aplinkos virsta debesų aplinkomis. Debesų aplinka apima virtualaus disko modelį, pradėtą ​​virtualizuoti, ir pateikia papildomų modelių, leidžiančių visiškai virtualizuoti saugyklos kaminą. Debesų aplinka bando virtualizuoti visą saugyklos kaminą, kad galėtų teikti savitarną ir aiškiai atskirti infrastruktūrą ir programas.

Debesų aplinka būna įvairi. Juos įmonės gali įgyvendinti kaip privačius debesis, naudodamos tokias aplinkas kaip „OpenStack“, „CloudStack“ ir „VMware vRealize Suite“. Juos taip pat gali įgyvendinti paslaugų teikėjai kaip viešieji debesys, tokie kaip „Amazon Web Services“, „Microsoft Azure“ ir „Rackspace“.

Įdomu tai, kad debesų aplinkoje naudojami saugojimo modeliai atspindi tuos, kurie naudojami fizinėje aplinkoje. Tačiau, kaip ir virtualiuose diskuose, jie yra laikymo modeliai, išskirti iš kelių saugojimo protokolų, kuriuos galima naudoti jiems įgyvendinti.

Egzempliorių saugykla: virtualūs diskai debesyje

Virtuali disko saugojimo modelis yra pagrindinis (arba vienintelis) modelis, skirtas laikyti įprastose virtualizuotose aplinkose. Tačiau debesų aplinkoje šis modelis yra vienas iš trijų. Todėl modeliui suteikiamas konkretus pavadinimas debesų aplinkose: egzempliorių saugykla, ty saugykla, suvartojama kaip įprasti virtualūs diskai.

Svarbu pažymėti, kad egzempliorių saugykla yra saugyklos modelis, o ne saugojimo protokolas, ir ją galima įgyvendinti keliais būdais. Pavyzdžiui, egzempliorių saugykla kartais įgyvendinama naudojant DAS pačiuose skaičiavimo mazguose. Tokiu būdu jis dažnai vadinamas trumpalaikiu saugojimu, nes saugojimas paprastai nėra labai patikimas.

Egzempliorių saugykla taip pat gali būti įgyvendinta kaip patikima saugykla naudojant NAS arba tūrio saugyklą - antrą toliau aprašytą saugyklos modelį Pvz., „OpenStack“ leidžia vartotojams įdiegti egzempliorių saugyklą kaip trumpalaikę saugyklą pagrindiniuose kompiuteriuose, kaip failus NFS prijungimo taškuose arba kaip „Cinder“ tomus, naudojant paleidimą iš tūrio.

Tūrio saugojimas: SAN nenurodo fizinio

Tačiau egzempliorių saugojimui yra trūkumų. „Cloud-native“ programų kūrėjai dažnai aiškiai išskiria konfigūracijos duomenis, pvz., OS ir programų duomenis, nuo vartotojo duomenų, tokių kaip duomenų bazių lentelės ar duomenų failai. Paskirstydami du, kūrėjai gali padaryti konfigūraciją laikiną ir atkuriamą, tuo pačiu išlaikydami didelį vartotojo duomenų patikimumą.

Šis skirtumas savo ruožtu veda prie kito tipo saugyklos: tūrio saugyklos, hibridinio saugyklos ir SAN. Tomas yra pagrindinis tūrio kaupimo vienetas, o ne VM. Tūrį galima atskirti nuo vienos VM ir pritvirtinti prie kitos. Tačiau, kaip ir virtualus diskas, tūris masteliu ir abstrakcija labiau primena failą nei LUN. Priešingai nei saugykloje, laikoma, kad tomų saugykla yra labai patikima ir dažnai naudojama vartotojo duomenims.

„OpenStack“ „Cinder“ yra tūrio parduotuvės pavyzdys, kaip ir nepriklausoma „Docker“ tūrio abstrakcija. Dar kartą atkreipkite dėmesį, kad tomų saugykla yra saugyklos modelis, o ne saugojimo protokolas. Talpykla gali būti įdiegta failų protokoluose, pvz., NFS, arba blokuoti protokolus, pvz., „ISCSI“, skaidriai programai.

Objekto saugojimas: žiniatinklio mastelio NAS

Natūralioms debesies programoms taip pat reikia namų, kuriuose būtų dalijamasi tarp VM, tačiau joms dažnai reikia vardų sričių, kurias būtų galima keisti į kelis duomenų centrus geografiniuose regionuose. Objektų saugykla suteikia būtent tokią saugyklą. Pavyzdžiui, „Amazon“ S3 suteikia vieną loginę vardų sritį visame regione ir, be abejo, visame pasaulyje. Norint pasiekti šią skalę, S3 reikėjo paaukoti tvirtą nuoseklumą ir smulkius įprasto NAS atnaujinimus.

Objektų saugykloje pateikiama į failą panaši abstrakcija, vadinama objektu, tačiau ji užtikrina galimą nuoseklumą. Tai reiškia, kad nors visi klientai galiausiai gaus vienodus atsakymus į savo užklausas, jie gali laikinai gauti skirtingus atsakymus. Šis nuoseklumas yra panašus į „Dropbox“ teikiamą nuoseklumą tarp dviejų kompiuterių; klientai gali laikinai nukrypti nuo sinchronizacijos, bet galiausiai viskas sutaps.

Tradicinėse objektų saugyklose taip pat pateikiamas supaprastintas duomenų operacijų rinkinys, pritaikytas naudoti per didelės delsos WAN ryšius: objektų sąrašas „grupėje“, objekto viso skaitymas ir objekto duomenų pakeitimas visiškai naujais duomenimis. Šis modelis suteikia pagrindinį operacijų rinkinį nei NAS, kuris leidžia programoms skaityti ir rašyti mažus blokus faile, sutrumpinti failus į naujus dydžius, perkelti failus iš katalogų ir pan.

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