Přehled systému souborů NFS
V kontextu výběru řešení úložiště HPC chceme prodiskutovat některé klíčové koncepty systému souborů NFS. Hlavní výzvou při použití systému souborů NFS je určení, jestli vaše cílové prostředí úložiště HPC vyžaduje konfigurační prvky, síťové připojení nebo funkce zabezpečení specifické pro danou verzi systému souborů NFS. Pokud do kritérií výběru shromáždíte některé z těchto konceptů, pomůže vám posoudit různá dostupná řešení. Při účtování těchto položek ušetříte čas tím, že eliminujete cokoli, co nevyhovuje vašim požadavkům na systém souborů NFS.
Aspekty systému souborů NFS
Existují dvě hlavní verze protokolu NFS: NFSv3 a NFSv4.x (v4.1 a v4.2). Úplný rozsah rozdílů mezi těmito dvěma verzemi je mimo cíle tohoto modulu. Existuje ale několik problémů souvisejících s ověřováním a autorizací, které tady identifikujeme. Nemusíme diskutovat o historii těchto dvou protokolů nebo o tom, proč existují dva protokoly. Stačí vědět, že mnoho uživatelů stále používá NFSv3 ve svých prostředích.
Začněme aspekty, které jsou specifické pro použití NFSv3.
NFSv3 a skupiny
NFSv3 je jednoduchý protokol systému souborů, který předává požadavky rozhraní API klientům a serverům NFS. Zmínili jsme se, že UID představuje uživatele a že uživatelé mají primární přidružení GID skupiny. Zmínili jsme se také, že uživatel může být přidružený k většímu počtu skupin. Pro účely systému souborů NFS se tato přiřazení skupin označují jako pomocné skupiny. Informace UID a GID se předávají s požadavky, které server NFS používá k určení odpovídající úrovně přístupu.
NFSv3 má limit celkového počtu hodnot GID, které projde. NFSv3 podporuje předávání pouze 16 pomocných skupin pro všechny dané UID. Pokud používáte více než 16 přiřazení skupin smysluplně (například jemně odstupňovanou správu přístupu), může vás toto omezení ovlivnit. Dodavatelé NAS, jako je NetApp, přidali do protokolu NFS rozšíření, které podporuje komunikaci všech mapování skupin. Toto rozšíření se označuje jako rozšířená podpora skupin . Pokud posuzujete úložiště HPC a používáte velký počet přiřazení GID, měli byste ověřit, jestli navrhované řešení tuto funkci podporuje.
Zabezpečení sítě NFSv3 a sítě
NFSv3 je také omezen z hlediska zabezpečení. NFSv3 nemá ve skutečnosti mnoho bezpečnostních funkcí. Nepodporuje například šifrování dat ani ověřování protokolem Kerberos. Hlavní mechanismy dostupné v prostředí NFSv3 zahrnují použití pravidel a zásad exportu k omezení přístupu na úrovni sítě k serveru NFS. Export je mechanismus, který server NFS používá k zveřejnění konkrétního adresáře klientům. Pravidla exportu jsou nakonfigurovaná tak, aby povolovala nebo nepovolovala klienty na základě jejich síťové adresy IP. Položky hostitele můžete definovat v pravidle exportu (například 1.1.1.1) nebo v sítích (například 1.1.1.0/24) a povolit nebo odepřít přístup k exportu. Pravidla exportu se shromáždí do zásad exportu, která je přidružená ke konkrétnímu exportu na serveru NFS.
Síťové porty NFSv3 a síťové porty
Jednou z výzev u NFSv3 je, že pro veškerou komunikaci nepoužívá standardní port TCP. Tato flexibilita portů umožňuje NFSv3 přístup přes síť WAN náročné, vzhledem k tomu, že existují standardní porty (111 pro RPC a 2049 pro SYSTÉM SOUBORŮ NFS), další porty pro připojení exportu jsou náhodně přiřazené porty.
Sítě NFSv3 v Azure se stanou výzvou jenom v případě, že potřebujete přístup nad rámec virtuální sítě a potřebujete konfiguraci zabezpečení, která blokuje porty TCP. Volba řešení, které poskytuje konfiguraci zásad exportu, vám ale pomůže přímo uzamknout řešení NFS bez ohledu na to, co je nakonfigurované na okraji vaší sítě.
Squashing
Squashing odkazuje na schopnost serveru NFS vynutit použití konkrétního UID pro přístup k souborům nebo složkám. Správce může například chtít určit, které UID se používá pro konkrétní exportovanou složku. Serverová prostředí systému souborů NFS s Linuxem podporují možnost squash root přístupu k identifikátoru UID, který není kořenový. Produkty NAS podporují konkrétní squashing na základě příchozí sítě nebo adresy klienta a hodnoty UID. Jedním z klíčových použití squashingu je zajistit neroot přístup přes vzdálená připojení.
Pokud plánujete replikovat systém souborů v Azure a očekáváte toto stejné chování, mějte na paměti, že ne každé řešení podporuje squashing úplně stejným způsobem.
NFSv3 a šifrování
NFSv3 nepodporuje šifrování dat. Původně byl navržen pro použití v důvěryhodném podnikovém prostředí. Vaše řešení šifrování sítě musí šifrovat provoz, který opustí vaši důvěryhodnou síť.
Uzamčení souborů NFSv3 a souborů
Uzamčení odkazuje na schopnost klienta zabránit ostatním klientům v aktualizaci konkrétního souboru nebo oddílu souboru. NFSv3 nemá svůj vlastní mechanismus uzamykání. Síťové služby s názvem Network Lock Manager (NLM) a Network Status Monitor (NSM) provádějí uzamčení, které existuje. Tyto služby běží na klientech a serverech a spravují veškerou interakci se zámkem. Běží mimo službu NFS a generují vlastní síťový provoz protokolu. Tyto zámky nejsou povinné. Označují se jako poradní zámky. Sledují se, ale nevynucují se. Očekává se, že aplikace budou zpracovávat kolize a zamykání problémů.
NFSv4.x
NFSv4.x zavádí některá klíčová vylepšení systému souborů NFS. Pojďme se zaměřit na hlavní vylepšení.
NFSv4 a Kerberos
NFSv4 zavedl plnou podporu pro použití protokolu Kerberos pro ověřování uživatelů a šifrování veškerého provozu NFS. Došlo k pokusu o integraci protokolu Kerberos s NFSv3, ale kvůli použití NLM/NSM a dalších externích protokolů se šifrují pouze datové části.
Pokud zásady exportu explicitně nezablokují, je veškerý přístup v NFSv3 důvěryhodný. Pomocí protokolu Kerberos se teď můžete ověřovat na základě důvěryhodných počítačů.
Podporuje se šifrování veškerého provozu NFS. Veškerý provoz z klienta NFS na server NFS můžete šifrovat (ne jenom v konkrétních síťových segmentech).
Pokud chcete používat ověřování a šifrování přes Kerberos, musíte nasadit prostředí Kerberos.
Klíčovým aspektem je, že protokol Kerberos nepodporují všechny služby kompatibilní se systémem NFSv4. Bez protokolu Kerberos můžete dál používat další funkce NFSv4, ale nemůžete ověřovat ani šifrovat data. Při výběru řešení nezapomeňte zkontrolovat, jestli tuto funkci potřebujete a jestli možnosti podporují Protokol Kerberos.
NFSv4 a síťové porty
Jednou z výhod NFSv4 oproti NFSv3 je, že NFSv4 používá pro veškerý provoz jeden port TCP (port 2049). Pokud máte prostředí NFSv4 ve virtuální síti Azure nebo ve vašem datacentru, je snazší zajistit přístup mezi branami firewall při podpoře NFSv4.
Seznamy ACL NFSv4 a ACL
Řekněme, že máte soubor nebo složku a chcete nabídnout přístup pro čtení a zápis pro skupinu 1, přístup jen pro čtení ke skupině 2 a přístup k datům připojení ke konkrétnímu účtu počítače. Oprávnění NFSv3 (bity režimu) nemohou splňovat tyto požadavky, protože oprávnění v3 nemají požadovanou úroveň členitosti.
NFSv4 zavádí seznamy řízení přístupu (ACL). Každý soubor nebo složka může mít použitý seznam ACL. Každý seznam ACL se skládá z jedné nebo více položek řízení přístupu (ACL). Tento přístup je známý pro správce systému souborů SYSTÉM WINDOWS NT FS, protože ntfs se řídí stejným modelem.
Pokud vaše prostředí používá seznamy ACL NFSv4, musíte určit, které řešení úložiště nejlépe vyhovuje tomuto požadavku.
Shrnutí
Poškrábali jsme povrch důležitých aspektů protokolu NFS. Položky, které jsme probrali, představují klíčové faktory, které je potřeba vzít v úvahu při výběru řešení úložiště.
Abyste mohli určit vhodné řešení úložiště, musíte vyhodnotit aktuální prostředí a požadavky na správu skupin, síť a zabezpečení.
Tato tabulka obsahuje porovnání založené na předchozí diskuzi:
Schopnost | NFSv3 | NFSv4 |
---|---|---|
Oprávnění k souborům nebo složkě | Bity režimu | Bity režimu a/nebo seznamy ACL |
Šifrování | Nic | Kerberos |
Síťové porty | TCP nebo UDP, vyžaduje se mapování portů | Port TCP 2049 |
Uzamčení souborů | Poradce nlm | Podpora aktivního zámku |