VSAN

VMware vSAN ir lielisks datu masīva virtualizācijas risinājums, kas sniedz iespēju veidot kopīgotu datu glabāšanas risinājumu, izmantojot servera lokālos diskus, tos apvienojot kopīgā pool’ā, ietaupot datucentra vietu un enerģiju. vSAN ir pieejami mūsdienīgi datu samazināšanas algoritmi – kompresija/deduplikācija, “multisite deployment”, veiktspējas politikas un citi VMware iebūvētie rīki, kurus iespējams pārvaldīt izmantojot vienotu vSphere HTML5 vadības paneli.

Viens no vSAN  būtiskākajiem konceptiem ir datu aizsardzība. Aizsardzībā tiek izmantoti termini Failures-to-tolerate, primary un secondary failures, dažādi RAID līmeņi. Lai izvairītos no šī apjukuma, šajā rakstā apskatīsim kā darbojas vSAN datu aizsardzība.

Hardware protection vs VM

Datu aizsardzība vSAN darbojas nedaudz citādi, salīdzinot ar ierastajiem disku masīviem.

Ierasti disku masīvs tiek pasargāts izmantojot dažādas RAID funkcijas. Proti, ja kāds no diskiem beidz darboties, RAID nodrošina, ka dati netiek zaudēti un joprojām ir pieejami. Papildus, pielietojot rezerves diskus, varam izveidot pret kļūdām ļoti noturīgu risinājumu un tas ir loģiski, ja visu serveru vidi apkalpo viens datu masīvs.

vSAN arī tiek izmantots RAID, bet ne datu aizsardzībā. Situācijās, kad tiek izmantoti NVMe diski, tas būtu pārāk liels slogs CPU. Arī ar standarta serveru kontrolieriem NVMe RAID izveidot nav iespējams, kontrolieri vienkārši būtu vājā vieta jaudīgajos NVMe un šāds risinājums zaudētu jēgu.

vSAN datus aizsargā nevis globāli iekārtas līmenī (tiek aizsargāts viss masīvs vai datu apjomi (volumes)), bet gan virtuālo mašīnu līmenī. Katrai VM ir sava aizsardzības politika, pēc kuras tā tiek replicēta uz pārējiem hostiem klāsterī. Ja ar hostu kaut kas atgadās – bojāts disks, tīkls vai paša hosta kļūda, ietekmētās VM ar attiecīgo aizsardzības politiku tiks startētas citur (kopā ar vSphere HA). Gandrīz tā itkā katra VM būtu uz sava mini masīva.

Šādi ir iespējams panākt daudz augstāku datu aizsardzības precizitāti, nav nepieciešams “domāt uz priekšu” dažādu aplikāciju datu apjoma (volume) lieluma izveidē un dati tiek pasargāti tik cik ir izmantoti.

RAID līmeņi

Kā minēts RAID nepiedalās datu aizsardzībā, vSAN kontekstā RAID kontrolē to kā dati tiek sadalīti starp serveriem klāsterī.

RAID1 nozīmē, ka katrai VM ir kopija, kas glabājas uz kāda cita servera klāsterī, jeb spogulis. Servera kļūdas gadījumā šī kopija tiks izmantota, lai nodrošinātu VM augstu pieejamību.

Papildus VM replikai tiek izmantots arī Witness fails – tas ir mazs fails, kas satur informāciju par replikas partneriem un to stausiem klāsterī. Kļūdas gadījumā ar Quorum Witness tiek panākts >50% nepieciešamo balsu, lai VM dati būtu pieejami citā serverī

Ātruma ziņā RAID1 ir visātrākais, visas darbības notiek ar primāro VM objektu, sekundārais attiecīgi tiek pielabots, to pielieto storage atkarīgās VM, tomēr tas aizņem visvairāk vietas. VM aizņem 200%, stretched klāsteros – 400% vietas.

RAID 5/6

Izmantojot RAID 5/6, VM tiek sadalīta daļās. RAID5 tās ir 3 daļas, RAID6 – 4. Šīs daļas attiecīgi tiek izkārtotas starp klāstera serveriem.

.

RAID5/6 darbojas ar zemāku datu glabāšanas veiktspēju (storage performance), jo VM darbojas no visiem izmantotajiem serveriem reizē. Šī iemesla dēļ RAID 5/6 ir pieejams tikai uz all-flash iekārtām. Lielākais RAID 5/6 ieguvums ir vietas ziņā, VM šo politiku aizņems 133%, kas ir ~30% ieguvums salīdzinājumā ar RAID1. RAID 5/6 politikas izmanto ne tik storage jūtīgām VM un ar domu ietaupīt vietu.

Failures to tolerate

vSAN kontekstā, datu aizsardzības līmeni nosaka parametrs FTT, jeb failures to tolerate.

Šis rādītājs nosaka kļūdu daudzumu, kuras virtuālā mašīna var pieļaut sava fault domain ietvaros, kur fault domain parasti ir serveris uz kura tiek glabāti VM dati.

Varam aplūkot visbiežāk izmantotās VM datu aizsardzības politikas:

FTT=1, RAID=1

RAID1 scenārijā, kļūmei notiekot uz 1. servera, VM dati turpina būt pieejami uz citiem klāsterī esošajiem serveriem. FTT=1 RAID=1 minimālais hostu skaits ir 3, kur divi serveri tiek izmantoti datiem, bet trešais Quorum Witness komponentei.

FTT=1, RAID=5

RAID5 scenārijā, kļūmei notiekot 3. serverī, VM turpina būt pieejama, jo tā vēl joprojām iekļaujas Failures-to-tolerate=1 politikā, izkritušā servera dati ir pieejami 4. servera paritātē. Minimālais hostu skaits nepieciešams FTT=1 RAID=5 ir 4.

No šī varētu secināt, ka RAID1 un RAID5/6, nosacīti, tomēr atbild par datu aizsargāšanu, jo abiem līmeņiem ir vienāds skaits kļūmju no kuriem tie var pasargāt. Tomēr, ir svarīgi Failures-to-tolerate nejaukt ar RAID, jo var pastāvēt arī FTT=2 RAID=1 deploymenti, kur VM tiks blakus izveidotas 2 kopijas, vai FTT=2 RAID=5/6, kur VM tiks sadalīta 4 datu un 2 paritātes daļās šādi ar vienādu RAID līmeni pasargājot no vairākām serveru kļūmēm reizē.

Gadījumā, kad kļūst nepieejami 2 vai vairāk serveri, VM dati vairs nav pieejami, ja vien iepriekš VM netika uzstādīta FTT=2 politika.

Politikas un “Rebuild”

Virtuālajās mašīnās, kas darbojas uz vSAN klāstera, tiek attiecinātas storage politikas. Šeit tad arī tiek norādīti iepriekšminētie aizsardzības līmeņi (FTT=1/2 RAID1/5/6). Papildu aizsardzībai iespējams norādīt kompresijas un deduplikācijas, IOPS un citus parametrus.

Notiekot servera kļūdai, virtuālajai mašīnai joprojām ir attiecināta noteiktā datu nodrošinājuma politika (šajā gadījumā FTT=1, RAID=1), ja servera kļūda pēc noklusējuma stundas laikā netiek salabota, lai panāktu VM atbilstību ar politiku tā tiek atjaunota uz citiem atlikušajiem serveriem klāsterī.

Šī iemesla dēļ ir svarīgi plānot papildus vietu minētajām servera kļūdām un citām darbībām, piemēram, maintenance vai upgrade. VMware vispārēja rekomendācija ir klāsterī turēt par vienu serveri vairāk kā RAID līmeņa minimālā serveru skaita prasība. RAID1 gadījumā tie būtu 4, RAID5 – 5 un RAID6 – 7 serveri.

Varam secināt, ka vSAN kontekstā RAID ir tikai veids kā dati tiek sadalīti starp serveriem un patiesā datu aizsardzība notiek izmantojot Failures-to-tolerate metodi. Datu aizsardzība notiek VM līmenī un tā tiek definēta izmantojot storage politikas.

Ar vSAN ir iespējams iepazīties arī pašam izmantojot VMWare Hands-on-Labs, kur testa vidē ir iespējams veikt darbības ar vSAN klāsteriem, bet ja vēlaties, lai mēs vairāk izstāstītu par vSAN, sazinieties!