Pozn.: Článek vychází z verze ONTAP 9.14.1. Zaměřuje se na využití ONTAP System Manager, pouze v případě potřeby se používá ONTAP CLI. Jde pouze o malý úvod do použití S3 v rámci NetApp ONTAP.
Dokumentace
- základní termíny a komponenty pro ONTAP - NetApp ONTAP komponenty, principy a vlastnosti fungování
- obecně o objektových úložištích - Co je objektové úložiště (Object Storage)?
- oficiální dokumentace - S3 object storage management
S3 objektové úložiště
Podpora v rámci ONTAP
NetApp nabízí systém pro jednotné ukládání dat. Operační systém ONTAP podporuje kombinaci souborových, blokových i objektových protokolů. Můžeme použít běžné úložiště (diskové pole), například NetApp AFF či FAS, a provozovat jej jako souborové, objektové i blokové úložiště. Na stávajícím ONTAP clusteru můžeme povolit ONTAP S3 a využít S3 funkce bez nových nákladů. Pokud potřebujeme specializované objektové úložiště, tak NetApp nabízí StorageGRID.
S3 objektové úložiště je podporováno od verze ONTAP 9.8. Stejně jako pro jiné protokoly (FC, iSCSI, NFS, SMB, NVMe_oF) je pro S3 vyžadována licence, ale ta je poskytována s nulovými náklady. ONTAP od verze 9.12.1 podporuje S3 multiprotocol support, kdy je možno ke stejným datům přistupovat přes S3 protokol i NFS a SMB protokol.
Podporované standardní S3 API akce jsou postupně přidávány do nových verzí ONTAP. Seznam se nachází v článku ONTAP S3 supported actions. NetApp ověřil některá řešení třetích stran pro použití s ONTAP S3, je zde například Veeam Backup and Replication 12. Opačně je NetApp ONTAP S3 zařazen do Veeam Ready programu u Veeamu.
S3 Object Lock je podporován od ONTAP 9.14.1 (podle diskusí funkční až od 9.14.1P1). Vyžaduje ovšem SnapLock licenci. Pro uzly clusteru musí být inicializovány SnapLock Compliance Clock.
Architektura
Využívá se Storage VM (SVM), na kterém povolíme přístupový protokol S3 a vytvoříme Object Store Server. Každé SVM má svůj jmenný prostor (Namespace). Když vytvoříme datové SVM, tak se vytvoří kořenový svazek (Root Volume). S3 Object Store Server spravuje data jako S3 objekty, na rozdíl od souborových nebo blokových úložišť poskytovaných servery ONTAP NAS a SAN.
Základní architekturou pro kbelík (Bucket) v ONTAP je FlexGroup Volume. Ten může přesahovat přes různé agregáty a uzly clusteru. Běžným místem pro ukládání dat je Flexible Volume (FlexVol), který se nachází uvnitř agregátu (Tier).
FlexGroup Volume je škálovatelný NAS kontejner, který poskytuje vysoký výkon spolu s automatickým rozdělením zátěže. Obsahuje několik složek (Constituents), které automaticky a transparentně sdílejí přenosy. Složky (Constituents) jsou základní FlexVol svazky, které tvoří FlexGroup Volume.
Minimální velikost kbelíku je 95 GB. Od ONTAP 9.14.1 je výchozí velikost FlexGroup založena na velikosti obsažených kbelíků. FlexGroup Volume se automaticky zvětšuje nebo zmenšuje při přidávání nebo odebírání kbelíků.
ONTAP S3 konfigurační proces
Vytvoření a konfiguraci můžeme provést pomocí webového rozhraní nebo CLI. Použití System Manager konfiguraci zjednodušuje a ONTAP zvolí výchozí hodnoty podle osvědčených postupů. Pokud potřebujeme provést detailnější nastavení, tak často musíme využít CLI.
Konfigurace se skládá ze dvou hlavních částí, které mohou obsahovat jednotlivé kroky.
Vytvoření S3 Storage VM
- vytvoření SVM
- instalace certifikátu
- vytvoření S3 Service Data Policy
- vytvoření LIF
- vytvoření Object Store Server
Přidání úložné kapacity do S3 SVM a přístupu
- vytvoření kbelíku (S3 Bucket)
- vytvoření S3 uživatele
- vytvoření S3 skupiny
- povolení přístupu do S3 objektového úložiště
Příprava konfigurace
Potřebný fyzický prostor
Když vytváříme S3 bucket, tak se automaticky vytvoří FlexGroup volume. Defaultně se automaticky zvolí lokální agregáty a FlexGroup kmponenty, které mají nejvhodnější disky splňující zvolenou úroveň služeb. V existujících agregátech tedy musí být dostatek volného místa. Pokud chceme určit použité agregáty, tak musíme využít CLI.
Požadavky na sítě
Před vytvořením SVM potřebujeme mít kompletně nakonfigurovanou síť pro přístup klientů. Důležité je mít stejné MTU v celé síti (na všech prvcích v dané VLAN). Musíme zvážit a připravit následující:
- fyzické porty - které se použijí pro komunikaci, mohou být sdílené s další službou, ale lepší je oddělené, musí mít dostatečnou rychlost (můžeme využít LACP), třeba
e0a
- IPspace - můžeme využít
Default
- Broadcast Domain - podle L2 sítě kam jsou zařazené fyzické porty a IP adresy, může jít o
Default
- Subnet - pouze volitelně
Další důležitá síťová komponenta se automaticky vytvoří při vytváření SVM v System Manager.
- Logical Interface (LIF) - Data LIF představuje IP adresu pro přístup k SVM (
data-s3-server
), doporučuje se oddělit od management LIF
Musíme naplánovat IP adresy pro S3 rozhraní, ke kterému budou přistupovat klienti. Stejně jako FQDN jméno, ke kterému vystavíme certifikát.
Certifikát
S3 server je možno používat s HTTP, ale je striktně doporučeno využít zabezpečené HTTPS. Pro komunikaci potřebujeme serverový certifikát. Doporučeno je vystavit certifikát od interní nebo veřejné certifikační autority (CA).
Při vytváření SVM máme dvě možnosti
- System-generated certificate - můžeme nechat vygenerovat Self-signed certifikát
- External-CA signed certificate - vložíme vlastní certifikát a privátní klíč v Base64 kódování
Konfigurace ONTAP S3 pomocí System Manager
Vytvoření SVM s povoleným S3
S3 může v SVM koexistovat s jinými protokoly, ale vhodnější je oddělit a vytvořit samostatné SVM. Při použití System Manager se společně vytváří Storage VM a Object Store Server a také Data LIF, S3 Service Data Policy a Failover Policy. Zadáváme certifikát a informace o síti.
- Storage - Storage VMs - Add
Při vytváření vyplňujeme následující položky:
- Storage VM name - jméno pro identifikaci SVM
- Access protocol - Enable S3
- S3 server name - FQDN pro přístup na S3 úložiště
- Enable TLS - zapneme TLS, port, vložíme svůj certifikát External-CA signed certificate
- Default language - standardně
C.UTF_8
- Network interface - parametry pro vytvoření LIF, můžeme použít pouze jednu IP adresu, která může migrovat mezi uzly clusteru, nebo na každém uzlu vlastní rozhraní
- IP address
- Subnet mask
- Gateway - pokud má fungovat komunikace mezi subnety
- Broadcast domain and port - vybereme připravenou skupinu (podle konfigurace, může být potřeba ručně určit Home Port)
- Storage VM administration
- Enable the maximum capacity limit - nastavení limitu maximální kapacity pro SVM
- Manage administrator account - pokud chceme nastavit účet SVM správce
Vytvoří se Storage VM a S3 Server, kde také vznikne uživatel a jednorázově se zobrazí jeho tajný klíč (Secret Key).
Vytvoření S3 bucket
S3 objekty se ukládají v kbelících (buckets), které mají plochou strukturu (nejsou vnořeny jako soubory uvnitř adresářů). Při vytvoření prvního kbelíku se vytvoří FlexGroup volume s minimální potřebnou velikostí a dále se automaticky zvětšuje nebo zmenšuje. Při vytváření kbelíku pomocí System Manager se standardně přiřadí QoS Policy Group (Performance service level), výchozí je nejvyšší Extreme, ale můžeme změnit nebo vytvořit vlastní.
Při vytvoření prvního kbelíku pomocí System Manager se automaticky zvolí agregáty pro FlexGroup volume podle zvoleného Storage service level. Všechny další kbelíky, které přidáme do SVM, použijí stejný FlexGroup volume.
- Storage - Buckets - Add
Při vytváření vyplňujeme určité položky, většinu můžeme řešit dodatečně.
- Name - jméno kbelíku
- Storage VM - volba S3 SVM
- Capacity - velikost kbelíku
- More Options - tlačítkem se přepneme do nastavení dalších hodnot
- Use for tiering - pokud chceme použít pro tiering, zvolí se nízkonákladová média
- Enable Versioning - zapne verzování, je potřeba pro uzamykání objektů (Immutability)
- Performance service level - můžeme vybrat nebo vytvořit QoS Policy Group
- Permissions - můžeme nastavit oprávnění, musíme mít předem vytvořené uživatele nebo skupiny
- Enable object locking - zapne S3 Object Lock, potřebujeme SnapLock licenci, jinak se tato položka nenabízí
Správa S3 uživatelů
Uživatelé se vytváří v rámci S3 Object Store Server a můžeme jim nastavit přístup k libovolnému kbelíku v SVM. Při vytvoření uživatele se vygeneruje přístupový klíč (access key) a tajný klíč (secret key). Můžeme nastavit dobu platnosti přístupového klíče. Při vytvoření Object Store Server se vytvoří uživatel root
(UID 0) s privilegovaným přístupem.
- Storage - Storage VMs - vybereme požadované SVM - Settings - klikneme na Edit (tužka) pod S3
Přístupová oprávnění pro uživatele a skupiny
Přístupová oprávnění můžeme uživateli nebo skupině přidělit v Bucket Policy nebo Object Store Server Policy. To znamená na úrovni kbelíku nebo celého S3 SVM.
Bucket Policy
- Storage - Buckets - vybereme požadovaný kbelík - vpravo nahoře klikneme na Edit - Permissions
Pod Actions vybíráme jednotlivé S3 akce. Jako Resources můžeme vybrat určité objekty. Volitelně můžeme přidat určité podmínky Conditions, které se vyhodnocují při pokusu o přístup (třeba zdrojová IP adresa).
Object Store Server Policy
- Storage - Storage VMs - vybereme požadované SVM - Settings - klikneme na Edit (tužka) pod S3 - Policies
Můžeme vytvořit politiku, která se aplikuje na jeden nebo více kbelíků. Politiku přiřazujeme na skupinu uživatelů. Můžeme využít výchozí (předpřipravené) nebo vlastní politiky.
Informace o FlexGroup volume
FlexGroup volume nevidíme v System Manager a musíme použít CLI.
AFF::> volume show -vserver svm-s3 -volume-style-extended flexgroup Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- svm-s3 fg_oss_1733320663 - online RW 205.3GB 195.0GB 0% AFF::> volume show -vserver svm-s3 -volume-style-extended flexgroup-constituent Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- --------- ----- svm-s3 fg_oss_1733320663__0001 AFF_NVME_SSD_1 online RW 205.3GB 195.0GB 0%
Síťové informace
AFF::> network interface show -vserver svm-s3 Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- svm-s3 lif_svm-s3_553 up/up 192.168.100.245/24 AFF-A250-2-01 e0a true AFF::> network interface show -vserver svm-s3 -failover Logical Home Failover Failover Vserver Interface Node:Port Policy Group -------- --------------- --------------------- --------------- --------------- svm-s3 lif_svm-s3_553 AFF-A250-2-01:e0a system-defined Default Failover Targets: AFF-A250-2-01:e0a, AFF-A250-2-02:e0a AFF::> network interface service-policy show -vserver svm-s3 Vserver Policy Service: Allowed Addresses --------- -------------------------- ---------------------------------------- svm-s3 default-data-blocks data-core: 0.0.0.0/0 default-data-files data-core: 0.0.0.0/0 data-fpolicy-client: 0.0.0.0/0 management-dns-client: 0.0.0.0/0 management-ad-client: 0.0.0.0/0 management-ldap-client: 0.0.0.0/0 management-nis-client: 0.0.0.0/0 data-dns-server: 0.0.0.0/0 default-data-iscsi data-core: 0.0.0.0/0 data-iscsi: 0.0.0.0/0 default-data-nvme-tcp data-core: 0.0.0.0/0 data-nvme-tcp: 0.0.0.0/0 default-management data-core: 0.0.0.0/0 management-ssh: 0.0.0.0/0 management-https: 0.0.0.0/0 management-dns-client: 0.0.0.0/0 management-ad-client: 0.0.0.0/0 management-ldap-client: 0.0.0.0/0 management-nis-client: 0.0.0.0/0 data-dns-server: 0.0.0.0/0 management-http: 0.0.0.0/0 backup-ndmp-control: 0.0.0.0/0 management-snmp-server: 0.0.0.0/0 sm-custom-service-policy-nas-s3 data-core: 0.0.0.0/0 data-nfs: 0.0.0.0/0 data-cifs: 0.0.0.0/0 data-s3-server: 0.0.0.0/0 data-fpolicy-client: 0.0.0.0/0 management-dns-client: 0.0.0.0/0 management-ad-client: 0.0.0.0/0 management-ldap-client: 0.0.0.0/0 management-nis-client: 0.0.0.0/0 data-dns-server: 0.0.0.0/0 6 entries were displayed.
Smazání S3 bucket
ONTAP umožňuje zobrazit seznam kbelíků a informace o jejich kapacitě (celkové a dostupné), ale nemá nástroje pro prohlížení obsahu.
Pro smazání kbelíku má System Manager v menu položku Delete. Dostaneme potvrzující dialog, zda opravdu chceme kbelík smazat, a mělo by dojít ke smazání. ONTAP má ovšem vlastnost (podle mne dost nepříjemnou), že nedovolí smazat kbelík, který není prázdný. V tom případě dostaneme chybu:
Failed to remove bucket "test-backup" for SVM "svm-s3". Reason: Cannot delete bucket "test-backup" on SVM "svm-s3" because it is not empty. Delete the objects, and then try the operation again. For further assistance, contact technical support.
Musíme smazat celý obsah pomocí nějakého S3 nástroje či aplikace. Pokud máme zapnuté verzování, tak nestačí smazat všechny objekty, ale musíme smazat i verze objektů. Případně můžeme pro mazání neaktuálních verzí vytvořit ONTAP S3 bucket lifecycle rule.
Jako nástroj pro správu S3 úložiště můžeme využít například AWS CLI, S3 Browser GUI nebo Rclone. Na mnoha místech je doporučován S3 Browser, který je šikovný a pohodlný. Na webu se uvádí, že je k dispozici freeware verze, ale po instalaci je uvedeno, že je pouze pro nekomerční použití. Navíc má různá omezení, například nedovoluje mazání více objektů najednou.
S3 Browser umožňuje mazat i verze objektů na záložce Versions. Ale co je lepší, dovolí smazat celý kbelík i když obsahuje objekty nebo jejich verze.
NetApp má k této oblasti články:
Zatím zde nejsou žádné komentáře.