Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Pierwszy prototyp magazynu obiektowego świat zobaczył w 1996 roku. Za 10 lat Amazon Web Services uruchomi Amazon S3, a świat zacznie systematycznie szaleć na punkcie płaskiej przestrzeni adresowej. Dzięki pracy z metadanymi i możliwości skalowania bez ugięcia pod obciążeniem, obiektowa pamięć masowa szybko stała się standardem dla większości usług przechowywania danych w chmurze i nie tylko. Kolejną ważną cechą jest to, że dobrze nadaje się do przechowywania archiwów i podobnych, rzadko używanych plików. Wszyscy zaangażowani w przechowywanie danych byli zachwyceni i nosili nową technologię w ramionach.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Ale wśród plotek krążyło wiele plotek, że przechowywanie obiektów to tylko wielkie chmury i jeśli nie potrzebujesz rozwiązań od przeklętych kapitalistów, bardzo trudno będzie stworzyć własne. O wdrażaniu własnej chmury napisano już wiele, jednak brakuje informacji na temat tworzenia tzw. rozwiązań kompatybilnych z S3.

Dlatego dzisiaj dowiemy się, jakie są opcje „Aby to było jak dorośli, a nie CEPH i większy plik”, wdrożymy jedną z nich i sprawdzimy, czy wszystko działa, korzystając z Veeam Backup & Replication. Twierdzi, że obsługuje współpracę z magazynami zgodnymi z S3 i będziemy testować to twierdzenie.

A co z innymi?

Sugeruję zacząć od małego przeglądu rynku i opcji przechowywania obiektów. Powszechnie uznanym liderem i standardem jest Amazon S3. Dwoma najbliższymi pościgami są Microsoft Azure Blob Storage i IBM Cloud Object Storage.

Czy to wszystko? Czy naprawdę nie ma innych konkurentów? Oczywiście są konkurenci, ale niektórzy idą własną drogą, jak Google Cloud czy Oracle Cloud Object Storage, z niepełnym wsparciem dla API S3. Niektórzy używają starszych wersji API, np. Baidu Cloud. A niektóre, jak Hitachi Cloud, wymagają specjalnej logiki, co z pewnością spowoduje własne trudności. W każdym razie wszystkich porównuje się do Amazona, co można uznać za standard branżowy.

Jednak w rozwiązaniach on-premise wybór jest znacznie większy, dlatego nakreślmy nakreślmy kryteria, które są dla nas istotne. W zasadzie wystarczą tylko dwa: obsługa API S3 i wykorzystanie podpisu v4. Z ręką na sercu jako przyszły klient interesują nas jedynie interfejsy do interakcji, a nie bardzo interesuje nas wewnętrzna kuchnia samego obiektu magazynowego.

Wiele rozwiązań spełnia te proste warunki. Na przykład klasyczni korporacyjni gracze wagi ciężkiej:

  • DellEMC ECS
  • NetApp S3 StorageGrid
  • Wiadra Nutanix
  • Pure Storage FlashBlade i StorReduce
  • Pamięć masowa Huawei Fusion

Istnieje nisza rozwiązań czysto programowych, które działają od razu po wyjęciu z pudełka:

  • Ceph Czerwonego Kapelusza
  • Pamięć masowa SUSE dla przedsiębiorstw
  • Cloudian

I nawet ci, którzy lubią dokładnie segregować po montażu, nie obrazili się:

  • CEPH w najczystszej postaci
  • Minio (wersja Linux, ponieważ jest wiele pytań o wersję Windows)

Lista nie jest jeszcze kompletna, można o niej dyskutować w komentarzach. Tylko nie zapomnij sprawdzić wydajności systemu oraz zgodności API przed wdrożeniem. Ostatnią rzeczą, której chcesz, jest utrata terabajtów danych z powodu zablokowanych zapytań. Więc nie wstydź się testów obciążeniowych. Ogólnie rzecz biorąc, całe oprogramowanie dla dorosłych, które działa z dużymi ilościami danych, ma przynajmniej raporty zgodności. W przypadku Veeam jest cały program na wzajemnych testach, co pozwala nam śmiało zadeklarować pełną kompatybilność naszych produktów z konkretnym sprzętem. To już jest praca dwukierunkowa, nie zawsze szybka, ale cały czas się rozwijamy lista przetestowane rozwiązania.

Montaż naszego stoiska

Chciałbym porozmawiać trochę o wyborze obiektu badania.

Po pierwsze, chciałem znaleźć opcję, która będzie działać od razu po wyjęciu z pudełka. No, a przynajmniej z maksymalnym prawdopodobieństwem, że zadziała bez konieczności wykonywania niepotrzebnych ruchów. Taniec z tamburynem i majsterkowanie przy konsoli w nocy jest bardzo ekscytujące, ale czasami chcesz, aby zadziałało od razu. A ogólna niezawodność takich rozwiązań jest zwykle wyższa. I tak, zniknął w nas duch awanturnictwa, przestaliśmy wspinać się do okien naszych ukochanych kobiet itp. (c).

Po drugie, szczerze mówiąc, potrzeba pracy z magazynowaniem obiektów pojawia się w dość dużych firmach, więc właśnie w tym przypadku, gdy patrzenie na rozwiązania na poziomie przedsiębiorstwa nie tylko nie jest wstydliwe, ale wręcz zachęcane. W każdym razie nie znam jeszcze przykładów, żeby ktoś został zwolniony za zakup takich rozwiązań.

Biorąc pod uwagę wszystkie powyższe, mój wybór padł Wersja społecznościowa Dell EMC ECS. To bardzo ciekawy projekt i uważam, że warto o nim opowiedzieć.

Pierwsza rzecz, która przychodzi na myśl, gdy widzisz dodatek Wydanie wspólnotowe - że jest to po prostu kopia pełnoprawnego ECS z pewnymi ograniczeniami, które usuwa się poprzez zakup licencji. Więc nie!

Pamiętaj:

!!!Community Edition to osobny projekt stworzony do testów i bez wsparcia technicznego firmy Dell!!
I nie można go przekształcić w pełnoprawny ECS, nawet jeśli naprawdę chcesz.

Rozwiążmy to

Wiele osób uważa, że ​​Dell EMC ECS jest niemal najlepszym rozwiązaniem, jeśli potrzebujesz obiektowej pamięci masowej. Wszystkie projekty pod marką ECS, zarówno komercyjne, jak i korporacyjne, opierają się na github. Coś w rodzaju gestu dobrej woli ze strony firmy Dell. Oprócz oprogramowania działającego na markowym sprzęcie istnieje wersja open source, którą można wdrożyć w chmurze, na maszynie wirtualnej, w kontenerze lub na dowolnym własnym sprzęcie. Patrząc w przyszłość, istnieje nawet wersja OVA, z której będziemy korzystać.
Sama wersja DELL ECS Community Edition to miniwersja pełnoprawnego oprogramowania działającego na markowych serwerach Dell EMC ECS.

Zidentyfikowałem cztery główne różnice:

  • Brak obsługi szyfrowania. Szkoda, ale nie krytyczna.
  • Brak warstwy tkaniny. Ta rzecz odpowiada za budowanie klastrów, zarządzanie zasobami, aktualizacje, monitorowanie i przechowywanie obrazów Dockera. W tym miejscu jest to już bardzo obraźliwe, ale Della też można zrozumieć.
  • Najbardziej obrzydliwa konsekwencja poprzedniego punktu: rozmiaru węzła nie można zwiększyć po zakończeniu instalacji.
  • Brak wsparcia technicznego. Jest to produkt do testów, którego nie wolno stosować w małych instalacjach, ale osobiście nie odważyłbym się tam wgrywać petabajtów ważnych danych. Ale technicznie rzecz biorąc, nikt nie może Cię przed tym powstrzymać.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Co jest w dużej wersji?

Galopujmy po Europie i przejdźmy przez niezawodne rozwiązania, aby mieć pełniejsze zrozumienie ekosystemu.

Nie będę jakoś potwierdzał ani zaprzeczał twierdzeniu, że DELL ECS to najlepsza pamięć obiektowa on-prem, ale jeśli masz coś do powiedzenia na ten temat, chętnie przeczytam to w komentarzach. Przynajmniej według wersji IDC MarketScape 2018 Firma Dell EMC z pewnością znajduje się w pierwszej piątce liderów rynku OBS. Choć nie są tam brane pod uwagę rozwiązania oparte na chmurze, to jest to osobna rozmowa.

Z technicznego punktu widzenia ECS jest obiektową pamięcią masową, która zapewnia dostęp do danych za pomocą protokołów przechowywania w chmurze. Obsługuje AWS S3 i OpenStack Swift. W przypadku zasobników obsługujących pliki ECS obsługuje NFSv3 do eksportu plik po pliku.

Proces zapisywania informacji jest dość nietypowy, zwłaszcza po klasycznych blokowych systemach przechowywania.

  • Po nadejściu nowych danych tworzony jest nowy obiekt, który ma nazwę, same dane i metadane.
  • Obiekty są podzielone na fragmenty o wielkości 128 MB, a każdy fragment jest zapisywany w trzech węzłach jednocześnie.
  • Aktualizowany jest plik indeksu, w którym zapisywane są identyfikatory i miejsca przechowywania.
  • Plik dziennika (wpis dziennika) jest aktualizowany i zapisywany także w trzech węzłach.
  • Do klienta wysyłana jest wiadomość o pomyślnym nagraniu
    Wszystkie trzy kopie danych są zapisywane równolegle. Zapis uznaje się za udany tylko wtedy, gdy wszystkie trzy kopie zostały pomyślnie zapisane.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Czytanie jest łatwiejsze:

  • Klient żąda danych.
  • Indeks szuka miejsca przechowywania danych.
  • Dane są odczytywane z jednego węzła i wysyłane do klienta.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Samych serwerów jest sporo, więc przyjrzyjmy się najmniejszemu Dell EMC ECS EX300. Zaczyna się od 60 TB, z możliwością zwiększenia do 1,5 PB. A jego starszy brat, Dell EMC ECS EX3000, pozwala na przechowywanie aż 8,6 PB na szafę.

Wdrożyć

Z technicznego punktu widzenia rozwiązanie Dell ECS CE można wdrożyć w dowolnej wielkości. W każdym razie nie znalazłem żadnych wyraźnych ograniczeń. Jednak wygodnie jest wykonać całe skalowanie, klonując pierwszy węzeł, do czego potrzebujemy:

  • 8 procesor wirtualny
  • RAM 64GB
  • 16 GB na system operacyjny
  • Bezpośrednia pamięć masowa 1 TB
  • Najnowsza wersja CentOS minimal

Jest to opcja, gdy chcesz wszystko zainstalować samodzielnie od samego początku. Ta opcja nie jest dla nas istotna, ponieważ... Do wdrożenia użyję obrazu OVA.

Ale w każdym razie wymagania są bardzo złe nawet dla jednego węzła, a jeśli ściśle przestrzegasz litery prawa, potrzebujesz czterech takich węzłów.

Programiści ECS CE żyją jednak w realnym świecie i instalacja przebiega pomyślnie nawet na jednym węźle, a minimalne wymagania to:

  • 4 procesor wirtualny
  • 16 GB RAM
  • 16 GB na system operacyjny
  • Sama pamięć 104 GB

Są to zasoby potrzebne do wdrożenia obrazu OVA. Już o wiele bardziej humanitarny i realistyczny.

Sam węzeł instalacyjny można uzyskać od urzędnika GitHub. Istnieje również szczegółowa dokumentacja dotycząca wdrożenia typu „wszystko w jednym”, ale możesz także przeczytać na oficjalnej przeczytaj dokumentację. Dlatego nie będziemy szczegółowo omawiać rozwoju OVA, nie ma tam żadnych sztuczek. Najważniejsze jest to, że przed uruchomieniem nie zapomnij rozszerzyć dysku do wymaganego woluminu lub podłączyć niezbędne.
Uruchamiamy maszynę, otwieramy konsolę i używamy najlepszych domyślnych poświadczeń:

  • login: administrator
  • hasło: ZmieńMe

Następnie uruchamiamy sudo nmtui i konfigurujemy interfejs sieciowy - IP/maskę, DNS i bramę. Mając na uwadze, że CentOS minimalny nie posiada narzędzi sieciowych, sprawdzamy ustawienia poprzez adres IP.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

A ponieważ tylko odważni podbijają morza, robimy mniam aktualizację, po czym uruchamiamy ponownie. Właściwie jest to całkiem bezpieczne, ponieważ... całe wdrożenie odbywa się za pomocą podręczników, a wszystkie ważne pakiety dokowane są zablokowane w bieżącej wersji.

Teraz czas na edycję skryptu instalacyjnego. Nie potrzebujesz wymyślnych okien ani pseudo interfejsu użytkownika - wszystko odbywa się za pomocą Twojego ulubionego edytora tekstu. Technicznie rzecz biorąc, są dwa sposoby: możesz uruchomić każde polecenie ręcznie lub od razu uruchomić konfigurator wideoploy. Po prostu otworzy konfigurację w vimie, a po wyjściu zacznie ją sprawdzać. Ale celowe upraszczanie życia nie jest interesujące, więc uruchommy jeszcze dwa polecenia. Chociaż to nie ma sensu, ostrzegałem =)

Stwórzmy więc vim ECS-CommunityEdition/deploy.xml i wprowadźmy optymalne minimalne zmiany, aby ECS działał. Listę parametrów można skrócić, ale ja zrobiłem to tak:

  • licencjonowane_akceptowane: true Nie musisz tego zmieniać, wtedy podczas wdrażania zostaniesz wyraźnie poproszony o zaakceptowanie tego i wyświetli się ładne zdanie. Być może jest to nawet jajko wielkanocne.
    Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą
  • Odkomentuj linie autonames: i niestandardowe: Wprowadź co najmniej jedną żądaną nazwę węzła - nazwa hosta zostanie nią zastąpiona podczas procesu instalacji.
  • install_node: 192.168.1.1 Podaj prawdziwy adres IP węzła. W naszym przypadku wskazujemy to samo co w nmtui
  • dns_domain: wprowadź swoją domenę.
  • dns_servers: wprowadź swoje dns.
  • ntp_servers: możesz określić dowolny. Wziąłem pierwszą, na którą natknąłem się z puli 0.pool.ntp.org (stało się 91.216.168.42)
  • autonaming: niestandardowe Jeśli nie odkomentujesz, księżyc będzie nazywany Luną.
  • ecs_block_devices:
    / dev / sdb
    Z nieznanego powodu może istnieć nieistniejące blokowe urządzenie magazynujące /dev/vda
  • pule_przechowywania:
    Członkowie:
    192.168.1.1 Tutaj ponownie podajemy prawdziwy adres IP węzła
  • ecs_block_devices:
    /dev/sdb Powtarzamy operację wycinania nieistniejących urządzeń.

Ogólnie rzecz biorąc, cały plik jest szczegółowo opisany w dokumentacja, ale kto to przeczyta w tak niespokojnych czasach. Jest też napisane, że minimum wystarczające jest podanie IP i maski, jednak w moim laboratorium taki zestaw wystartował raczej słabo i musiałem go rozbudować do podanego powyżej.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Po wyjściu z edytora musisz uruchomić update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, a jeśli wszystko zostanie wykonane poprawnie, zostanie to wyraźnie zgłoszone.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Następnie pozostaje jeszcze uruchomić videoploy, poczekać na aktualizację środowiska i można przystąpić do samej instalacji komendą ova-step1, a po jej pomyślnym zakończeniu komendą ova-step2. Ważne: nie zatrzymuj skryptów ręcznie! Niektóre kroki mogą zająć dużo czasu, mogą nie zostać ukończone za pierwszym razem i mogą wyglądać, jakby wszystko było zepsute. W każdym razie musisz poczekać, aż skrypt zakończy się w sposób naturalny. Na koniec powinieneś zobaczyć komunikat podobny do tego.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Teraz możemy wreszcie otworzyć panel sterowania WebUI przy użyciu znanego nam adresu IP. Jeśli konfiguracja nie została zmieniona na tym etapie, domyślnym kontem będzie root/ChangeMe. Możesz nawet od razu skorzystać z naszej pamięci masowej zgodnej z S3. Jest dostępny na portach 9020 dla HTTP i 9021 dla HTTPS. Ponownie, jeśli nic nie zostało zmienione, klucz_dostępu: admin_obiektu1 i klucz_tajny: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Ale nie wybiegajmy za daleko i zacznijmy po kolei.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Przy pierwszym logowaniu będziesz zmuszony zmienić hasło na adekwatne, które jest w pełni poprawne. Główny dashboard jest wyjątkowo przejrzysty, więc zajmijmy się czymś ciekawszym niż wyjaśnianie oczywistych wskaźników. Na przykład utwórzmy użytkownika, którego będziemy używać, aby uzyskać dostęp do magazynu. W świecie usługodawców nazywa się ich najemcami. Dokonuje się tego w Zarządzaj > Użytkownicy > Nowy użytkownik obiektu

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Podczas tworzenia użytkownika jesteśmy proszeni o podanie przestrzeni nazw. Technicznie nic nie stoi na przeszkodzie, abyśmy tworzyli ich tyle, ilu jest użytkowników. I wzajemnie. Dzięki temu możesz zarządzać zasobami niezależnie dla każdego najemcy.

W związku z tym wybieramy potrzebne nam funkcje i generujemy klucze użytkownika. S3/Atmos mi wystarczy. I nie zapomnij zapisać klucza 😉

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Użytkownik został utworzony, teraz czas przydzielić mu Bucket. Przejdź do Zarządzaj > Wiadro i wypełnij wymagane pola. Tutaj wszystko jest proste.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Teraz mamy wszystko gotowe do bojowego wykorzystania naszej pamięci S3.

Konfigurowanie rozwiązania Veeam

Jak więc pamiętamy, jednym z głównych zastosowań przechowywania obiektów jest długoterminowe przechowywanie informacji, do których rzadko uzyskuje się dostęp. Idealnym przykładem jest konieczność przechowywania kopii zapasowych w zdalnej lokalizacji. W rozwiązaniu Veeam Backup & Replication ta funkcja nazywa się warstwą pojemności.

Rozpocznijmy konfigurację od dodania naszego Dell ECS CE do interfejsu Veeam. Na karcie Infrastruktura kopii zapasowych uruchom Kreatora dodawania nowego repozytorium i wybierz opcję Object Storage.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Wybierzmy, od czego wszystko się zaczęło – kompatybilność z S3.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

W wyświetlonym oknie wpisz żądaną nazwę i przejdź do kroku Konto. W tym miejscu należy określić punkt serwisowy w formularzu https://your_IP:9021, region można pozostawić bez zmian i dodać utworzonego użytkownika. Serwer bramowy jest niezbędny, jeśli Twój magazyn znajduje się w odległej lokalizacji, ale to już temat dotyczący optymalizacji infrastruktury i osobny artykuł, więc możesz spokojnie go tutaj pominąć.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Jeśli wszystko zostanie poprawnie określone i skonfigurowane, pojawi się ostrzeżenie o certyfikacie, a następnie okno z zasobnikiem, w którym możesz utworzyć folder na nasze pliki.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Przechodzimy przez kreatora do końca i cieszymy się z wyniku.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Następnym krokiem jest utworzenie nowego skalowalnego repozytorium kopii zapasowych lub dodanie naszego S3 do istniejącego – będzie ono używane jako warstwa pojemności do przechowywania archiwalnego. W bieżącej wersji nie ma funkcji umożliwiającej bezpośrednie korzystanie z pamięci masowej zgodnej z S3, takiej jak zwykłe repozytorium. Aby tak się stało, trzeba rozwiązać zbyt wiele nieoczywistych problemów, ale wszystko jest możliwe.
Przejdź do ustawień repozytorium i włącz opcję Poziom pojemności. Wszystko jest tam przejrzyste, ale jest ciekawy niuans: jeśli chcesz, aby wszystkie dane zostały wysłane do pamięci obiektowej tak szybko, jak to możliwe, po prostu ustaw ją na 0 dni.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

Jeśli nie chcesz czekać, po przejściu przez kreatora możesz nacisnąć ctrl+RMB w repozytorium, wymusić uruchomienie zadania Tiering i obserwować indeksowanie wykresów.

Przechowywanie obiektów na zapleczu, czyli Jak zostać własnym usługodawcą

To wszystko na teraz. Myślę, że udało mi się pokazać, że przechowywanie blokowe nie jest tak straszne, jak się ludziom wydaje. Tak, istnieją rozwiązania i opcje dla kombi i małego wózka, ale nie da się opisać wszystkiego w jednym artykule. Podzielmy się więc naszymi doświadczeniami w komentarzach.

Źródło: www.habr.com

Dodaj komentarz