SSD kešatmiņas ieviešana QSAN XCubeSAN uzglabāšanas sistēmā
Jau sen ir izgudrotas tehnoloģijas veiktspējas uzlabošanai, pamatojoties uz SSD izmantošanu un plaši izmantotas uzglabāšanas sistēmās. Pirmkārt, tā ir SSD kā uzglabāšanas vietas izmantošana, kas ir 100% efektīva, taču dārga. Tāpēc tiek izmantotas nogurdinošas un kešatmiņas tehnoloģijas, kur SSD tiek izmantoti tikai populārākajiem (“karstajiem”) datiem. Līmeņu noteikšana ir piemērota ilgtermiņa (dienas-nedēļas) "karsto" datu izmantošanas scenārijiem. Kešatmiņa, gluži pretēji, ir paredzēta īslaicīgai (minūtes-stundu) lietošanai. Abas šīs iespējas ir ieviestas uzglabāšanas sistēmā QSAN XCubeSAN. Šajā rakstā mēs aplūkosim otrā algoritma ieviešanu - SSD kešatmiņa.
SSD kešatmiņas tehnoloģijas būtība ir SSD izmantošana kā starpposma kešatmiņa starp cietajiem diskiem un kontrollera RAM. SSD veiktspēja, protams, ir zemāka par paša kontrollera kešatmiņas veiktspēju, taču skaļums ir par kārtu lielāks. Tāpēc mēs iegūstam zināmu kompromisu starp ātrumu un skaļumu.
Norādes par SSD kešatmiņas izmantošanu lasīšanai:
Lasīšanas operāciju pārsvars pār rakstīšanas operācijām (visbiežāk raksturīgs datu bāzēm un tīmekļa lietojumprogrammām);
Sašaurinājuma klātbūtne cietā diska masīva veiktspējas veidā;
Nepieciešamo datu apjoms ir mazāks par SSD kešatmiņas lielumu.
Norādes par lasīšanas/rakstīšanas SSD kešatmiņas lietošanu ir vienādas, izņemot darbību būtību – jaukta tipa (piemēram, failu serveris).
Lielākā daļa krātuves pārdevēju savos produktos izmanto tikai lasāmu SSD kešatmiņu. Būtiskā atšķirība QSAN Tie nodrošina iespēju izmantot kešatmiņu arī rakstīšanai. Lai aktivizētu SSD kešatmiņas funkcionalitāti QSAN uzglabāšanas sistēmās, jums ir jāiegādājas atsevišķa licence (piegādāta elektroniski).
SSD kešatmiņa XCubeSAN ir fiziski ieviesta atsevišķu SSD kešatmiņas kopu veidā. Sistēmā var būt līdz četriem no tiem. Katrs pūls, protams, izmanto savu SSD komplektu. Un jau virtuālā diska īpašībās mēs nosakām, vai tas izmantos kešatmiņas pūlu un kurš no tiem. Kešatmiņas izmantošanu sējumiem var iespējot un atspējot tiešsaistē, neapturot I/O. Varat arī karsti pievienot SSD diskus un noņemt tos no turienes. Veidojot SSD pūla kešatmiņu, jāizvēlas, kādā režīmā tas darbosies: tikai lasāms vai lasāms+rakstīšanas. No tā ir atkarīga tā fiziskā organizācija. Tā kā var būt vairāki kešatmiņas pūli, to funkcionalitāte var būt atšķirīga (tas ir, sistēmai vienlaikus var būt gan lasīšanas, gan lasīšanas+rakstīšanas kešatmiņas pūli).
Ja tiek izmantots tikai lasāms kešatmiņas pūls, tas var sastāvēt no 1–8 SSD. Diskiem nav jābūt ar tādu pašu ietilpību un vienam piegādātājam, jo tie ir apvienoti NRAID+ struktūrā. Visi baseinā esošie SSD ir koplietoti. Sistēma neatkarīgi mēģina paralēli ienākošos pieprasījumus starp visiem SSD, lai sasniegtu maksimālu veiktspēju. Ja kāds no SSD diskiem neizdodas, nekas slikts nenotiks: galu galā kešatmiņā ir tikai cieto disku masīvā saglabāto datu kopija. Vienkārši pieejamās SSD kešatmiņas apjoms samazināsies (vai kļūs par nulli, ja izmantosit sākotnējo SSD kešatmiņu no viena diska).
Ja kešatmiņa tiek izmantota lasīšanas un rakstīšanas darbībām, tad SSD skaitam pūlā ir jābūt reizinātam ar diviem, jo saturs tiek atspoguļots disku pāros (tiek izmantota NRAID 1+ struktūra). Kešatmiņas dublēšana ir nepieciešama, jo tajā var būt dati, kas vēl nav ierakstīti cietajos diskos. Un šajā gadījumā SSD kļūme no kešatmiņas pūla izraisītu informācijas zudumu. NRAID 1+ gadījumā SSD kļūme vienkārši novedīs pie tā, ka kešatmiņa tiek pārsūtīta uz tikai lasāmu stāvokli, un nerakstītie dati tiek izmesti cietā diska masīvā. Pēc bojātā SSD nomaiņas kešatmiņa atgriezīsies sākotnējā darbības režīmā. Starp citu, lielākai drošībai varat piešķirt īpašas karstās rezerves daļas lasīšanas un rakstīšanas kešatmiņai.
Izmantojot SSD kešatmiņas funkciju XCubeSAN, ir vairākas prasības attiecībā uz atmiņas kontrolieru atmiņas apjomu: jo vairāk sistēmas atmiņas, jo lielāks būs pieejams kešatmiņas kopums.
Atšķirībā no vairuma uzglabāšanas sistēmu ražotāju, kuri piedāvā tikai iespēju ieslēgt/izslēgt SSD kešatmiņu, QSAN nodrošina vairāk iespēju. Jo īpaši jūs varat izvēlēties kešatmiņas darbības režīmu atkarībā no slodzes veida. Ir trīs iepriekš iestatītas veidnes, kas savā darbībā ir vistuvāk atbilstošajiem pakalpojumiem: datu bāze, failu sistēma, tīmekļa pakalpojums. Turklāt administrators var izveidot savu profilu, iestatot nepieciešamās parametru vērtības:
Tā kā pieprasītie nav SSD kešatmiņā, tie tiek nolasīti no cietajiem diskiem;
Nolasītie dati tiek nosūtīti saimniekdatoram. Tajā pašā laikā tiek pārbaudīts, vai šie bloki ir “karsti”;
Ja jā, tie tiek kopēti SSD kešatmiņā turpmākai lietošanai.
Lasīt datus, kad tie atrodas kešatmiņā
Pie kontroliera pienāk resursdatora pieprasījums;
Tā kā pieprasītie dati atrodas SSD kešatmiņā, tie tiek nolasīti no turienes;
Nolasītie dati tiek nosūtīti saimniekdatoram.
Datu rakstīšana, izmantojot lasīšanas kešatmiņu
Pie kontroliera nonāk resursdatora rakstīšanas pieprasījums;
Dati tiek ierakstīti cietajos diskos;
Atbilde, kas norāda uz veiksmīgu ierakstīšanu, tiek atgriezta saimniekdatoram;
Tajā pašā laikā tiek pārbaudīts, vai bloks ir “karsts” (tiek salīdzināts parametrs Populate-on-Write Threshold). Ja jā, tas tiek kopēts uz SSD kešatmiņu vēlākai lietošanai.
Datu rakstīšana, izmantojot lasīšanas un rakstīšanas kešatmiņu
Pie kontroliera nonāk resursdatora rakstīšanas pieprasījums;
Dati tiek ierakstīti SSD kešatmiņā;
Atbilde, kas norāda uz veiksmīgu ierakstīšanu, tiek atgriezta saimniekdatoram;
Dati no SSD kešatmiņas tiek ierakstīti cietajos diskos fonā;
Pārbaudiet darbībā
Testa stends
2 serveri (CPU: 2 x Xeon E5-2620v3 2.4 Hz / RAM: 32 GB) ir savienoti ar diviem portiem, izmantojot Fibre Channel 16G tieši ar XCubeSAN XS5224D uzglabāšanas sistēmu (16 GB RAM/kontrolleris).
Datu masīvam izmantojām 16 x Seagate Constellation ES, ST500NM0001, 500 GB, SAS 6 Gb/s, kas apvienoti RAID5 (15+1), un 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100 GB, S/AS12Gb,
Tika izveidoti 2 sējumi: pa vienam katram serverim.
1. pārbaude. Tikai lasāma SSD kešatmiņa no 1–8 SSD
Teorētiski, jo vairāk SSD ir kešatmiņas pūlā, jo augstāka ir veiktspēja. Praksē tas ir apstiprinājies. Vienīgais būtiskais SSD skaita pieaugums ar nelielu tilpumu skaitu neizraisa sprādzienbīstamu efektu.
Tas pats rezultāts: sprādzienbīstams veiktspējas pieaugums un mērogošana, palielinoties SSD skaitam.
Abos testos darba datu apjoms bija mazāks par kopējo kešatmiņas lielumu. Tāpēc laika gaitā visi bloki tika kopēti kešatmiņā. Un darbs faktiski jau tika veikts ar SSD, praktiski neietekmējot cietos diskus. Šo testu mērķis bija skaidri parādīt kešatmiņas iesildīšanas un tās veiktspējas mērogošanas efektivitāti atkarībā no SSD skaita.
Tagad atgriezīsimies pie zemes un pārbaudīsim reālāku situāciju, kad datu apjoms ir lielāks par kešatmiņas lielumu. Lai tests tiktu izturēts saprātīgā laika posmā (kešatmiņas “iesildīšanās” periods ievērojami palielinās, palielinoties apjomam), mēs ierobežosim sējuma lielumu līdz 120 GB.
Acīmredzamais secinājums, protams, ir labā SSD kešatmiņas izmantošanas efektivitāte, lai uzlabotu jebkuras uzglabāšanas sistēmas veiktspēju. Attiecas uz QSAN XCubeSAN Šis apgalvojums ir spēkā pilnībā: SSD kešatmiņas funkcija ir ieviesta perfekti. Tas attiecas uz atbalstu lasīšanas un lasīšanas + rakstīšanas režīmiem, elastīgiem iestatījumiem jebkuram lietošanas scenārijam, kā arī sistēmas vispārējo veiktspēju kopumā. Tāpēc par ļoti saprātīgām izmaksām (licences cena ir salīdzināma ar 1-2 SSD izmaksām) varat ievērojami palielināt kopējo veiktspēju.