Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

De wereld zag in 1996 het eerste prototype van objectopslag. Over tien jaar zal Amazon Web Services Amazon S10 lanceren, en de wereld zal systematisch gek worden met een platte adresruimte. Dankzij het werken met metadata en de mogelijkheid om te schalen zonder onder belasting te verzakken, werd objectopslag al snel de standaard voor de meeste clouddiensten voor gegevensopslag, en niet alleen dat. Een ander belangrijk kenmerk is dat het zeer geschikt is voor het opslaan van archieven en soortgelijke, zelden gebruikte bestanden. Iedereen die betrokken was bij dataopslag was blij en droeg de nieuwe technologie in hun armen.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Maar de geruchten waren vol geruchten dat objectopslag alleen over grote wolken gaat, en als je geen oplossingen van die verdomde kapitalisten nodig hebt, dan zal het heel moeilijk zijn om je eigen oplossingen te maken. Er is al veel geschreven over het inzetten van een eigen cloud, maar er is onvoldoende informatie beschikbaar over het creëren van zogenaamde S3-compatibele oplossingen.

Daarom zullen we vandaag uitzoeken welke opties er zijn. “Zodat het net volwassenen zijn, niet CEPH en een groter bestand”, zullen we er een implementeren, en we zullen controleren of alles werkt met Veeam Backup & Replication. Er wordt beweerd dat het het werken met S3-compatibele opslag ondersteunt, en we zullen deze bewering testen.

Hoe zit het met anderen?

Ik stel voor om te beginnen met een klein overzicht van de markt- en objectopslagopties. De algemeen erkende leider en standaard is Amazon S3. De twee dichtste achtervolgers zijn Microsoft Azure Blob Storage en IBM Cloud Object Storage.

Is dat alles? Zijn er werkelijk geen andere concurrenten? Natuurlijk zijn er concurrenten, maar sommigen gaan hun eigen weg, zoals Google Cloud of Oracle Cloud Object Storage, met onvolledige ondersteuning voor de S3 API. Sommigen gebruiken oudere versies van de API, zoals Baidu Cloud. En sommige, zoals Hitachi Cloud, vereisen speciale logica, wat zeker zijn eigen problemen zal veroorzaken. Sowieso wordt iedereen vergeleken met Amazon, dat als de industriestandaard kan worden beschouwd.

Maar bij on-premise oplossingen is er veel meer keuze, dus laten we de criteria schetsen die voor ons belangrijk zijn. In principe zijn er maar twee genoeg: ondersteuning voor de S3 API en het gebruik van v4-signing. Eerlijk gezegd zijn wij als toekomstige klant alleen geïnteresseerd in interfaces voor interactie, en niet zozeer in de interne keuken van de opslagruimte zelf.

Veel oplossingen voldoen aan deze eenvoudige omstandigheden. Klassieke zwaargewichten uit het bedrijfsleven:

  • DellEMC ECS
  • NetApp S3 StorageGrid
  • Nutanix-emmers
  • Pure opslag FlashBlade en StorReduce
  • Huawei FusionOpslag

Er is een niche van puur softwareoplossingen die out-of-the-box werken:

  • Rode Hoed Ceph
  • SUSE Enterprise-opslag
  • Cloudian

En zelfs degenen die na de montage graag zorgvuldig archiveren, waren niet beledigd:

  • CEPH in zijn puurste vorm
  • Minio (Linux-versie, omdat er veel vragen zijn over de Windows-versie)

De lijst is verre van compleet; deze kan in de reacties worden besproken. Vergeet niet om vóór de implementatie de systeemprestaties en de API-compatibiliteit te controleren. Het laatste dat u wilt, is terabytes aan gegevens verliezen als gevolg van vastgelopen zoekopdrachten. Wees dus niet verlegen met belastingtests. Over het algemeen beschikt alle software voor volwassenen die met grote hoeveelheden gegevens werkt op zijn minst over compatibiliteitsrapporten. In het geval van Veeam er is hele programma op wederzijds testen, waardoor we met vertrouwen de volledige compatibiliteit van onze producten met specifieke apparatuur kunnen verklaren. Dit is al een tweerichtingswerk, niet altijd snel, maar we breiden voortdurend uit lijst beproefde oplossingen.

Onze stand in elkaar zetten

Ik wil het even hebben over het kiezen van een proefpersoon.

Ten eerste wilde ik een optie vinden die direct uit de doos zou werken. Nou ja, of in ieder geval met de maximale waarschijnlijkheid dat het zal werken zonder onnodige bewegingen te hoeven maken. Dansen met een tamboerijn en 's nachts aan de console sleutelen is heel spannend, maar soms wil je dat het meteen werkt. En de algehele betrouwbaarheid van dergelijke oplossingen is meestal hoger. En ja, de geest van avonturisme is in ons verdwenen, we zijn gestopt met klimmen in de ramen van onze geliefde vrouwen, enz. (c).

Ten tweede ontstaat, om eerlijk te zijn, de noodzaak om met objectopslag te werken in vrij grote bedrijven, dus dit is precies het geval wanneer het kijken naar oplossingen op bedrijfsniveau niet alleen niet beschamend is, maar zelfs wordt aangemoedigd. Ik ken in ieder geval nog geen voorbeelden van mensen die zijn ontslagen omdat ze dergelijke oplossingen hebben aangeschaft.

Op basis van al het bovenstaande viel mijn keuze op Dell EMC ECS Community-editie. Dit is een heel interessant project en ik vind het nodig om u erover te vertellen.

Het eerste dat in je opkomt als je de add-on ziet Community Edition - dat dit slechts een kopie is van een volwaardig ECS ​​met enkele beperkingen die worden opgeheven door de aanschaf van een licentie. Dus nee!

Denk eraan:

!!!Community Edition is een apart project gemaakt om te testen, en zonder technische ondersteuning van Dell!!
En je kunt er geen volwaardig ECS ​​van maken, ook al wil je dat heel graag.

Laten we het uitzoeken

Veel mensen zijn van mening dat Dell EMC ECS vrijwel de beste oplossing is als u behoefte heeft aan objectopslag. Alle projecten onder het merk ECS, inclusief commerciële en zakelijke, zijn gebaseerd op githabe. Een soort gebaar van goede wil van Dell. En naast de software die op hun merkhardware draait, is er een open source-versie die kan worden geïmplementeerd in de cloud, op een virtuele machine, in een container of op uw eigen hardware. Vooruitkijkend is er zelfs een OVA-versie, die we zullen gebruiken.
De DELL ECS Community Edition zelf is een miniversie van volwaardige software die draait op Dell EMC ECS-servers van het merk.

Ik heb vier belangrijke verschillen geïdentificeerd:

  • Geen ondersteuning voor encryptie. Het is jammer, maar niet kritisch.
  • Stoflaag ontbreekt. Dit ding is verantwoordelijk voor het bouwen van clusters, resourcebeheer, updates, monitoring en opslag van Docker-images. Dit is waar het al erg aanstootgevend is, maar Dell kan ook worden begrepen.
  • Het meest walgelijke gevolg van het vorige punt: de grootte van het knooppunt kan niet worden uitgebreid nadat de installatie is voltooid.
  • Geen technische ondersteuning. Dit is een testproduct, het is niet verboden om het in kleine installaties te gebruiken, maar ik zou persoonlijk niet durven daar petabytes aan belangrijke data te uploaden. Maar technisch gezien kan niemand je ervan weerhouden dit te doen.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Wat zit er in de grote versie?

Laten we door Europa galopperen en ijzersterke oplossingen doorvoeren om een ​​vollediger begrip van het ecosysteem te krijgen.

Ik zal op geen enkele manier de bewering bevestigen of weerleggen dat DELL ECS de beste objectopslag op locatie is, maar als je iets over dit onderwerp te zeggen hebt, lees ik dat graag in de reacties. Althans volgens de versie IDC MarketScape 2018 Dell EMC behoort met vertrouwen tot de top vijf van OBS-marktleiders. Hoewel daar geen rekening wordt gehouden met cloudgebaseerde oplossingen, is dit een apart gesprek.

Vanuit technisch oogpunt is ECS een objectopslag die toegang biedt tot gegevens met behulp van cloudopslagprotocollen. Ondersteunt AWS S3 en OpenStack Swift. Voor buckets met bestandstoegang ondersteunt ECS NFSv3 voor het per bestand exporteren.

Het proces van het vastleggen van informatie is vrij ongebruikelijk, vooral na klassieke blokopslagsystemen.

  • Wanneer er nieuwe gegevens binnenkomen, wordt er een nieuw object gemaakt met een naam, de gegevens zelf en metagegevens.
  • Objecten worden verdeeld in blokken van 128 MB, en elk blok wordt tegelijk naar drie knooppunten geschreven.
  • Het indexbestand wordt bijgewerkt, waarin identificatiegegevens en opslaglocaties worden vastgelegd.
  • Het logbestand (loginvoer) wordt bijgewerkt en ook naar drie knooppunten geschreven.
  • Er wordt een bericht over een succesvolle opname naar de klant verzonden
    Alle drie de kopieën van de gegevens worden parallel geschreven. Het schrijven wordt alleen als succesvol beschouwd als alle drie de exemplaren met succes zijn geschreven.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Lezen is gemakkelijker:

  • De klant vraagt ​​gegevens op.
  • De index zoekt waar de gegevens zijn opgeslagen.
  • Gegevens worden vanaf één knooppunt gelezen en naar de client verzonden.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Er zijn zelf nogal wat servers, dus laten we eens kijken naar de kleinste Dell EMC ECS EX300. Het begint vanaf 60 TB, met de mogelijkheid om te groeien tot 1,5 PB. En met zijn oudere broer, de Dell EMC ECS EX3000, kunt u maar liefst 8,6 PB per rack opslaan.

Aanwenden

Technisch gezien kan Dell ECS CE zo groot worden ingezet als u wilt. Ik heb in ieder geval geen expliciete beperkingen gevonden. Het is echter handig om alle schaling uit te voeren door het allereerste knooppunt te klonen, waarvoor we het volgende nodig hebben:

  • 8 vCPU's
  • RAM 64GB
  • 16 GB voor besturingssysteem
  • 1TB directe opslag
  • Nieuwste release van CentOS minimaal

Dit is een optie wanneer je vanaf het begin alles zelf wilt installeren. Deze optie is voor ons niet relevant, omdat... Ik zal de OVA-image gebruiken voor implementatie.

Maar in ieder geval zijn de vereisten zelfs voor één knooppunt erg slecht, en als je de letter van de wet strikt volgt, dan heb je vier van dergelijke knooppunten nodig.

ECS CE-ontwikkelaars leven echter in de echte wereld en de installatie is zelfs met één knooppunt succesvol, en de minimale vereisten zijn:

  • 4 vCPU's
  • 16 GB RAM
  • 16 GB voor besturingssysteem
  • 104 GB opslag zelf

Dit zijn de bronnen die nodig zijn om de OVA-image te implementeren. Nu al veel menselijker en realistischer.

Het installatieknooppunt zelf is verkrijgbaar bij de ambtenaar GitHub. Er is ook gedetailleerde documentatie over de alles-in-één-implementatie, maar u kunt ook de officiële versie lezen leesdedocumenten. Daarom zullen we niet in detail ingaan op de ontvouwing van de OVA, daar zijn geen trucs voor. Het belangrijkste is dat u, voordat u ermee begint, niet vergeet om de schijf uit te breiden naar het vereiste volume, of de benodigde aan te sluiten.
We starten de machine, openen de console en gebruiken de beste standaardreferenties:

  • inloggen: beheerder
  • wachtwoord: ChangeMe

Vervolgens voeren we sudo nmtui uit en configureren we de netwerkinterface: IP/mask, DNS en gate. Rekening houdend met het feit dat CentOS minimal geen net-tools heeft, controleren we de instellingen via ip addr.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

En aangezien alleen de dapperen de zeeën veroveren, doen we een yum-update, waarna we opnieuw opstarten. Het is eigenlijk best veilig omdat... alle implementatie gebeurt via playbooks en alle belangrijke docker-pakketten zijn vergrendeld op de huidige versie.

Nu is het tijd om het installatiescript te bewerken. Geen ingewikkelde vensters of pseudo-gebruikersinterface voor u: alles gebeurt via uw favoriete teksteditor. Technisch gezien zijn er twee manieren: u kunt elke opdracht handmatig uitvoeren of onmiddellijk de videoploy-configurator starten. Het opent eenvoudigweg de configuratie in vim en bij het afsluiten begint het deze te controleren. Maar het is niet interessant om opzettelijk je leven te vereenvoudigen, dus laten we nog twee opdrachten uitvoeren. Hoewel dit nergens op slaat, heb ik je gewaarschuwd =)

Laten we dus vim ECS-CommunityEdition/deploy.xml maken en de optimale minimale wijzigingen aanbrengen, zodat ECS actief is. De lijst met parameters kan worden ingekort, maar ik deed het als volgt:

  • Licensed_accepted: true Je hoeft het niet te veranderen, dan wordt je bij het inzetten expliciet gevraagd om het te accepteren en krijg je een mooie zin te zien. Misschien is dit zelfs een paasei.
    Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden
  • Verwijder het commentaar op de regels autonames: en custom: Voer ten minste één gewenste naam in voor het knooppunt. De hostnaam wordt hierdoor vervangen tijdens het installatieproces.
  • install_node: 192.168.1.1 Geef het echte IP-adres van het knooppunt op. In ons geval geven we hetzelfde aan als in nmtui
  • dns_domain: voer uw domein in.
  • dns_servers: voer uw dns in.
  • ntp_servers: u kunt er een opgeven. Ik nam de eerste die ik tegenkwam uit de pool 0.pool.ntp.org (het werd 91.216.168.42)
  • autonaming: custom Als je de reactie niet ongedaan maakt, wordt de maan Luna genoemd.
  • ecs_block_devices:
    / Dev / sdb
    Om een ​​onbekende reden is er mogelijk een niet-bestaand blokopslagapparaat /dev/vda
  • opslagpools:
    leden:
    192.168.1.1 Ook hier geven we het echte IP-adres van het knooppunt aan
  • ecs_block_devices:
    /dev/sdb We herhalen de handeling van het verwijderen van niet-bestaande apparaten.

Over het algemeen wordt het gehele dossier uitgebreid beschreven in documentatie, maar wie zal het lezen in zo’n moeilijke tijd? Er staat ook dat het minimaal voldoende is om het IP-adres en het masker te specificeren, maar in mijn laboratorium startte zo'n set nogal slecht op, en ik moest het uitbreiden naar het hierboven gespecificeerde.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Na het verlaten van de editor moet u update_deploy /home/admin/ECS-CommunityEdition/deploy.yml uitvoeren en als alles correct is gedaan, wordt dit expliciet gerapporteerd.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Dan moet je nog steeds videoploy starten, wachten tot de omgeving is bijgewerkt en kun je de installatie zelf starten met het commando ova-step1, en na succesvolle afronding met het commando ova-step2. Belangrijk: stop de scripts niet met de hand! Sommige stappen kunnen een aanzienlijke hoeveelheid tijd in beslag nemen, kunnen mogelijk niet bij de eerste poging worden voltooid en kunnen eruitzien alsof alles kapot is. In ieder geval moet u wachten tot het script op natuurlijke wijze is voltooid. Aan het einde zou u een soortgelijk bericht moeten zien.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Nu kunnen we eindelijk het WebUI-configuratiescherm openen met het IP-adres dat we kennen. Als de configuratie op dat moment niet is gewijzigd, is het standaardaccount root/ChangeMe. U kunt zelfs meteen gebruik maken van onze S3-compatibele opslag. Het is beschikbaar op poort 9020 voor HTTP en 9021 voor HTTPS. Nogmaals, als er niets is gewijzigd, dan access_key: object_admin1 en secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Maar laten we niet te veel op de zaken vooruit lopen en op volgorde beginnen.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Wanneer u voor de eerste keer inlogt, wordt u gedwongen uw wachtwoord te wijzigen in een adequaat wachtwoord, wat absoluut correct is. Het hoofddashboard is buitengewoon duidelijk, dus laten we iets interessanters doen dan de voor de hand liggende statistieken uitleggen. Laten we bijvoorbeeld een gebruiker maken die we zullen gebruiken om toegang te krijgen tot de opslag. In de wereld van dienstverleners worden dit huurders genoemd. Dit doet u in Beheren > Gebruikers > Nieuwe objectgebruiker

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Bij het aanmaken van een gebruiker wordt ons gevraagd een naamruimte op te geven. Technisch gezien weerhoudt niets ons ervan om er zoveel te creëren als er gebruikers zijn. En vice versa. Hierdoor kunt u resources voor elke tenant afzonderlijk beheren.

Dienovereenkomstig selecteren we de functies die we nodig hebben en genereren we gebruikerssleutels. S3/Atmos is voor mij voldoende. En vergeet niet de sleutel op te slaan 😉

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

De gebruiker is aangemaakt, nu is het tijd om een ​​bucket aan hem toe te wijzen. Ga naar Beheren > Bucket en vul de verplichte velden in. Alles is hier eenvoudig.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Nu hebben we alles klaar voor een behoorlijk gevechtsgebruik van onze S3-opslag.

Veeam instellen

Zoals we ons herinneren, is een van de belangrijkste toepassingen van objectopslag het langdurig opslaan van informatie waartoe zelden toegang wordt verkregen. Een ideaal voorbeeld is de noodzaak om back-ups op een externe locatie op te slaan. In Veeam Backup & Replication wordt deze functie Capacity Tier genoemd.

Laten we beginnen met het instellen door onze Dell ECS CE toe te voegen aan de Veeam-interface. Start op het tabblad Back-upinfrastructuur de wizard Nieuwe opslagplaats toevoegen en selecteer Objectopslag.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Laten we kiezen waarvoor het allemaal begon: S3-compatibel.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

In het venster dat verschijnt typt u de gewenste naam en gaat u naar de stap Account. Hier dient u het Servicepunt in het formulier op te geven https://your_IP:9021, kan de regio ongewijzigd blijven en kan de aangemaakte gebruiker worden toegevoegd. Een gateserver is nodig als uw opslag zich op een externe locatie bevindt, maar dit is al een onderwerp voor het optimaliseren van de infrastructuur en een apart artikel, dus u kunt dit hier gerust overslaan.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Als alles correct is opgegeven en geconfigureerd, verschijnt er een waarschuwing over het certificaat en vervolgens een venster met een bucket waarin u een map voor onze bestanden kunt maken.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

We doorlopen de wizard tot het einde en genieten van het resultaat.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

De volgende stap is het creëren van een nieuwe Scale-out Backup Repository, of het toevoegen van onze S3 aan de bestaande - deze zal worden gebruikt als een capaciteitslaag voor archiefopslag. Er is in de huidige release geen functie om S3-compatibele opslag rechtstreeks te gebruiken, zoals een gewone repository. Daarvoor moeten er te veel nogal niet voor de hand liggende problemen worden opgelost, maar alles is mogelijk.
Ga naar de opslagplaatsinstellingen en schakel Capaciteitslaag in. Daar is alles transparant, maar er zit een interessante nuance: als je wilt dat alle gegevens zo snel mogelijk naar de objectopslag worden gestuurd, zet je deze gewoon op 0 dagen.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Als u na het doorlopen van de wizard niet wilt wachten, kunt u op ctrl+RMB in de repository drukken, de Tiering-taak krachtig starten en de grafieken zien kruipen.

Objectopslag in de achterkamer, of Hoe u uw eigen dienstverlener kunt worden

Dat is het voor nu. Ik denk dat ik erin ben geslaagd om te laten zien dat blokopslag niet zo eng is als mensen denken. Ja, er zijn oplossingen en opties voor een wagen en een karretje, maar je kunt niet alles in één artikel behandelen. Dus laten we onze ervaringen delen in de reacties.

Bron: www.habr.com

Voeg een reactie