MinIO to doskonałe rozwiązanie, gdy potrzebujesz łatwo i prosto zorganizować przechowywanie obiektów. Podstawowa konfiguracja, wiele platform i dobre wykonanie spełniły swoje zadanie w dziedzinie popularnej miłości. Nie mieliśmy więc innego wyjścia, jak miesiąc temu zadeklarować kompatybilność Veeam Backup & Replication oraz MinIO. Zawiera tak ważną funkcję jak niezmienność. Tak naprawdę MinIO ma całość sekcja w dokumentacji poświęconej naszej integracji.
Dlatego dzisiaj porozmawiamy o tym, jak:
Konfiguracja MinIO jest bardzo szybka.
Konfiguracja MinIO jest trochę mniej szybka, ale znacznie lepsza.
Użyj go jako warstwy archiwalnej dla skalowalnego repozytorium Veeam SOBR.
Czym jesteś?
Krótkie wprowadzenie dla tych, którzy nie mieli styczności z MinIO. Jest to obiektowa pamięć masowa typu open source kompatybilna z API Amazon S3. Wydany na licencji Apache v2 i jest zgodny z filozofią spartańskiego minimalizmu.
Oznacza to, że nie ma rozbudowanego GUI z pulpitami nawigacyjnymi, wykresami i licznymi menu. MinIO po prostu uruchamia swój serwer jednym poleceniem, gdzie możesz po prostu przechowywać dane, korzystając z pełnej mocy API S3. Należy jednak zauważyć, że ta prostota może być zwodnicza, jeśli chodzi o wykorzystane zasoby. Pamięć RAM i procesor są doskonale wchłaniane, ale przyczyny zostaną omówione poniżej. A tak na marginesie, takie kombajny jak FreeNAS i TrueNAS wykorzystują MinIO pod maską.
W tym miejscu można zakończyć ten wstęp.
Konfiguracja MinIO jest bardzo szybka
Konfiguracja jest tak szybka, że przyjrzymy się jej dla systemów Windows i Linux. Istnieją opcje dla Dockera, Kubernetisa, a nawet MacOS, ale znaczenie będzie wszędzie takie samo.
Zatem w przypadku systemu Windows przejdź na oficjalną stronę internetową https://min.io/download#/windows i pobierz najnowszą wersję. Widzimy tam również instrukcje dotyczące uruchamiania:
minio.exe server F:Data
Jest też link do nieco bardziej szczegółowego Skrócona instrukcja obsługi. Nie ma sensu nie wierzyć instrukcji, więc uruchamiamy ją i otrzymujemy coś w rodzaju tej odpowiedzi.
To wszystko! Pamięć działa i można z nią pracować. Nie żartowałem, mówiąc, że MinIO jest minimalistyczne i po prostu działa. Jeśli skorzystasz z łącza oferowanego podczas uruchamiania, maksymalne dostępne funkcje pozwolą na utworzenie wiadra. I możesz zacząć zapisywać dane.
Dla miłośników Linuksa wszystko pozostaje nie mniej proste. Najprostsze instrukcje:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
Wynik będzie nie do odróżnienia od tego, co widzieliśmy wcześniej.
Konfiguracja MinIO ma trochę większe znaczenie
Jak rozumiemy, poprzedni akapit ma charakter rozpieszczania w celach testowych. I nie oszukujmy się, MinIO wykorzystujemy bardzo szeroko do testów, do czego wcale nie wstydzimy się przyznać. Oczywiście, że to działa, ale szkoda znosić to poza stanowiskami testowymi. Dlatego bierzemy plik w swoje ręce i zaczynamy przywoływać go na myśl.
HTTPS
Pierwszym obowiązkowym krokiem na drodze do produkcji jest szyfrowanie. W sieci jest już milion i tysiąc instrukcji dodawania certyfikatów do MiniIO, ale ich ogólny plan jest taki:
Utwórz certyfikat
W przypadku systemu Windows umieść go w C:Users%User%.miniocerts
Dla Linuksa w ${HOME}/.minio/certs
Ponowne uruchomienie serwera
Banalny Let's Encrypt jest nudny i wszędzie jest opisywany, więc nasza ścieżka jest ścieżką samuraja, więc w przypadku Windowsa pobieramy Cygwin, a w przypadku Linuksa po prostu sprawdzamy, czy mamy zainstalowany openssl. I robimy małą magię konsoli:
Certyfikat tworzymy za pomocą klucza: openssl req -new -x509 -days 3650 -key private.key -out public.crt
Skopiuj pliki private.key i public.crt do folderu określonego powyżej
Uruchom ponownie MinIO
Jeżeli wszystko poszło tak jak powinno to w statusie pojawi się coś takiego.
Włącz kodowanie kasowania MinIO
Na początek kilka słów o temacie. W skrócie: jest to programowa ochrona danych przed uszkodzeniem i utratą. Jak nalot, tylko o wiele bardziej niezawodny. Jeśli klasyczny RAID6 może sobie pozwolić na utratę dwóch dysków, to MinIO bez problemu poradzi sobie ze stratą połowy. Bardziej szczegółowo technologię opisano w oficjalny przewodnik. Ale jeśli weźmiemy esencję, jest to implementacja kodów Reeda-Solomona: wszystkie informacje są przechowywane w postaci bloków danych, które mają bloki parzystości. I wydaje się, że wszystko to zostało już zrobione wiele razy, ale jest ważne „ale”: możemy jednoznacznie wskazać stosunek bloków parzystości do bloków danych dla przechowywanych obiektów.
Chcesz 1:1? Proszę!
Chcesz 5:2? Bez problemu!
Bardzo ważna funkcja jeśli korzystasz z kilku węzłów jednocześnie i chcesz znaleźć własny balans pomiędzy maksymalnym bezpieczeństwem danych a wydatkowanymi zasobami. Po wyjęciu z pudełka MinIO używa formuły N/2 (gdzie N to całkowita liczba dysków), tj. dzieli dane pomiędzy dyski z danymi N/2 i dyski z parzystością N/2. Tłumacząc po ludzku: możesz stracić połowę dysków i odzyskać dane. Ta relacja jest przekazywana poprzez Klasa przechowywania, pozwalając Ci wybrać dla siebie co jest ważniejsze: niezawodność czy pojemność.
Poradnik podaje następujący przykład: załóżmy, że masz instalację na 16 dyskach i musisz zapisać plik o rozmiarze 100 MB. Jeżeli użyte zostaną ustawienia domyślne (8 dysków na dane, 8 na bloki parzystości), to plik ostatecznie zajmie prawie dwukrotnie większą objętość, tj. 200 MB. Jeśli współczynnik dysku wynosi 10/6, potrzebne będzie 160 MB. 14/2 - 114 MB.
Kolejna istotna różnica w stosunku do rajdów: w przypadku awarii dysku MinIO będzie działać na poziomie obiektu, odtwarzając jeden po drugim, bez zatrzymywania całego systemu. Podczas gdy zwykły nalot będzie zmuszony przywrócić cały wolumin, co zajmie nieprzewidywalną ilość czasu. Autor pamięta półkę na dyski, której przeliczenie po wypadnięciu dwóch dysków zajęło półtora tygodnia. To było dość nieprzyjemne.
I ważna uwaga: MinIO dzieli wszystkie dyski do Erasure Coding na zestawy od 4 do 16 dysków, wykorzystując maksymalny możliwy rozmiar zestawu. A w przyszłości jeden element informacji będzie przechowywany tylko w jednym zestawie.
Wszystko brzmi bardzo fajnie, ale jak trudne będzie ustawienie? Przyjrzyjmy się. Pobieramy polecenie uruchomienia i po prostu wyświetlamy listę dysków, na których należy utworzyć pamięć. Jeśli wszystko zostanie wykonane poprawnie, w raporcie zobaczymy liczbę zaangażowanych dysków. A rada jest taka, że nie warto dodawać połowy dysków do jednego hosta na raz, bo doprowadzi to do utraty danych.
c:minio>minio.exe server F: G: H: I: J: K:
Następnie do zarządzania i konfiguracji serwera MinIO będziemy potrzebować agenta, który możesz pobrać w tym samym miejscu z oficjalnej strony.
Aby nie męczyć palców przy każdym wpisywaniu adresu i klawiszy dostępu (a nie jest to bezpieczne), wygodnie jest utworzyć alias od razu po rozpoczęciu korzystania z zestawu aliasów formuły mc [TWÓJ-KLUCZ-DOSTĘPU] [TWÓJ-TAJNY-KLUCZ]
mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE
Możesz też od razu dodać swojego hosta:
mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEY
A potem stworzymy niezmienne wiadro z pięknym zespołem
--odpluskwić pozwala zobaczyć nie tylko końcową wiadomość, ale także bardziej szczegółowe informacje.
-l oznacza —z blokadą, co oznacza niezmienność
Jeśli teraz wrócimy do interfejsu internetowego, pojawi się tam nasz nowy wiadro.
To wszystko na teraz. Stworzyliśmy bezpieczną pamięć masową i jesteśmy gotowi na integrację z Veeam.
Możesz także upewnić się, że wszystko działa idealnie:
c:minio>mc admin info veeamS3
● 172.17.32.52:9000
Uptime: 32 minutes
Version: 2020-08-16T18:39:38Z
Network: 1/1 OK
Drives: 6/6 OK
0 B Used, 1 Bucket, 0 Objects
6 drives online, 0 drives offline
MinIO i Veeam
Ostrzeżenie! Jeśli z jakiegoś niewiarygodnego powodu chcesz pracować przez HTTP, to w HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication utwórz klucz DWORD SOBRArchiveS3WyłączTLS. Ustaw jego wartość na 1 i pamiętaj, że zdecydowanie nie pochwalamy takiego zachowania i nikomu go nie polecamy.
Uwaga ponownie! Jeśli z powodu nieporozumienia będziesz nadal korzystać z systemu Windows 2008 R2, wówczas przy próbie połączenia MinIO z Veeam najprawdopodobniej pojawi się błąd podobny do tego: Nie udało się nawiązać połączenia z punktem końcowym Amazon S3. Można temu zaradzić za pomocą oficjalnej łatki firmy Microsoft.
Cóż, przygotowania zakończone, otwórzmy interfejs VBR i przejdźmy do zakładki Infrastruktura Backupu, gdzie wywołamy kreatora dodania nowego repozytorium.
Oczywiście interesuje nas pamięć obiektowa, czyli kompatybilna z S3. W kreatorze, który się otworzy, ustaw nazwę i wykonaj kroki wskazujące adres i konto. W razie potrzeby nie zapomnij określić bramy, przez którą będą przesyłane żądania do magazynu.
Następnie wybierz wiadro, folder i zaznacz pole Ustaw, że ostatnie kopie zapasowe będą niezmienne. Albo go nie instalujemy. Ponieważ jednak stworzyliśmy magazyn obsługujący tę funkcję, grzechem byłoby z niego nie skorzystać.
Dalej > Zakończ i ciesz się efektem.
Teraz musimy dodać go do repozytorium SOBR jako warstwę pojemności. W tym celu albo tworzymy nowy, albo edytujemy istniejący. Interesuje nas krok Poziom wydajności.
Tutaj musimy wybrać, z którym scenariuszem będziemy pracować. Wszystkie opcje są dość dobrze opisane w innym Artykuł, więc nie będę się powtarzał
Po zakończeniu działania kreatora automatycznie uruchomione zostaną zadania kopiowania lub przesyłania kopii zapasowych. Jeśli jednak Twoje plany nie obejmują natychmiastowego obciążenia wszystkich systemów, pamiętaj o ustaleniu akceptowalnych interwałów pracy nad przyciskiem Okno.
I oczywiście możesz wykonać osobne zadania kopiowania zapasowego. Niektórzy uważają, że jest to jeszcze wygodniejsze, gdyż są nieco bardziej przejrzyste i przewidywalne dla użytkownika, który nie chce zagłębiać się w szczegóły działania strzelnicy. I jest tam wystarczająco dużo szczegółów, więc jeszcze raz polecam odpowiedni artykuł pod powyższym linkiem.
I wreszcie odpowiedź na zdradzieckie pytanie: co się stanie, jeśli nadal będziesz próbował usunąć kopię zapasową z pamięci Immutable?
Oto odpowiedź:
To wszystko na dzisiaj. Zgodnie z prawdziwą tradycją, złap listę przydatnych tematów na ten temat: