IBM Storage Scale - objektový přístup CES S3
Článek popisuje možnosti objektového přístupu k datům s využitím protokolu S3 a je specificky zaměřen na stav služeb po reimplementaci technologie objektových služeb (Swift S3 -> CES S3) v rámci IBM Storage Scale clusteru. Cílem článku je objasnění možností nové technologie CES S3 přístupu, srovnání standardů vůči AWS S3 a možné migrační scénáře z původní technologie objektového přístupu.
IBM Storage Scale – CES S3 objektový přístup
IBM již řadu let nabízí robustní, vysoce škálovatelný paralelní systém souborů pod názvem IBM General Parallel Filesystem (dále jen GPFS), který spadá do rodiny širšího produktového portfolia označovaného jako IBM Storage Scale. V dřívějších článcích jsme představili možnosti využití a konfigurace RDMA over Converged Ethernet (ROCE) a Benefity technologie MROT pro GPFS. Tento článek je specificky zaměřen na oblast objektového přístupu k datům a s tím související Cluster Export Services (CES) služby GPFS clusteru.
CES služby lze popsat jako vysoce dostupnou nadstavbu služeb Storage Scale clusteru, která poskytuje některé další možnosti klientského přístupu k datům uloženým v rámci paralelního systému souborů GPFS. Pro přístup k těmto datům se kromě nativního protokolu GPFS nejčastěji využívají protokoly CIFS a NFS, nicméně lze využít i některé další protokoly, např. objektový protokol Swift a S3.
Popis stavu objektových služeb Swift S3 (do Storage Scale 5.1.8)
Podpora objektového přístupu k datům v rámci Storage Scale clusteru se objevila již ve starší verzi 4.2.3 a pokračovala s různými změnami až do verze 5.1.8. Objektový přístup byl založen na modulech Swift a Keystone projektu Openstack.
- modul Swift - realizace objektového přístupu protokolem Swift s podporou S3 API,
- modul Keystone - realizace služeb ověřování uživatelů.
Oba moduly Openstacku byly implementovány jako součást konfigurace Storage Scale clusteru a měly řadu limitů a provozních omezení. Toto řešení bylo jako celek sice funkční, nicméně primárně bylo zaměřeno na podporu objektového protokolu Swift. Objektový přístup k datům protokolem S3 nebyl nativně podporován, byl emulován na úrovni S3 API Swift modulu.
Různá provozní omezení
- složitá logika vynucování politik filesetů pro objektová data,
- složitá struktura ukládání kontejnerů a objektů na úrovni GPFS filesystému v návaznosti na konfiguraci objektové politiky,
- složitá forma zálohy, resp. obnovy logické konfigurace objektového úložiště,
- složitá forma zálohy, resp. obnovy dat objektového úložiště,
- v základní konfiguraci nízký výkon objektového úložiště s nutností významné rekonfigurace celého systému pro alespoň částečné splnění výkonnostních požadavků zákazníků při přístupu k datům,
- obtížné a zdlouhavé řešení případných problémů objektového úložiště,
- zastaralé verze modulů Swift a Keystone bez zpětné implementace softwarových záplat z komunitního projektu Openstack,
- složitý proces konfigurace a provozu paralelního přístupu ke stejným datům různými protokoly, tzv. Unified access (Swift, S3, NFS, CIFS).
Omezení na úrovni S3 přístupu
S3 protokol lze popsat jako protokol, který na rozdíl od ostatních protokolů nemá žádný oficiálně definovaný standard. Za standard se v této oblasti udává implementace objektového přístupu S3 v rámci Amazon Web Services (AWS). Funkcionalitě S3 přístupu tohoto poskytovatele se snaží přiblížit všichni ostatní dodavatelé na trhu. Nutno podotknout, že míra implementace, podpora a možnosti S3 jsou ze strany AWS na vysoké úrovni a pro mnoho dodavatelů není snadné se těmto standardům přiblížit.
Implementace objektových služeb s využitím protokolu Swift a Keystone byla poměrně daleko od možností, které nabízí S3 AWS. To dokládá přiložená Kompatibility matice, ve které jsou jednotlivé funkce obou produktů přehledně porovnány. Základní funkčnost S3 byla sice zajištěna, nicméně některé rozšířené funkce podporovány nebyly. Provozně byla jako jeden z velkých problémů vnímána nedostupnost funkce "Politika kontejnerů (Bucket Policy/Advanced ACL)" pro efektivní správu přístupů více uživatelů ke stejnému zdroji dat (kontejneru/objektu). Další omezení S3 přístupu jsou popsána zde.
V průběhu času byl vývoj této implementace objektového přístupu v rámci IBM Storage Scale clusteru zastaven a následně zcela ukončen. Jako náhrada podpory objektového přístupu byla oznámena implementace nazvaná CES S3, která je rovněž součástí Storage Scale clusteru a kterou se tento článek zabývá v dalších kapitolách.
Popis stavu objektových služeb CES S3 (od Storage Scale 5.1.9)
Od verze Storage Scale 5.1.5 bylo Swift S3 označeno jako zastaralé, verze 5.1.8 byla poslední, ve které bylo možné Swift S3 nainstalovat. V následující verzi 5.1.9 již nebylo možné Swift S3 nainstalovat, případný update na tuto verzi již neprovedl update Swift S3 balíčků, ale pouze základních balíčků GPFS a CES služeb. Přesto bylo možné oficiálně provozovat Swift S3 instalovanou jako součást 5.1.8 s tím, že IBM bude i nadále podporovat známé softwarové defekty této verze založené na Openstack Swift modulu.
Paralelně se začaly objevovat prezentace a informace o nové technologii pro realizaci objektového přístupu a byla ohlášena první verze v rámci technologického představení pro Storage Scale verze 5.2.0. Nová implementace je založena na projektu "NooBaa", který vznikl ve stejnojmenné společnosti založené v roce 2013 v Izraeli. Společnost NooBaa byla poskytovatelem služeb v oblasti správy dat v multicloudových prostředích. V listopadu 2017 došlo k její akvizici společností Red Hat. V roce 2019 byl Red Hat koupen společností IBM. Technologie společnosti NooBaa je nyní integrována do nabídky společnosti Red Hat, zejména rozšiřuje její možnosti správy dat v hybridních a multicloudových prostředích. V roce 2023 se propojil Red Hat Storage team s IBM, což je uváděno jako klíčové datum pro implementaci technologie NooBaa v rámci Storage Scale clusteru.
První produkční verze CES S3 se objevila s verzí Storage Scale 5.2.1, aktuálně je k dispozici verze 5.2.2. Pro nasazení této verze je rozhodující, zda se jedná o nové nasazení nebo o migraci dat z původního Swift S3 řešení.
Přehled vlastností CES S3
- řešení vhodné pro datově náročný objektový přístup s využitím protokolu S3 v rámci Storage Scale clusteru a paralelního systému souborů GPFS,
- řešení optimalizované pro multi-protokolový přístup k datům v rámci stejné instance (CIFS, NFS, S3, ...),
- řešení poskytující vysoce výkonný a škálovatelný přístup objektů S3 k datům na úrovni GPFS,
- řešení nabízející podporu volání S3 API, která jsou nutná pro zpracování dat na úrovni GPFS,
- řešení s nativní podporou šifrování SSL, a snadnou zálohou/obnovou logické konfigurace objektového úložiště,
- řešení s jedním příkazem pro ovládání většiny konfiguračních a administračních úloh objektového úložiště,
- soubory a adresáře jsou na úrovni GPFS reprezentovány 1:1 jako S3 objekty a S3 kontejnery,
- řešení nahrazující předchozí Swift S3 implementaci objektového přístupu v rámci Storage Scale clusteru.
Podporovaná S3 API volání pro kontejnery
Podporovaná S3 API volání pro kontejnery jsou popsána zde.
Podporovaná S3 API volání pro objekty
Podporovaná S3 API volání pro objekty jsou popsána zde.
Přehled limitů CES S3
- podpora velikosti až 10 TB jediného objektu,
- podpora až 5000 kontejnerů,
- podpora až 5000 S3 účtů,
- podpora až 4000000 objektů v rámci kontejneru.
Implementace CES S3
- upgrade na verzi Storage Scale 5.2.x s využitím instalačního nástroje
spectrumscale upgrade run
- zapnutí CES S3 s využitím instalačního nástroje
spectrumscale enable S3
- nasazení konfigurace
spectrumscale deploy
Konfigurace CES S3
Základní konfigurační příkaz "mms3"
Výpis aktuální konfigurace
Podrobněji se způsobem konfigurace CES S3 bude zabývat některý z dalších článků na téma Storage Scale CES S3. V tomto článku se zaměříme na konfiguraci S3 jak na straně Storage Scale clusteru, tak na straně S3 klientů. Otestujeme přístup prostřednictvím "aws, aws s3api, s3cmd", nakonfigurujeme podporu SSL, nastavíme autentizaci a oprávnění na úrovni GPFS, vyzkoušíme nastavení politiky kontejnerů (Bucket policy)", atd.
CES S3 - možné migrační scénáře
Vzhledem k tomu, že ve 3. čtvrtletí roku 2025 dojde k ukončení podpory Storage Scale verze 5.1.x, bude nutné plánovat a realizovat upgrade Storage Scale clusteru na verzi 5.2.x. S tím souvisí nutnost migrace objektového přístupu ze Swift S3 na CES S3. Pokud zákazník používal předchozí verzi Swift S3 pro objektový přístup, bude se muset rozhodnout, zda bude migrovat na nový CES S3 včetně již existujících dat, nebo data nepotřebuje a začne s novou implementací CES S3. Zároveň bude nutné zvolit vhodný typ migračního scénáře v závislosti na konfiguraci a možnostech konkrétního Storage Scale clusteru. Výhodou pro migrační proces je, že od verze Storage Scale 5.2.1 lze dočasně provozovat paralelně jak původní verzi Swift S3, tak novou verzi CES S3. Tento fakt umožní souběh obou řešení po dobu migrace s tím, že část uživatelů může využívat služeb CES S3 pro data, která již byla zmigrována a druhá část uživatelů může využívat Swift S3 přístup pro data, která ještě zmigrována nebyla.
Swift S3 implementace umožňuje 2 způsoby ukládání dat na úrovni paralelního systému souborů GPFS:
- nativní swift - cesta k datům je tvořena na základě hashe a časových značek (swift ring)
Příklad swift-native cesty k datům: o/z1device24/objects/1142/521/11d661cfb0/231009918279.84879.data
Jedná se o defaultní způsob ukládání dat v rámci Swift S3 a také způsob, který je pro migraci dat relativně komplikovaný, časově a kapacitně náročný. V tomto případě je nutné využít migrační nástroj, např. rclone, který bude postupně vyčítat všechny kontejnery a objekty pro všechny existující objektové projekty v rámci Openstacku Swift úložiště a jejich uživatele. Tato data je následně nutné ukládat na úrovni paralelního systému souborů GPFS do předpřipravené adresářové struktury, která se následně využije jako vstupní struktura pro nově implementovaný CES S3 přístup včetně nastavení potřebných oprávnění pro přístup uživatelů. Po dobu migrace je nutné počítat s dodatečnou kapacitou pro uložení 2. kopie dat na úrovni GPFS jako výsledek migrace dat nástrojem rclone. Celý proces migrace je nutné pečlivě plánovat, připravit odpovídající skripty včetně ošetření různých nestandardních stavů, které se mohou v průběhu migrace vyskytnout (např. existenci různých objektových projektů, možné shody uživatelských jmen, názvů kontejnerů a objektů, nedostatek volné kapacity na úrovni GPFS a s tím související rozdělení migrace do více fází, nedostupnost dat v průběhu migrace, funkční autentizace uživatelů, atd.).
- Unified file and Swift Object přístup - cesta k datům je tvořena kromě jiného také názvem kontejneru a objektu (swiftonfile) na úrovni GPFS.
Příklad Unfied and Swift Object cesty k datům: obj_test/s203522312380/z1device2/AUTH_3db8/builda/Objtest/data
Jedná se o způsob ukládání dat, jehož podporu bylo nutné nastavit na úrovni několika vrstev Swift S3 úložiště v rámci Storage Scale clusteru. První úrovní byla podpora samotného objektového úložiště (Swift), druhou pak objektová politika na úrovni GPFS filesetu. Poslední úrovní bylo nastavení správné hlavičky nově vzniklého kontejneru. Pakliže došlo k dodržení výše popsaného postupu, byla data uložena v relativně čitelné adresářové struktuře na úrovni GPFS. Ve výsledku to znamená snadnější způsob migrace dat. V tomto případě není nutné využívat pomocný nástroj rclone, ale je možné stávající adresářovou strukturu postupně začlenit do nového CES S3 přístupu, a nastavit oprávnění bez nutnosti datové migrace. Tento způsob migrace nevyžaduje dodatečnou kapacitu na úrovni GPFS, lze ho považovat za časově méně náročný. Nicméně i tak platí podobný migrační postup spočívající v pečlivém plánování, a přípravě odpovídajících skriptů včetně ošetření různých nestandardních stavů, které se mohou v průběhu migrace vyskytnout (např. existence různých objektových projektů, možné shody uživatelských jmen, názvů kontejnerů a objektů, rozdělení migrace do více fází, nedostupnost dat v průběhu migrace, funkční autentizace uživatelů, atd.).
Detailům jednotlivých migračních scénářů se bude věnovat některý z dalších článků na téma IBM Storage Scale CES S3.
Očekávaný vývoj důležitých komponent CES S3 - plán vývoje pro rok 2025
Vývojové laboratoře IBM v současně době pracují na podpoře níže uvedených součástí a funkcionalit. IBM přislíbila dokončení vývoje níže uvedených funkcionalit do konce roku 2025.
- ověřování (autentizace) - v současné verzi CES S3 služeb v rámci Storage Scale 5.2.1.x a 5.2.2.x je k dispozici pouze lokální ověřování uživatelů na úrovni operačního systému CES S3 serverů. To může být limitem pro migraci objektových služeb na nové CES S3 řešení pro větší organizace, které využívají nějakou formu centralizované služby pro ověřování uživatelů (LDAP, MS AD),
- funkce "S3 select" - v prostředí objektového přístupu a především prostředí AWS S3 jde o velmi používanou funkci umožňující efektivní načtení konkrétních dat objektů, aniž by bylo nutné stahovat celý obsah,
- podpora provozu na Linux on Power - možnost provozovat CES S3 jako součást Storage Scale clusteru také na operačním systému Linux běžícím na serverech IBM Power. Doposud byla podpora běhu CES S3 služeb pouze pro operační systém Linux s architekturou x86/64 a IBM Z,
- ukládání dat na pásky - podpora pro ukládání dat uložených v rámci CES S3 na pásky a související manipulaci s těmito daty.
IBM Redbooks / Documentation
Pro zájemce o větší technický detail jsou dostupné další online materiály od společnosti IBM, která je tvůrcem softwaru, např.:
- Architektura S3 - S3 architecture
- Storage Scale CES S3 - Storage Scale CES S3 - High performance Object Access
Společnost DATERA se oblastí paralelního clusteru IBM Storage Scale a souvisejícími možnostmi přístupu k datům protokoly CIFS, NFS, S3 v rámci CES služeb GPFS zabývá dlouhou dobu a velmi intenzivně. Má za sebou celou řadu pokročilých, úspěšných nasazení, dlouholeté implementační i provozní zkušenosti a odpovídající tým specialistů. Jako jedna z mála společností v ČR se specialisté společnosti DATERA podíleli na implementaci a provozu jednoho z největších objektových úložišť na bázi Swift S3 v rámci IBM Storage Scale clusteru v ČR.