NVMe over Fabrics
Vývoj úložišť jde neuvěřitelným tempem kupředu. Jedním z nejdůležitějších za poslední roky byl rozvoj flashových pamětí. Vývoj SSD pak došel až do té míry, že jim nestačily možnosti SATA rozhraní, které jim neposkytovalo dostatečně rychlý přenos dat. Proto bylo zapotřebí navrhnout řešení pro rychlejší přenos dat ideálně uzpůsobené přímo pro flashovou paměť. To se povedlo s příchodem NVMe (non-volatile memory express) v roce 2011.
Rozhraní NVMe
Pro vyšší rychlost přenosu se musel proces co nejvíce zjednodušit, což se v případě NVMe také podařilo. Na rozdíl od SATA nebo SAS rozhraní totiž mohou zařízení připojená přes NVMe komunikovat přímo se systémem prostřednictvím přímého vysokorychlostního propojení s PCIe (peripheral component interconnect express). Rozhraní je uzpůsobené pro NAND flashovou paměť a následující generace úložišť a nevyžaduje žádné zvláštní ovladače. NVMe zvládne až milion IOPS při 3µs odezvě a nízkém zatížení procesoru. Díky tomu jsou SSD podporující NVMe v průměru cca pětkrát výhodnější než SSD s rozhraním SATA ve stejné cenové hladině. Tento rozdíl se ale může u high-endových disků vyšplhat až na 10× vyšší rychlost při 10× kratší odezvě. Bez rychlejšího protokolu však mohly SSD narážet na hranice možností přenosu dat.
Co nabízí NVMeoF?
Síťový protokol NVMeoF slouží k síťové komunikaci mezi počítačem a úložným systémem. Prostřednictvím ethernetové nebo InfiniBand sítě lze plně využít výkon SSD. Díky využití RDMA (remote direct memory access), tedy vzdáleného přímého přístupu k paměti, lze zajistit přesun dat mezi počítači a úložišti napříč sítí při minimálním zatížení CPU. Oproti svému předchůdci, iSCSI, má NVMeoF mnohem kratší odezvu. Pro přístup lze využít jakýkoliv síťový protokol, a to jak k menšímu úložišti (JBOF), tak i k rozsáhlým úložným systémům (SAN). Může dokonce sloužit i k přístupu k zařízením připojeným prostřednictvím SATA rozhraní. Hlavní důvody, proč jej začít využívat, jsou:
- zrychlení přenosu dat;
- krátká odezva;
- široký vlnový rozsah;
- škálovatelnost a správa úložišť, popřípadě izolace poškozených disků.
Díky této technologii lze více vytěžovat úložný prostor a výkon racku. Různé servery pak mohou mezi sebou navzájem sdílet úložný prostor, což může využít mnoho druhů aplikací jako například Oracle RAC. Navíc lze od sebe výpočetní jednotky a úložiště odpojit.
Nedostatky protokolu
Původně NVMeoF vychází ze struktury SAN, která je již 40 let stará, takže si protokol nemusí rozumět se současnými systémy. Největší problémy se dají očekávat u technologií jako plně automatická API, softwarově definované storage (SDS), hyperkonvergovaná infrastruktura (HCI) nebo u distribuovaných storagí (DS). Na druhou stranu je ale NVMeoF stále ještě „v plenkách“ a každý výrobce ji implementuje svým vlastním způsobem. Může pak dojít k problémům s nekompatibilitou mezi jednotlivými značkami. Dalším nedostatkem je chybějící podpora implementací pro integritu koncových dat. Kontrola jejich celistvosti je kritická. Vzhledem k obrovskému množství dat zpracovávanému za vysoké rychlosti by totiž mohlo docházet k jejich poškození.
Možnosti nasazení
Případů využití protokolu v praxi existuje hned několik. Jedním z nich je systém složený z mnoha NVMe zařízení. Tento systém by pak díky protokolu NVMe over Fabrics mohl poskytnout vysoký výkon a zároveň si udržet velmi krátkou odezvu. V dalším druhu implementace by mohl protokol sloužit k dosažení krátké odezvy připojením k subsystému úložišť interně používajícím tradiční protokoly pro vstupní a výstupní data na každý z SSD v systému. Mohl by tak využít výhody zjednodušeného softwarového zásobníku a zkrátit dobu odezvy u přenosu přes kabely a zároveň využít již existující subsystém.
NVMe over Fabrics jednoznačně představuje krok kupředu. Zmíněné nevýhody ani náhodou nezvrátí pomyslnou misku vah v neprospěch této technologie. Široké možnosti otevírá především schopnost sdílet úložnou kapacitu mezi jednotlivými servery. Z technického pohledu pak mluví v její prospěch výrazné navýšení rychlosti a zkrácení doby odezvy. Pojďme tedy spolu s NVMeoF budoucnosti vstříc.