Block, File & Object Storage
 
Blokowe, plikowe i obiektowe pamięci masowe (ang. storage) udostępniają różne sposoby komunikacji, organizacji i składowania danych, a także różne funkcjonalności. Na różne sposoby dbają też o bezpieczeństwo danych. Z drugiej strony, różne aplikacje i usługi korzystają z różnych metod dostępu do danych. Każda z metod ma specyficzne dla siebie zastosowania oraz scenariusze, w których sprawdza się lepiej lub gorzej.
Dlatego przed wyborem pamięci masowej, dobrze jest zestawić obecne i przyszłe wymagania, a także zastanowić się nad tym, do jakich celów będzie stosowana. Wszystko się zmienia i idzie do przodu, pojawiają się nowe aplikacje i wymagania, a też skala tego co musimy obsłużyć rośnie. Dlatego też wybór tych samych rozwiązań co 5 czy 10 lat temu niekoniecznie ma dziś sens czy jest najlepszą z możliwych decyzji. Choć co nie wybierzemy, to pewnie "jakoś" będzie działać, to pytanie czy i jak długo to "jakoś" będzie dla nas wystarczające.

Block Storage udostępnia urządzenia blokowe różnym systemom operacyjnym. Możemy je tam dowolnie dzielić czy partycjonować, a następnie tworzyć na nich różne systemy plików. To dopiero w nich zwykle składowane są dane. Jako, że te pamięci masowe najczęściej stosuje się w transakcyjnych i bazodanowych zastosowaniach, to też na nich następnie uruchamia się takie bazy danych, jak m.in. MariaDB, PostgreSQL czy Microsoft SQL.

Takie urządzenia blokowe są też używane przez platformy do wirtualizacji, które dzielą je na części, a następnie w postaci dysków udostępniają je maszynom wirtualnym. LINBIT SDS Red Hat Ceph Storage umożliwiają także udostępnianie takich urządzeń blokowych kontenerom, w postaci trwałej przestrzeni danych.

Uządzenia blokowe składują dane w blokach o stałej wielkości. Bloki te ułożone są na nich jeden za drugim, w sposób ciągły. Zwykle takie bloki danych grupowane są razem tworząc LUN (Logical Unit Number) lub wolumen, który udostępniany jest na zewnątrz w postaci urządzenia blokowego. Dostęp do takiego urządzenia blokowego odbywa się poprzez DAS (Direct Attached Storage) lub SAN (Storage Area Network)
W obu przypadkach stosuje się głównie protokoły SCSI, NVMe i FICON, które to przypadku sieci SAN przenoszone są z użyciem m.in. iSCSI, FC, FCoE lub NVMe-oF (NVMe over Fabric, gdzie fabryką może być sieć FC, Ethernet czy TCP/IP). Urządzenia blokowe mogą być też udostępniane za pomocą DRBD Diskless i RBD (RADOS Block Device).
 
Jeżeli w danym systemie operacyjnym lub platformie do wirtualizacji dostępny jest interfejs HBA (Host Bus Adapter), to do komunikacji w sieci SAN będzie stosował protokół FC, FCoE lub NVMe-oF, a jeżeli NIC (Network Interface Card), to do komunikacji poprzez sieć SAN będzie stosować iSCSI, NVMe-oF, RBD lub DRBD Diskless.
 

Dostęp do urządzeń blokowych może być realizowany w sposób redundantny (Active/Passive) lub za pośrednictwem kilku ścieżek jednocześnie (Active/Active). W zależności od protokołu czy technologii realizowane jest to nieco inaczej. Dla iSCSI, FC i FCoE wykorzystuje się Multipath, który jest obsługiwany m.in. w systemie RHEL i platformach do wirtualizacji Red Hat Virtualization i VMware vSphere.
 
Rozwiązania obsługujące RBD (RADOS Block Device), jak Red Hat OpenStack Platform czy Red Hat Virtualization mogą równolegle i przez to z wyższą wydajnością i bardziej niezawodnie komunikować się z wieloma węzłami udostępniającymi blokowe urządzenia klastra Red Hat Ceph Storage.
 
Podobnie systemy z rodziny GNU/Linux, jak RHEL8, które pracują w ramach klastra LINBIT SDS, mogą dzięki DRBD Diskless być połączone równolegle z kilkoma węzłami obsługującymi repliki danych.

Blokowe pamięci masowe (ang. block storage) najczęściej stosowane są:
  • dla relacyjnych bazy danych,
  • tam gdzie obsługiwana jest duża ilość losowych operacji I/O,
  • dla kontentu, którego wewnętrzna zawartość bardzo często się zmienia,
  • tam gdzie wymagane są bardzo niskie opóźnienia,
  • do składowania dysków maszyn wirtualnych.
Do rozwiązania SDS (Software-Defined Storage), które udostępniają blokową przestrzeni danych należy LINBIT SDS i Red Hat Ceph Storage. Oczywiście, przy użyciu iSCSI można także udostępniać składowane pliki w ramach Red Hat Gluster Storage. Niemniej, jeżeli faktycznie potrzebujemy blokowego dostępu do danych, to powinniśmy skorzystać z LINBIT SDS lub Red Hat Ceph Storage.

Należy też pamiętać, że dzięki obsłudze LIO (Linux-IO), system RHEL może udostępnić pliki i urządzenia blokowe za pomocą iSCSI, FC czy FCoE. W ten sposób taką pamięć masową można zbudować ze zwykłego serwera.
 
Jeżeli potrzebna nam dodatkowa replikacja czy georeplikacja, to wystarczą dwa lub trzy serwery z systemem RHEL i obsługą LINBIT HA lub LINBIT DR. Jeżeli bazą będzie system RHEL8, to także będziemy mogli korzystać z VDO, które udostępnia funkcje deduplikacji, kompresji i eliminacji bloków zerowych. W ten sposób można samodzielnie zbudować dość zaawansowany, funkcjonalny i wysoko dostępny system pamięci masowej.
 
Zainteresowanych macierzami dyskowymi czy pamięciami masowymi nowej generacji (NextGen Storage) zachęcamy do zapoznania się z IBM FlashSystem 5200, IBM FlashSystem 7200 i IBM FlashSystem 9200.

Wszystkich zainteresowanych rozwiązaniami do składowania danych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it. z nami.

File Storage udostępnia udziały, w których możemy tworzyć struktury katalogowe i hierarchicznie składować pliki. Aby dostać się do danego pliku, wymagane jest znanie ścieżki katalogowej. Odpowiada to temu, jak w rzeczywistości gromadzimy i grupujemy dokumenty. Stąd do takich zastosowań najczęściej będą one stosowane.
 

Dostęp do udziałów plikowych najczęściej realizowany jest z użyciem protokołu CIFS (Common Internet File System), SMB (Server Message Block), AFP (Apple Filing Protocol) czy NFS (Network File System).
 
Dawniej też do takiego dostępu powszechnie stosowany był protokół FTP (File Transfer Protocol), który obecnie staje się coraz mniej popularny i stopniowo wypierany jest przez usługi chmurowe, jak Nextcloud. Należy pamiętać, że usługi chmurowe można uruchomić także wewnątrz własnej prywatnej infrastruktury.
 
Przy wyborze odpowiednich rozwiązań i protokołów warto pamiętać o bezpieczeństwie. Dostęp do udziałów plikowych poprzez SMB, AFP, jak i NFS może zostać zintegrowany z usługami typu LDAP/Kerberos, jak Microsoft AD (Active Directory) czy Red Hat IdM (Identity Management). Obecnie nie powinno też już stosować się SMBv1 i NFSv3.
 
Przy NFS warto zwracać uwagę na obsługę pNFS (Parallel NFS). Niektóre rozwiązania SDS, jak Dell/EMC Isilon wciąż tego nie mają. Dzięki pNFS możliwa jest bezpośrednia komunikacja z kilkoma węzłami klastra NFS i co za tym idzie szybszy i wydajniejszy dostęp do danych.

Dodatkowo systemy GNU/Linux, jak RHEL mają możliwość bezpośredniego korzystania z GlusterFS czy CephFS. W ten sposób w trakcie wysyłania czy pobierania danych mogą równolegle komunikować się z wieloma węzłami klastra Red Hat Gluster Storage czy Red Hat Ceph Storage. Ma to pozytywny wpływ na szybkość i niezawodność. 
Stąd dla lepszej wydajności i szybkości, te rozwiązania powinniśmy wybrać, jeżeli będziemy udostępniać udziały plikowe systemom GNU/Linux. Oczywiście inne też będą mogły z nich korzystać poprzez m.in. SMB czy NFS.

Plikowe pamięci masowe (ang. file storage) najczęściej stosowane są do składowania:
  • plików PDF, obrazków, skanów, grafik, nagrań wideo i dźwięku,
  • dokumentów tekstowych, prezentacji i arkuszy kalkulacyjnych,
  • obrazów maszyn wirtualnych (VM) i kontenerów,
  • logów, zdarzeń, kopii zapasowej i archiwów,
  • danych geoprzestrzennych w różnym formacie,
  • dużej ilości strumieni obrazu z kamer,
  • dużych zbiorów danych do analizy (Hadoop, Splunk i szeroko pojęte Big Data),
  • wszelkich innych typowych dla serwerów plików danych.
Do rozwiązania SDS (Software-Defined Storage), które udostępniają plikowe udziały należy Red Hat Gluster Storage i Red Hat Ceph Storage. Oczywiście udziały takie można także udostępnić pośrednio z urządzeń blokowych, za pomocą Samba czy NFS Ganesha. W ten sposób takie rozwiązania, jak LINBIT SDS także mogą być stosowane do dostarczania przestrzeni dla udziałów plikowych.
 
Do udostępniania udziałów plikowych stosowane są też rozmaite urządzenia typu NAS (Network Attached Storage). My polecamy samodzielną konfigurację systemu RHEL8 do takich celów. W ten sposób można zyskać większą elastyczność w konfiguracji i diagnozie, a w przyszłości łatwo zmienić zastosowanie takiego serwera.

Wszystkich zainteresowanych rozwiązaniami do składowania danych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it. z nami.

Object Storage składuje dane w formie obiektów, które zawierają dane, unikalny identyfikator oraz metadane. Wszystkie obiekty danego zbioru składowane są w płaskiej strukturze, zatem nie ma pomiędzy nimi żadnej hierarchii. Metadane obiektu mogą być bardzo rozbudowane. To dzięki nim, do grupowania nie jest potrzebna znana z udziałów plikowych hierarchia katalogowa. Obiekty da się przeszukiwać, listować i analizować w oparciu o elastycznie konfigurowalne metadane. Metadane można samodzielnie dodawać, usuwać i modyfikować.
 

Obiekty tworzone są w ramach płaskich i wyizolowanych przestrzeni nazywanych wiadrami (ang. bucket) lub kontenerami (ang. containers). Dzięki nim, w bezpieczny sposób z jednej obiektowej pamięci masowej może korzystać wielu użytkowników czy niezależnych aplikacji i usług. Obiekty można też wersjonować, co ułatwia przywrócenie poprzedniej wersji czy odzyskanie danych w przypadku ich uszkodzenia czy zaszyfrowania.

Z obiektowych przestrzeni korzystają głównie aplikacje, które wymagają możliwości dodawania indywidualnych metadanych dla różnych grup obiektów. Metadane te nadają obiektom konkretne znaczenie.

Dla przykładu do obiektu można dodać informacje m.in. o prawach autorskich, osobie czy zespole który wykonała zdjęcie lub nagranie, modelu aparatu czy kamery jakim zostało to wykonane, nazwie projektu w ramach którego powstał obiekt, lokalizacji w której zostało stworzone zdjęcie lub nagranie czy nawet liście osób lub przedmiotów będąca na zdjęciu czy w nagraniu. Ilość oraz rodzaj metadanych zależna jest od nas.

Dostęp do obiektowych przestrzeni danych odbywa się za pośrednictwem protokołu S3 (Simple Storage Service) lub OpenStack Swift. W związku z tym, że całą komunikacja odbywa się wewnątrz HTTP/HTTPS, dostęp do obiektowych przestrzeni danych można bardzo łatwo skalować, w tym zapewnić jego wysoką dostępność i rozkład obciążenia. Do tego celu można zastosować Red Hat Load Balancer.

Obiektowe przestrzenie danych umożliwiają nieskończoną skalowalność i łatwą rozbudowę. Dostęp do obiektów odbywa się poprzez unikalny identyfikator i dzięki płaskiej strukturze jest bardzo szybki.

Obiektowe pamięci masowe (ang. object storage) najczęściej stosowane są:
  • do składowania obrazów oraz dysków i urządzeń blokowych w Red Hat OpenStack (Glance, Cinder i Nova),
  • przez aplikacje uzyskujące dostęp do danych z użyciem API (HTTP/HTTPS),
  • jako trwała przestrzeń danych dla kontenerów (ang. persistent storage),
  • przez aplikacje multimedialne składujące nagrania i zdjęcia,
  • usługi mikroserwisowe do składowania danych i stanu usług,
  • w ML (Machine Learning), AI (Artificial Intelligence) i IoT (Internet of Things),
  • do budowy infrastruktury NFV (Network Function Virtualization),
  • w analityce na bardzo dużych ilościach danych (Big Data),
  • przez aplikacje i środowiska chmurowe,
  • aktywnych archiwów i kopii zapasowych.
Rozwiązaniem SDS (Software-Defined Storage), które udostępnia obiektową przestrzeń jest Red Hat Ceph Storage.
 
Wewnątrz SDS obiekt zwykle dzielony jest na mniejsze części, a następnie odpowiednio rozrzucany i replikowany. Automatyczne rozmieszczanie obiektów i ich kopii może być realizowane w oparciu o zdefiniowane polityki dla lokalizacji danych (różne centra danych, pomieszczenia, szafy, serwery czy dyski). Obiekt może być tworzony i istnieć na poziomie urządzenia blokowego lub systemu plików.

Red Hat Ceph Storage jest zalecaną przestrzenią danych do składowania dużej ilości plików w usłudze Nextcloud, w ramach własnej chmury prywatnej.

Wszystkich zainteresowanych rozwiązaniami do składowania danych zapraszamy do This email address is being protected from spambots. You need JavaScript enabled to view it. z nami.

Na rynku dostępne jest wiele różnych rozwiązań do składowania danych, a ich wybór nie zawsze jest łatwy. Jeżeli potrzebne nam rozwiązanie do różnych zastosowań, wtedy dobrym wyborem powinien być Red Hat Ceph Storage. Niemniej, w wielu miejscach stosuje się różne rozwiązania w różnych scenariuszach zastosowań. Wszystko zależeć będzie zarówno od skali, jak i potrzebnych funkcjonalności oraz konkretnego przypadku.

My z naszej strony najbardziej polecamy LINBIT SDS i Red Hat Ceph Storage, gdyż są szybkie, wydajne, skalowalne i potrafią zaspokoić większość, jak nie wszystkie ze stawianych wymagań. 

Zapraszamy do kontaktu drogą mailową This email address is being protected from spambots. You need JavaScript enabled to view it. lub telefonicznie +48 797 004 932.