Az SSD-k használatán alapuló és a tárolórendszerekben széles körben használt technológiákat a teljesítmény javítására már régóta feltalálták. Először is az SSD tárhelyként való használata, ami 100%-ban hatékony, de drága. Ezért fárasztó és gyorsítótárazási technológiákat használnak, ahol az SSD-ket csak a legnépszerűbb ("forró") adatokhoz használják. A rétegezés jó a „forró” adatok hosszú távú (napok-hetek) felhasználásának forgatókönyvei esetében. A gyorsítótárazás éppen ellenkezőleg, rövid távú (perc-óra) használatra szolgál. Mindkét lehetőség megvalósul a tárolórendszerben QSAN XCubeSAN. Ebben a cikkben megvizsgáljuk a második algoritmus megvalósítását - SSD gyorsítótár.
Az SSD gyorsítótárazási technológia lényege, hogy az SSD-ket köztes gyorsítótárként használják a merevlemezek és a vezérlő RAM-ja között. Az SSD teljesítménye természetesen alacsonyabb a vezérlő saját gyorsítótárának teljesítményénél, a hangerő azonban egy nagyságrenddel nagyobb. Ezért bizonyos kompromisszumot kapunk a sebesség és a hangerő között.
Az SSD gyorsítótár használatának jelzései olvasáshoz:
Az olvasási műveletek túlsúlya az írási műveletekkel szemben (leggyakrabban adatbázisokra és webes alkalmazásokra jellemző);
Szűk keresztmetszetek jelenléte a merevlemez-tömb teljesítményében;
A szükséges adatok mennyisége kisebb, mint az SSD gyorsítótár mérete.
Az írás-olvasási SSD gyorsítótár használatára vonatkozó jelzések ugyanazok, kivéve a műveletek jellegét – vegyes típusú (például fájlszerver).
A legtöbb tárológyártó csak olvasható SSD-gyorsítótárat használ termékeiben. Az alapvető különbség QSAN Lehetővé teszik a gyorsítótár használatát íráshoz is. Az SSD gyorsítótár funkciójának aktiválásához a QSAN tárolórendszerekben külön licencet kell vásárolnia (elektronikusan szállítva).
Az XCubeSAN SSD-gyorsítótára fizikailag különálló SSD-gyorsítótár-készletek formájában valósul meg. Legfeljebb négy lehet a rendszerben. Természetesen mindegyik készlet a saját SSD-készletét használja. És már a virtuális lemez tulajdonságaiban meghatározzuk, hogy használ-e gyorsítótárat, és melyiket. A kötetek gyorsítótárhasználatának engedélyezése és letiltása az I/O leállítása nélkül is elvégezhető online. SSD-ket is hozzáadhat a készlethez, és eltávolíthatja őket onnan. SSD-készlet-gyorsítótár létrehozásakor ki kell választania, hogy milyen módban fog működni: csak olvasható vagy írás+olvasás. Fizikai felépítése ettől függ. Mivel több cache-készlet is lehet, ezek funkcionalitása eltérő lehet (vagyis a rendszernek egyszerre lehet olvasási és írási-olvasási gyorsítótárkészlete is).
Ha csak olvasható gyorsítótárat használunk, az 1-8 SSD-ből állhat. A lemezeknek nem kell azonos kapacitásúaknak és ugyanazon gyártónak lenniük, mivel NRAID+ struktúrává egyesítik őket. A készletben lévő összes SSD megosztott. A rendszer egymástól függetlenül próbálja párhuzamosítani a bejövő kéréseket az összes SSD között a maximális teljesítmény elérése érdekében. Ha valamelyik SSD meghibásodik, semmi rossz nem történik: elvégre a gyorsítótár csak a merevlemezek tömbjén tárolt adatok másolatát tartalmazza. Csupán arról van szó, hogy a rendelkezésre álló SSD-gyorsítótár mennyisége csökken (vagy nullává válik, ha az eredeti SSD-gyorsítótárat egy meghajtóról használja).
Ha a gyorsítótárat olvasási + írási műveletekre használjuk, akkor a készletben lévő SSD-k számának kettőnek kell lennie, mivel a tartalom pár meghajtón tükröződik (az NRAID 1+ struktúra használatos). A gyorsítótár megkettőzésére azért van szükség, mert olyan adatokat tartalmazhat, amelyeket még nem írtak a merevlemezekre. És ebben az esetben az SSD meghibásodása a gyorsítótárból információvesztéshez vezet. Az NRAID 1+ esetén az SSD meghibásodása egyszerűen a gyorsítótár írásvédett állapotba kerüléséhez vezet, és az íratlan adatok a merevlemez-tömbbe kerülnek. A hibás SSD cseréje után a gyorsítótár visszatér eredeti üzemmódjába. Mellesleg, a nagyobb biztonság érdekében dedikált hot tartalékokat rendelhet egy olvasási + írási gyorsítótárhoz.
Az XCubeSAN SSD-gyorsítótár funkciójának használatakor számos követelmény van a tárolóvezérlők memóriájának méretével kapcsolatban: minél több a rendszermemória, annál nagyobb a gyorsítótár-készlet.
A legtöbb tárolórendszer-gyártótól eltérően, akik csak az SSD gyorsítótár be- és kikapcsolását kínálják, a QSAN több lehetőséget kínál. Különösen a gyorsítótár működési módját választhatja ki a terhelés jellegétől függően. Három előre beállított sablon van, amelyek működésükben a legközelebb állnak a megfelelő szolgáltatásokhoz: adatbázis, fájlrendszer, webszolgáltatás. Ezenkívül az adminisztrátor létrehozhat saját profilt a szükséges paraméterértékek beállításával:
Blokkméret (Cache Block Size) – 1/2/4 MB
A blokk beolvasására irányuló kérések száma a gyorsítótárba másolás céljából (feltöltés az olvasáskor küszöbértéke) – 1...4
A blokk gyorsítótárba másolására vonatkozó kérések száma (íráskor feltöltési küszöb) – 0...4
A profilok menet közben is változtathatók, de természetesen a cache tartalmának visszaállításával és az új „bemelegítéssel”.
Figyelembe véve az SSD gyorsítótár működési elvét, kiemelhetjük a fő műveleteket a vele való munka során:
Mivel a kértek nincsenek az SSD gyorsítótárában, a merevlemezekről olvassák be őket;
Az olvasott adatok elküldésre kerülnek a gazdagépnek. Ezzel egyidejűleg ellenőrzik, hogy ezek a blokkok „forrósak”-e;
Ha igen, akkor a rendszer az SSD gyorsítótárába másolja őket további felhasználás céljából.
Olvassa el az adatokat, ha jelen vannak a gyorsítótárban
A hoszttól kérés érkezik a vezérlőhöz;
Mivel a kért adatok az SSD gyorsítótárában vannak, onnan olvassák be;
Az olvasott adatok elküldésre kerülnek a gazdagépnek.
Adatok írása olvasási gyorsítótár használatakor
Írási kérés érkezik a gazdagéptől a vezérlőhöz;
Az adatok merevlemezre íródnak;
A sikeres rögzítést jelző válasz visszakerül a gazdagéphez;
Ezzel egyidejűleg ellenőrzi, hogy a blokk „forró”-e (a Populate-on-Write Threshold paraméter összehasonlításra kerül). Ha igen, akkor a rendszer az SSD gyorsítótárba másolja későbbi használatra.
Adatok írása olvasási+írási gyorsítótár használatakor
Írási kérés érkezik a gazdagéptől a vezérlőhöz;
Az adatok az SSD gyorsítótárába íródnak;
A sikeres rögzítést jelző válasz visszakerül a gazdagéphez;
Az SSD-gyorsítótárból származó adatok merevlemezre íródnak a háttérben;
Ellenőrizze működés közben
Próbapad
2 szerver (CPU: 2 x Xeon E5-2620v3 2.4 Hz / RAM: 32 GB) két porton keresztül kapcsolódik a Fibre Channel 16G-n keresztül közvetlenül az XCubeSAN XS5224D tárolórendszerhez (16 GB RAM/vezérlő).
Az adattömbhöz 16 db Seagate Constellation ES, ST500NM0001, 500 GB, SAS 6 Gb/s, RAID5-ben (15+1) kombinált és 8 db HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, cache, S/AS 100GB, ass.
2 kötet készült: minden szerverhez egy.
Teszt 1. Csak olvasható SSD gyorsítótár 1-8 SSD-ből
Elméletileg minél több SSD van a gyorsítótárban, annál nagyobb a teljesítmény. A gyakorlatban ez beigazolódott. A kis kötetszámú SSD-k számának egyetlen jelentős növekedése nem vezet robbanásszerű hatáshoz.
Ugyanaz az eredmény: robbanásszerű teljesítménynövekedés és méretezés az SSD-k számának növekedésével.
Mindkét tesztben a munkaadatok mennyisége kevesebb volt, mint a gyorsítótár teljes mérete. Ezért idővel az összes blokkot a gyorsítótárba másolták. És a munka valójában már SSD-kkel történt, gyakorlatilag a merevlemezek érintése nélkül. E tesztek célja az volt, hogy egyértelműen bemutassák a gyorsítótár bemelegítésének és a teljesítményének az SSD-k számától függően skálázásának hatékonyságát.
Most térjünk vissza a földre, és nézzünk meg egy reálisabb helyzetet, amikor az adatmennyiség nagyobb, mint a gyorsítótár mérete. Annak érdekében, hogy a teszt ésszerű időn belül sikeres legyen (a gyorsítótár „bemelegítési” időszaka a kötet méretének növekedésével jelentősen megnő), a kötet méretét 120 GB-ra korlátozzuk.
A nyilvánvaló következtetés természetesen az, hogy az SSD-gyorsítótár használatával bármilyen tárolórendszer teljesítménye javítható. Alkalmazva QSAN XCubeSAN Ez az állítás teljes mértékben érvényes: az SSD gyorsítótár funkciója tökéletesen van megvalósítva. Ez vonatkozik az olvasási és olvasási + írási módok támogatására, a rugalmas beállításokra bármilyen felhasználási forgatókönyvhöz, valamint a rendszer egészének teljesítményére. Ezért nagyon ésszerű költséggel (a licenc ára 1-2 SSD költségéhez hasonlítható) jelentősen növelheti az általános teljesítményt.