Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

První prototyp objektových úložišť se objevil v roce 1996. O deset let později Amazon Web Services spustí Amazon S3 a svět začne postupně šílet z plochého adresního prostoru. Díky práci s metadaty a své schopnosti škálovat se bez ztráty výkonu se objektová úložiště rychle stala standardem pro většinu služeb pro ukládání dat v cloudu a nejen to. Další důležitou vlastností je dobrá přizpůsobivost pro ukládání archivů a podobných málo používaných souborů. Všichni, kdo byli spojeni s ukládáním dat, jásali a nosili novou technologii na rukou.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Ale lidské pověsti se hemžily zvěsti, že objektová úložiště jsou pouze pro velké cloudy, a pokud potřebujete něco jiného než řešení od prokletých kapitalistů, bude velmi těžké si něco sami vybudovat. O nasazení vlastního cloudu již bylo napsáno mnoho, ale o vytváření takzvaných S3-kompatibilních řešení je informací málo.

Proto si dnes objasníme, jaké jsou možnosti „Aby to bylo jako u dospělých, a ne CEPH s větším šroubovákem“, nasadíme jedno z nich a ověřovat, že všechno funguje, budeme pomocí Veeam Backup & Replication. V něm je uvedena podpora pro práci se S3-kompatibilními úložišti a právě toto prohlášení budeme ověřovat.

A jak to mají ostatní?

Navrhuji začít s malým přehledem trhu a možností objektových úložišť. Obecně uznávaným lídrem a standardem je Amazon S3. Dva nejbližší pronásledovatelé jsou Microsoft Azure Blob Storage a IBM Cloud Object Storage.

Opravdu to je všechno? Opravdu nejsou žádní jiní konkurenti? Samozřejmě, konkurenti existují, ale někteří jdou svou cestou, jako Google Cloud nebo Oracle Cloud Object Storage, s neúplnou podporou S3 API. Někteří používají staré verze API, jako Baidu Cloud. A někteří, jako Hitachi Cloud, vyžadují použití zvláštní logiky, což nepochybně přinese své obtíže. V každém případě jsou všichni srovnáváni s Amazonem, který lze považovat za průmyslový standard.

Ale v lokálních řešeních je výběr mnohem širší, proto si vyznačme důležitá kritéria. V zásadě stačí pouze dvě: podpora S3 API a použití v4 podepisování. Ruku na srdce, nás jako budoucí klienty zajímají pouze rozhraní pro interakci, a vnitřní struktura samotného úložiště nás už tolik nezajímá.

Pod tyto jednoduché podmínky spadá opravdu hodně řešení. Například klasické korporátní těžkotonážní systémy:

  • DellEMC ECS
  • NetApp S3 StorageGrid
  • Nutanix Buckets
  • Pure Storage FlashBlade a StorReduce
  • Huawei FusionStorage

Existuje segment čistě softwarových řešení, která fungují okamžitě:

  • Red Hat Ceph
  • SUSE Enterprise Storage
  • Cloudian

A dokonce ani příznivce pečlivého doladění po sestavení nezklamali:

  • CEPH v čisté podobě
  • Minio (Linux verze, protože k Windows verzi je mnoho výhrad)

Seznam rozhodně není kompletní, o něm se dá diskutovat v komentářích. Jen nezapomínejte před nasazením kromě API kompatibility také zkontrolovat výkon systému. Poslední, co potřebujete, je ztráta terabajtů dat kvůli visícím požadavkům. Takže se nebojte zatěžkávacích testů. V podstatě každý dospělý software pracující s velkými objemy dat má minimálně zprávy o kompatibilitě. V případě Veeam položka „Přesunout karty“. Kromě toho existuje celá program na vzájemné testování, umožňující s jistotou prohlásit, že naše produkty jsou plně kompatibilní s konkrétním zařízením. To už je oboustranná práce, ne vždy rychlá, ale neustále rozšiřujeme seznam testovaná řešení.

Sestavujeme naši testovací stanici

Chtěl bych trochu pohovořit o výběru subjektu.

Za prvé, chtěl jsem najít variantu, která hned bude fungovat out-of-the-box. Nebo alespoň s maximální pravděpodobností, že bude fungovat bez nutnosti provádět zbytečné pohyby. Tance s bubny a škrábání v konzoli v noci — je to velmi vzrušující, ale někdy chce, aby to fungovalo hned. A celková spolehlivost takových řešení je obvykle vyšší. A ano, ztratili jsme ducha dobrodružství, přestali jsme lézt do oken k milovaným ženám atd.(c).

Za druhé, pokud to má být upřímné, potřeba pracovat s objektovými úložišti se objevuje u poměrně velkých firem, takže to je ten případ, kdy se dívat směrem k řešením na podnikové úrovni nejenže není ostuda, ale dokonce se to podporuje. Každopádně zatím neznám příklady, kdy by někoho vyhodili za koupi podobných řešení.

Na základě výše uvedeného jsem se rozhodl pro Dell EMC ECS Community Edition. Je to velmi zajímavý projekt a považuji za nutné vám o něm povědět.

První, co mne napadne při pohledu na doplněk Community Edition — že to je jen pouhá kopie plnohodnotného ECS s nějakými omezeními, která se odstraní zakoupením licence. Ale to neplatí!

Pamatujte si:

!!!Community Edition je samostatný projekt, vytvořený pro testování, a bez podpory od Dellu!!
A nelze jej přeměnit na plnohodnotné ECS, i když byste opravdu chtěli.

Pojďme se na to podívat

Mnozí považují Dell EMC ECS za jedno z nejlepších řešení, pokud potřebujete objektové úložiště. Všechny projekty pod značkou ECS, včetně komerčních a podnikových, se nacházejí na githubu. Taková laskavost od Dellu. A kromě softwaru, který běží na jejich značkovém hardwaru, existuje i open-source verze, kterou lze nasadit jak v cloudu, tak na virtuálním stroji, kontejnerech nebo na vlastním hardwaru. Předem prozradím – k dispozici je dokonce OVA verze, kterou využijeme.
Samotný DELL ECS Community Edition je mini-verze plnohodnotného softwaru, fungujícího na značkových serverech Dell EMC ECS.

Vytknul jsem čtyři hlavní rozdíly:

  • Chybí podpora šifrování. To je škoda, ale není to kritické.
  • Není přítomen Fabric Layer. Tento prvek zajišťuje budování klastrů, správu zdrojů, aktualizace, monitoring a ukládání Docker obrazů. Tady už je to opravdu nešťastné, ale Dell lze také pochopit.
  • Nejhorší důsledek předchozího bodu: velikost uzlu nelze po dokončení instalace rozšířit.
  • Chybí technická podpora. Je to produkt pro testování, který se může používat v menších instalacích, ale nahrávat tam petabyty důležitých dat bych se osobně neodvážil. Ale technicky vám nikdo v tom bránit nemůže.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

A co v plné verzi?

Rychle se podíváme na hardwarová řešení, abychom měli ucelenější přehled o ekosystému.

Nehodlám potvrzovat ani vyvracet tvrzení, že DELL ECS je nejlepší on-prem objektové úložiště, ale pokud máte, co říct k tomuto tématu, rád si to přečtu v komentářích. V každém případě podle verze IDC MarketScape 2018 se Dell EMC důvěryhodně řadí mezi pět nejlepších na trhu OBS. Ačkoli cloudová řešení nejsou započítána, ale to je jiný příběh.

Z technického hlediska je ECS objektové úložiště, které umožňuje přístup k datům prostřednictvím protokolů cloudového úložiště. Podporuje AWS S3 a OpenStack Swift. U souborových zásobníků ECS podporuje NFSv3 pro export po souborech.

Proces zápisu informací je velmi neobvyklý, zejména po klasických systémech blokového úložiště.

  • Při příjmu nových dat se vytvoří nový objekt, který má název, samotná data a metadata.
  • Objekty se dělí na chunk podle 128 MB a každý chunk se zapisuje okamžitě na tři uzly.
  • Dochází k aktualizaci souboru s indexem, kde jsou zapsány identifikátory a místa ukládání.
  • Aktualizuje se soubor s protokolem (zápisový log) a také se zapisuje na tři uzly.
  • Klientovi je odeslána zpráva o úspěšném zápisu.
    Všechny tři kopie dat se zapisují paralelně. Zápis se považuje za úspěšný pouze tehdy, když byly všechny tři kopie úspěšně zapsány.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Čtení probíhá jednodušeji:

  • Klient žádá o data.
  • V indexu se hledá místo ukládání dat.
  • Data se čtou z jednoho uzlu a odesílají klientovi.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Samotných serverů je poměrně hodně, takže se podíváme na nejmenší Dell EMC ECS EX300. Začíná od 60 TB a má možnost růst až na 1,5 PB. Jeho starší bratr Dell EMC ECS EX3000 umožňuje uložit dokonce 8,6 PB na skříň.

Nasazení

Technicky lze Dell ECS CE nasadit jak velké chcete. Každopádně jsem nenašel žádná explicitní omezení. Nicméně veškeré škálování je vhodné provádět metodou klonování samotného prvního uzlu, pro který budeme potřebovat:

  • 8 vCPU
  • 64 GB RAM
  • 16 GB pro operační systém
  • 1 TB přímo pro ukládání
  • Nejnovější verzi CentOS minimal

To je varianta pro případ, že chcete všechno nastavit sami od začátku. Pro nás to není aktuální, protože pro nasazení budu používat OVA obraz.

Ale v každém případě jsou požadavky velmi vysoké i pro jeden uzel, a pokud se striktně dodržují předpisy, potřebujete čtyři takové uzly.

Nicméně vývojáři ECS CE žijí v reálném světě a instalace probíhá úspěšně i s jedním uzlem, minimální požadavky jsou následující:

  • 4 vCPU
  • 16 GB RAM
  • 16 GB pro operační systém
  • 104 GB pro samotné ukládání

Takové zdroje jsou potřeba pro nasazení OVA obrazu. To je už mnohem snesitelnější a realistické.

Samotný instalační uzel lze získat na oficiálním github. Na tomto místě je také podrobná dokumentace pro nasazení all-in-one, ale můžete si přečíst i na oficiálním readthedocs. Nemůžeme se tedy podrobně zastavit na rozbalení OVA, je to bez triků. Hlavní je nezapomenout před jeho spuštěním buďto rozšířit disk na potřebnou velikost, nebo připojit potřebné.
Spouštíme stroj, otvíráme konzoli a používáme nejlepší výchozí údaje:

  • přihlašovací jméno: admin
  • heslo: ChangeMe

Poté spouštíme sudo nmtui a nastavujeme síťové rozhraní – IP/maska, DNS a bránu. Mějte na paměti, že v CentOS minimal nejsou net-tools, kontrolujeme nastavení pomocí ip addr.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

A jelikož moře patří jen odvážným, provedeme yum update, následované reboot. Opravdu je to docela bezpečné, protože celé nasazení probíhá přes playbooky a všechny důležité balíčky Dockeru jsou uzamčeny na aktuální verzi.

Nyní nastal čas upravit instalační skript. Žádná krásná okna nebo pseudo UI — vše skrze váš oblíbený textový editor. Technicky existují dvě cesty: můžete spouštět každý příkaz ručně nebo rovnou spustit konfigurátor videploy. Ten prostě otevře konfiguraci ve vim, a po ukončení spustí její kontrolu. Ale vědomě si zjednodušovat život není zajímavé, takže provedeme o dva příkazy více. I když v tom vůbec není žádný smysl, varoval jsem vás =)

Takže uděláme vim ECS-CommunityEdition/deploy.xml a provedeme optimálně-minimální změny, aby ECS fungovala a běžela. Seznam parametrů lze zkrátit, ale udělal jsem to takto:

  • licensed_accepted: true Můžete to neměnit, pak vás při nasazení výslovně požádají, abyste to potvrdili, a ukážou vám milou frázi. Možná je to dokonce taková easter egg.
    Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb
  • Odkomentujte řádky autonames: a custom: Zadejte alespoň jedno požadované jméno pro uzel — hostname bude během instalace nahrazeno tímto jménem.
  • install_node: 192.168.1.1 Uveďte skutečné IP uzlu. V našem případě uvádíme to, co je v nmtui
  • dns_domain: zadejte svou doménu.
  • dns_servers: zadejte své DNS.
  • ntp_servers: lze uvést libovolný. Já jsem vzal první, který jsem našel z poolu 0.pool.ntp.org (stalo se jím 91.216.168.42)
  • autonaming: custom Pokud neodkomentujete, měsíc se bude jmenovat Luna.
  • ecs_block_devices:
    /dev/sdb
    Z neznámého důvodu se zde může objevit neexistující blokové zařízení /dev/vda
  • storage_pools:
    members:
    192.168.1.1 Zde opět uvádíme skutečné IP uzlu
  • ecs_block_devices:
    /dev/sdb Повторяем операцию вырезания несуществующих устройств.

Celý soubor je velmi podrobně popsán v dokumentaci, ale kdo ji bude číst v tak neklidné době. Je tam psáno, že minimálně dostatečné je uvést IP a masku, ale u mě se takový sestava v laboratoři moc nedařila, a musel jsem ji rozšířit na výše uvedené.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Po opuštění editoru je třeba spustit update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, a pokud je vše správně uděláno, bude to jasně oznámeno.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Poté bude nutné spustit videploy, počkat na aktualizaci prostředí a lze spustit samotnou instalaci příkazem ova-step1, a po úspěšném provedení příkaz ova-step2. Důležité: nezastavujte práci skriptů ručně! Některé kroky mohou zabrat značný čas, nemusí se podařit na první pokus a mohou vypadat, jako by se něco pokazilo. V každém případě je třeba počkat na ukončení skriptu přirozeným způsobem. Na konci byste měli vidět přibližně takovou zprávu.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Nyní můžeme konečně otevřít WebUI ovládací panel na známé IP. Pokud jste během konfigurace nic nezměnili, bude výchozí účet root/ChangeMe. Můžete dokonce hned využívat naše S3-kompatibilní úložiště. Je dostupné na portech 9020 pro HTTP a 9021 pro HTTPS. Opět, pokud se nic neměnilo, tak access_key: object_admin1 a secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Ale nepředbíhejme a začněme po pořádku.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Při prvním přihlášení vás bude nutně vyzváno k tomu, abyste si změnili heslo na něco přijatelnějšího, což je naprosto správné. Hlavní panel je maximálně srozumitelný, takže si pojďme udělat něco zajímavějšího než vysvětlování zřejmých metrik. Například vytvoříme uživatele, kterého budeme používat pro přístup k úložišti. Ve světě poskytovatelů služeb se takovým říká tenant. To se dělá v Manage > Users > New Object User

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Při vytváření uživatele nás žádají o uvedení namespace. Technicky nic nám nebrání vytvářet jich tolik, kolik bude uživatelů. A naopak. To umožňuje řídit zdroje nezávisle pro každého tenanta.

Z toho důvodu vybíráme potřebné funkce a generujeme klíče uživatele. Pro mě bude stačit S3/Atmos. A nezapomínejte si klíč uložit 😉

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Uživatele jsme vytvořili, nyní je na čase mu vyhradit bucket. Přecházíme do Manage > Bucket a vyplňujeme požadované údaje. Tady je to jednoduché.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Teď máme vše připraveno pro plně funkční používání našeho S3 úložiště.

Konfigurujeme Veeam

Jak víme, jedním z hlavních využití objektových úložišť je dlouhodobé uchovávání dat, na která se zřídka odvoláváme. Ideálním příkladem je potřeba ukládání záloh na vzdáleném místě. V aplikaci Veeam Backup & Replication se této funkci říká Capacity Tier.

Začněme nastavení přidáním našeho Dell ECS CE do rozhraní Veeam. Na záložce Backup Infrastructure spustíme průvodce přidáním nového úložiště a vybereme bod Objektové úložiště.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Vybereme to, kvůli čemu vše začalo — S3 Compatible.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

V otevřeném okně zadáme požadované jméno a přejdeme na krok Účet. Zde je potřeba uvést Service point ve formátu https://your_IP:9021, region lze nechat jak je a přidat vytvořeného uživatele. Gate server je nutný, pokud se vaše úložiště nachází na vzdáleném místě, ale to už je téma optimalizace infrastruktury a samostatného článku, takže to lze bezpečně přeskočit.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Pokud je vše správně uvedeno a nastaveno, objeví se varování o certifikátu a poté okno se zásobníkem, kde lze vytvořit složku pro naše soubory.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Projdeme průvodce až do konce a užíváme si výsledek.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Na dalším kroku je potřeba buď vytvořit nové Scale-out Backup Repository, nebo přidat naše S3 do existujícího — to bude použito jako Capacity Tier pro archivační ukládání. V aktuálním vydání není možnost používat S3-kompatibilní úložiště přímo jako běžný repozitář. Je třeba vyřešit příliš mnoho poměrně nejasných problémů, ale všechno je možné.
Přejdeme do nastavení repozitáře a zapneme Capacity Tier. Všechno je tam jasné, ale je tu zajímavý detail: pokud chcete, aby všechna data byla co nejrychleji odeslána na objektové úložiště, jednoduše nastavte 0 dní.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Po dokončení průvodce, pokud se nechcete čekat, můžete stisknout ctrl+pravé tlačítko myši na repozitáři, vynutit spuštění Tiering job a sledovat, jak se grafy začnou posouvat.

Objektové úložiště v podkroví, nebo Jak se stát vlastním poskytovatelem služeb

Tímto prozatím končím. Domnívám se, že jsem splnil úkol ukázat, že bloková úložiště nejsou tak děsivá, jak se obvykle myslí. Ano, existuje spousta řešení a variant provedení, ale za jeden článek toho nelze pokrýt. Tak se pojďme podělit o zkušenosti v komentářích.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster