Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Tehnologije za poboljšanje performansi zasnovane na korišćenju SSD-a i koje se široko koriste u sistemima za skladištenje već su dugo izmišljene. Prije svega, to je korištenje SSD-a kao skladišnog prostora, što je 100% efikasno, ali skupo. Stoga se koriste zamorne tehnologije i tehnologije keširanja, gdje se SSD-ovi koriste samo za najpopularnije („vruće“) podatke. Niziranje je dobro za scenarije dugotrajne (dani-sedmice) upotrebe „vrućih“ podataka. Keširanje je, naprotiv, za kratkoročnu (minuti-sati) upotrebu. Obje ove opcije su implementirane u sistemu za skladištenje QSAN XCubeSAN. U ovom članku ćemo pogledati implementaciju drugog algoritma - SSD keširanje.

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Suština tehnologije keširanja SSD-a je korištenje SSD-a kao posredne keš memorije između tvrdih diskova i RAM-a kontrolera. Performanse SSD-a su, naravno, niže od performansi vlastite keš memorije kontrolera, ali je volumen za red veličine veći. Dakle, dobijamo određeni kompromis između brzine i jačine zvuka.

Indikacije za korištenje SSD keš memorije za čitanje:

  • Prevladavanje operacija čitanja nad operacijama pisanja (najčešće tipično za baze podataka i web aplikacije);
  • Prisutnost uskog grla u obliku performansi niza tvrdog diska;
  • Količina potrebnih podataka je manja od veličine SSD keša.

Indikacije za korišćenje SSD keš memorije za čitanje+pisanje su iste, osim prirode operacija – mešoviti tip (na primer, server datoteka).

Većina dobavljača skladišta koristi SSD keš memoriju samo za čitanje u svojim proizvodima. Osnovna razlika QSAN Oni također pružaju mogućnost korištenja keša za pisanje. Da biste aktivirali funkciju SSD keširanja u QSAN sistemima za skladištenje, morate kupiti posebnu licencu (isporučuju se elektronski).

SSD keš memorija u XCubeSAN-u je fizički implementirana u obliku odvojenih SSD keš spremišta. U sistemu ih može biti do četiri. Svaki bazen, naravno, koristi svoj vlastiti set SSD-ova. I već u svojstvima virtualnog diska određujemo hoće li koristiti keš spremište i koje. Omogućavanje i onemogućavanje upotrebe keša za volumene može se obaviti na mreži bez zaustavljanja I/O. Također možete vruće dodati SSD-ove u bazen i ukloniti ih odatle. Prilikom kreiranja predmemorije SSD bazena, morate odabrati u kojem će načinu rada raditi: samo za čitanje ili čitanje+pisanje. O tome zavisi njegova fizička organizacija. S obzirom da može postojati nekoliko spremišta keša, njihova funkcionalnost može biti različita (to jest, sistem može istovremeno imati spremišta keša za čitanje i čitanje+pisanje).

Ako se koristi spremište keš memorije samo za čitanje, može se sastojati od 1-8 SSD-ova. Diskovi ne moraju biti istog kapaciteta i istog proizvođača, jer su kombinovani u NRAID+ strukturu. Svi SSD-ovi u bazenu su zajednički. Sistem samostalno pokušava da paralelizira dolazne zahtjeve između svih SSD-ova kako bi postigao maksimalne performanse. Ako jedan od SSD-ova pokvari, neće se dogoditi ništa loše: na kraju krajeva, keš sadrži samo kopiju podataka pohranjenih na nizu tvrdih diskova. Samo će se količina dostupne SSD keš memorije smanjiti (ili postati nula ako koristite originalnu SSD keš memoriju s jednog diska).

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Ako se keš memorija koristi za operacije čitanja + pisanja, tada bi broj SSD-ova u spremištu trebao biti višekratnik dva, budući da se sadržaj preslikava na parove diskova (koristi se struktura NRAID 1+). Dupliciranje keš memorije je neophodno jer može sadržavati podatke koji još nisu upisani na čvrste diskove. I u ovom slučaju, kvar SSD-a iz keš spremišta bi doveo do gubitka informacija. U slučaju NRAID 1+, kvar SSD-a će jednostavno dovesti do toga da će keš biti prebačen u stanje samo za čitanje, a nenapisani podaci će biti izbačeni na niz tvrdog diska. Nakon zamjene neispravnog SSD-a, keš će se vratiti u prvobitni način rada. Usput, za veću sigurnost, možete dodijeliti namjenske vruće rezerve kešu za čitanje + upisivanje.

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Kada koristite funkciju SSD keširanja u XCubeSAN-u, postoji niz zahtjeva za količinu memorije kontrolera za pohranu: što je više sistemske memorije, to će veće spremište keš memorije biti dostupno.

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Za razliku od većine proizvođača sistema za skladištenje podataka, koji nude samo opciju uključivanja/isključivanja SSD keš memorije, QSAN pruža više opcija. Konkretno, možete odabrati način rada keša ovisno o prirodi opterećenja. Postoje tri unapred postavljena šablona koji su po svom radu najbliži odgovarajućim servisima: baza podataka, sistem datoteka, web servis. Osim toga, administrator može kreirati vlastiti profil postavljanjem potrebnih vrijednosti parametara:

  • Veličina bloka (Cache Block Size) – 1/2/4 MB
  • Broj zahtjeva za čitanje bloka tako da se kopira u keš memoriju (Populate-on-Read Threshold) – 1..4
  • Broj zahtjeva za pisanje bloka tako da se kopira u keš memoriju (Populate-on-Write Threshold) – 0..4

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Profili se mogu menjati u hodu, ali, naravno, sa sadržajem resetovanja keša i njegovim novim „zagrevanjem“.

S obzirom na princip rada SSD keša, možemo istaknuti glavne operacije pri radu s njim:

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Čitanje podataka kada nisu u kešu

  1. Zahtjev od hosta stiže kontroloru;
  2. Pošto se traženi ne nalaze u SSD kešu, oni se čitaju sa tvrdih diskova;
  3. Pročitani podaci se šalju hostu. Istovremeno se vrši provjera da li su ovi blokovi „vrući“;
  4. Ako da, onda se kopiraju u SSD keš za dalju upotrebu.

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Čitanje podataka kada su prisutni u kešu

  1. Zahtjev od hosta stiže kontroloru;
  2. Pošto se traženi podaci nalaze u SSD kešu, oni se čitaju odatle;
  3. Pročitani podaci se šalju hostu.

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Zapisivanje podataka kada se koristi keš memorija za čitanje

  1. Zahtjev za pisanje od hosta stiže kontroleru;
  2. Podaci se zapisuju na čvrste diskove;
  3. Odgovor koji ukazuje na uspješno snimanje se vraća hostu;
  4. Istovremeno se provjerava da li je blok “vruć” (upoređuje se parametar Populate-on-Write Threshold). Ako da, onda se kopira u SSD keš memoriju za kasniju upotrebu.

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Pisanje podataka kada se koristi predmemorija za čitanje+pisanje

  1. Zahtjev za pisanje od hosta stiže kontroleru;
  2. Podaci se upisuju u SSD keš memoriju;
  3. Odgovor koji ukazuje na uspješno snimanje se vraća hostu;
  4. Podaci iz SSD keš memorije se zapisuju na čvrste diskove u pozadini;

Provjerite u akciji

Test stalak

2 servera (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) su povezana sa dva porta preko Fiber Channel 16G direktno na XCubeSAN XS5224D sistem skladištenja (16GB RAM/kontroler).

Koristili smo 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, kombinovano u RAID5 (15+1), za niz podataka i 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200GB, SAS 100BSS12, SASXNUMX

Kreirana su 2 volumena: po jedan za svaki server.

Test 1. SSD keš memorija samo za čitanje sa 1-8 SSD-ova

SSD predmemorija

  • Tip I/O: Prilagodba
  • Veličina bloka keš memorije: 4MB
  • Prag za popunjavanje pri čitanju: 1
  • Prag za popunjavanje prilikom pisanja: 0

I/O uzorak

  • Alat: IOmeter V1.1.0
  • Radnici: 1
  • Izvanredno (dubina reda): 128
  • Specifikacije pristupa: 4KB, 100% čitanje, 100% nasumično

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

U teoriji, što je više SSD-ova u keš grupi, to su bolje performanse. U praksi se to i potvrdilo. Jedino značajno povećanje broja SSD-ova s ​​malim brojem volumena ne dovodi do eksplozivnog efekta.

Test 2. SSD keš memorija u načinu čitanja + pisanja sa 2-8 SSD-ova

SSD predmemorija

  • Tip I/O: Prilagodba
  • Veličina bloka keš memorije: 4MB
  • Prag za popunjavanje pri čitanju: 1
  • Prag za popunjavanje prilikom pisanja: 1

I/O uzorak

  • Alat: IOmeter V1.1.0
  • Radnici: 1
  • Izvanredno (dubina reda): 128
  • Specifikacije pristupa: 4KB, 100% Write, 100% Random

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Isti rezultat: eksplozivan rast performansi i skaliranje kako se broj SSD-ova povećava.

U oba testa, količina radnih podataka bila je manja od ukupne veličine keša. Stoga su s vremenom svi blokovi kopirani u keš memoriju. A posao je, zapravo, već obavljen sa SSD-ovima, praktički bez utjecaja na čvrste diskove. Svrha ovih testova je bila da jasno pokažu efikasnost zagrevanja keša i skaliranja njegovih performansi u zavisnosti od broja SSD-ova.

Vratimo se sada na zemlju i provjerimo realniju situaciju, kada je količina podataka veća od veličine keša. Da bi test prošao u razumnom vremenskom periodu (period „zagrevanja“ keša uveliko se povećava kako se veličina volumena povećava), ograničićemo veličinu volumena na 120 GB.

Test 3. Emulacija baze podataka

SSD predmemorija

  • I/O Tip: Baza podataka
  • Veličina bloka keš memorije: 1MB
  • Prag za popunjavanje pri čitanju: 2
  • Prag za popunjavanje prilikom pisanja: 1

I/O uzorak

  • Alat: IOmeter V1.1.0
  • Radnici: 1
  • Izvanredno (dubina reda): 128
  • Specifikacije pristupa: 8KB, 67% čitanje, 100% nasumično

Implementacija SSD keširanja u QSAN XCubeSAN sistem skladištenja

Presuda

Očigledan zaključak je, naravno, dobra efikasnost upotrebe SSD keš memorije za poboljšanje performansi bilo kojeg sistema za skladištenje podataka. Primijenjeno na QSAN XCubeSAN Ova izjava se u potpunosti primjenjuje: funkcija SSD keširanja je savršeno implementirana. To se tiče podrške za režime čitanja i čitanja + pisanja, fleksibilnih postavki za bilo koji scenarij upotrebe, kao i ukupnih performansi sistema u cjelini. Stoga, za vrlo razumnu cijenu (cijena licence je uporediva sa cijenom 1-2 SSD-a), možete značajno povećati ukupne performanse.

izvor: www.habr.com

Dodajte komentar