Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



31.12.2020

Cykl webinarów

weinnovators.club
30.12.2020

Integracja z Teams

Veeam Backup
30.12.2020

Namierzanie zagrożeń

Flowmon Networks i Fortinet
30.12.2020

Wsparcie dla przedsiębiorstw

VMware Cloud on AWS
29.12.2020

Nowe NAS-y Thunderbolt 3

QNAP QuTS TVS-h1288X i TVS-h1688X
29.12.2020

Modele kompaktowe

VPL-PHZ60 i VPL-PHZ50
28.12.2020

Dedykowane przemysłowi

Seria TJ
28.12.2020

Nowa generacja

Router QHora-301W

Systemy pamięci definiowanej programowo

Data publikacji: 26-05-2017 Autor: Piotr Pisz
RYS. 1. ARCHITEKTURA CEPH

Dynamiczny rozwój usług IT to równocześnie gwałtowny przyrost zbieranych i przetwarzanych danych. W ciągu miesiąca gromadzone są już nie terabajty, a petabajty danych. Gdzie je wszystkie składować? Odpowiedź okazała się prosta – Software Defined Storage, czyli pamięć masowa definiowana programowo, która niweluje ograniczenia tradycyjnych rozwiązań macierzowych.

W spółczesne systemy informatyczne w coraz mniejszym stopniu opierają się na klasycznych rozwiązaniach sprzętowo-programowych wymagających precyzyjnej konfiguracji przez liczne zespoły administratorów. Firmy coraz częściej sięgają po rozwiązania programowe, takie jak Software Defined Networking (SDN) lub Software Defined Storage (SDS), pozwalające na zautomatyzowanie kolejnych obszarów i uwolnienie się od starych ograniczeń. Nie chodzi tu o wyeliminowanie czynnika ludzkiego, jak na początku obawiało się wielu administratorów, ale o zapanowanie nad chaosem, który powstaje, gdy rozrost środowiska jest tak duży, że ludzie przestają nad nim powoli panować.

Dynamiczny rozwój pociąga za sobą ogromne koszty, tak pracy zespołów administratorów, jak i koszty zakupu sprzętu obsługującego rozrastające się środowisko. W artykule przybliżymy ideę stojącą za pamięciami masowymi definiowanymi programowo oraz opiszemy, jak działa SDS i jakie są dostępne na rynku rozwiązania, zarówno darmowe, jak i komercyjne. Pokażemy też, jakie problemy można rozwiązać w firmie, migrując środowisko w kierunku rozwiązań hiperkonwergentnych, czyli łączących na poziomie serwera funkcje przetwarzania (compute) i przechowywania (storage).

> GENEZA ROZWIĄZAŃ SDS

W świecie informatyki nowe rozwiązania najczęściej są rozwinięciami poprzednich, ograniczonych systemów lub usług. Jeżeli przyjrzymy się np. klastrowemu systemowi plików, takiemu jak DRBD, i połączymy go z serwerem NFS, uzyskamy całkiem sporą funkcjonalność – bezpieczne, mirrorowane i dostępne zdalnie środowisko dla danych. Rozbudowa takiego systemu będzie jednak bardzo utrudniona (pierwsze ograniczenie), a całość dostępna tylko przez jeden punkt wejścia (drugie ograniczenie). W 2010 r. pojawił się GlusterFS – darmowy, definiowany programowo, podłączany sieciowo system plików, potrafiący agregować zasoby wielu serwerów w jedną spójną przestrzeń dostępną poprzez wiele punktów wejścia. Już z samej definicji widać, że GlusterFS znosi wymienione wyżej ograniczenia. Obecnie system ten traktowany jest jako prekursor pamięci masowej definiowanej programowo (powstał na długo przed powstaniem terminu SDS). Jego potencjał dostrzegła firma Red Hat, która kupiła firmę Gluster w 2011 r. i zbudowała na jej bazie rozwiązanie Red Hat Storage Server. Idea rozproszonej pamięci masowej została trwale zaszczepiona na rynku.

Jednak rozwiązania takie jak GlusterFS, MooseFS, LizardFS miały kolejne ograniczenie – zasoby nie mogły być udostępniane za pośrednictwem tradycyjnych urządzeń blokowych (tzw. block device, pozwalających na odczytywanie/zapisywanie danych blokami, czyli większymi grupami bajtów). Urządzenie takie (dyski, partycje) można np. sformatować, używając tradycyjnych systemów plików. Brak możliwości użycia rozproszonej pamięci masowej w dostępnym lokalnie urządzeniu blokowym było dla wielu firm barierą nie do przejścia. W odpowiedzi na to ograniczenie powstało kolejne rozwiązanie, jakim jest Ceph. System ten jest rozwijany intensywnie od 2012 r. i funkcjonuje jako rozproszona, obiektowa pamięć masowa, agregująca zasoby wielu serwerów w jedną spójną pulę zasobów. Pula ta jest dostępna tak w formie blokowego urządzenia RBD, jak i systemu plików CephFS. Ceph jest też punktem wyjścia dla wielu rozwiązań komercyjnych, takich jak na przykład EMC ScaleIO. Dlatego w artykule dokładnie omówimy sposób działania tego SDS-a, a przy omawianiu innych rozwiązań zawsze będziemy porównywać je do Ceph.

> CEPH – JAK DZIAŁA PAMIĘĆ MASOWA DEFINIOWANA PROGRAMOWO

Ceph jest rozproszonym, skalowalnym systemem pamięci masowej. Został zaprojektowany tak, aby był odporny na problem pojedynczego punktu awarii (klaster do poprawnego działania wymaga minimum trzech węzłów). Zarządzanie danymi na poziomie węzłów odbywa się całkowicie automatycznie, dane są replikowane w minimum dwóch kopiach. W przypadku awarii pojedynczego węzła lub dysku Ceph identyfikuje dane, dla których istnieje tylko jedna kopia, i automatycznie replikuje je na pozostałe węzły klastra. Pula przestrzeni danych może być łatwo rozszerzana i zmniejszana poprzez dodawanie lub ujmowanie kolejnych węzłów (lub dysków na poziomie serwera). Wraz ze wzrostem liczby węzłów w środowisku wzrasta też (teoretycznie w sposób liniowy) wydajność całego systemu.

Dane wewnątrz Ceph przechowywane są w postaci obiektowej, a każdy obiekt zawiera unikalny numer oraz dane i metadane go opisujące. Takie przechowywanie danych pozwala skalować pojemność systemu teoretycznie w nieskończoność. Ważną cechą jest też to, że nie są stawiane żadne wymagania, które musi spełnić sprzęt (HCL). Można więc użyć dowolnego serwera z dowolnym kontrolerem i dowolnym dyskiem, a Ceph ze wszystkim sobie poradzi, o ile sprzęt będzie działał stabilnie. Obiekty pomiędzy węzłami wymieniane są poprzez sieć Ethernet, dlatego preferowanym standardem mającym wpływ na wydajność jest 10G.

Ceph został zbudowany na bazie architektury warstwowej. Najniższa warstwa to RADOS, czyli klaster rozproszonej przestrzeni masowej realizujący wszystkie funkcje związane z przechowywaniem i zarządzaniem danymi (w funkcji blokowej). Następna warstwa to LibRADOS realizująca funkcje dostępowe do klastra dla aplikacji napisanych w wielu językach (np. C++, Ruby, Python). Następne warstwy to kolejno: RadosGW, brama dostępowa REST-API dla rozwiązań kompatybilnych z OpenStack SWIFT i Amazon S3. Kolejna RBD, czyli rozproszone urządzenie blokowe zapewniające dostęp blokowy do klastra Ceph. I na koniec CephFS, kompatybilny z POSIX system plików możliwy do zamontowania w przestrzeni użytkownika (FUSE).

[...]

Administrator i architekt systemów informatycznych z kilkunastoletnim doświadczeniem w IT. Specjalizuje się w środowiskach zwirtualizowanych opartych na technologii firmy VMware. Projektuje i wdraża systemy backupu, storage oraz sieci SAN.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"