Wirtualizacja danych jest jedną z nowszych technologii informatycznych, która porządkuje nieład panujący w tym obszarze. Nieład ten polega na tym, że w systemie informatycznym pracują często pamięci masowe oparte na różnych technologiach i dostęp do danych musi być za każdym razem realizowany przy użyciu odmiennych protokołów i metod. A użytkownik chciałby postrzegać wszystkie pamięci masowe jako jedną logiczną całość. Można to osiągnąć, stosując oprogramowanie wirtualizujące dane. U podstaw tej technologii legła następująca myśl: czy nie można by opracować rozwiązania, które pozwalałoby agregować dane przechowywane na różnych urządzeniach pełniących rolę pamięci masowej i umieszczać je w pojedynczej puli zasobów, do której można uzyskać szybko dostęp i którą można łatwo zarządzać z jednego centralnego miejsca?
Wirtualizacja to nic innego jak odpowiednie przedstawienie fizycznych pamięci masowych, co można osiągnąć, stosując wyrafinowane metody abstrakcji. Technologia wirtualizacji maskuje przed użytkownikiem całą złożoność sieciowych pamięci masowych, budując logiczny obraz danych, który jest odizolowany od całej skomplikowanej struktury urządzeń fizycznych. Specjalne oprogramowanie zbiera dane przechowywane na różnych typach sieciowych pamięci masowych (czyli na urządzeniach SAN, urządzeniach NAS i systemach pamięci masowej dołączonych bezpośrednio do serwera) i umieszcza je we wspólnej puli, którą można łatwo monitorować i administrować z pojedynczej konsoli zarządzania.
Poszczególni producenci sieciowych pamięci masowych stosują różne metody wirtualizacji pamięci: niektórzy używają mechanizmów wirtualizacji obsługujących tylko produkowane przez siebie urządzenia, podczas gdy inni stosują tę technologię w odniesieniu do urządzeń pamięci masowej oferowanych także przez innych producentów. Wiele firm oferuje narzędzia wirtualizujące dane, ale każde z nich realizuje to zadanie w inny sposób i w różnym stopniu.
Różne wizje wirtualizacji
Możliwość gromadzenia wszystkich pamięci masowych (danych) w jednej puli i tworzenia jednego wirtualnego obrazu danych jest kuszącym rozwiązaniem, jednak jest to nowa technologia i dlatego warto się jej dobrze przyjrzeć. Istnieją trzy sposoby implementowania wirtualizacji - każda ma swoje plusy i minusy. Wirtualizacja pamięci masowych (która może być wykonywana przez serwer, przez dedykowane urządzenie sieciowe lub przez macierz) jest stosunkowo świeżą koncepcją, o której jeszcze kilka lat temu mało kto mówił.
W ramach tej klasyfikacji firmy opracowują produkty oparte na: 1. Wirtualizacji symetrycznej, zwanej też wirtualizacją „in band”, czyli realizowaną w ramach pasma (mówiąc jeszcze inaczej - na ścieżce danych). 2. Wirtualizacji asymetrycznej, zwanej też wirtualizacją „out-of-band”, czyli realizowaną poza pasmem (na zewnątrz ścieżki danych). W implementacjach w „ramach pasma” urządzenie wirtualizujące jest usytuowane na ścieżce danych między serwerem a pamięcią masową. Urządzenie takie przekazuje dane oraz całą inteligencję do dołączonych do niego macierzy. W implementacjach „poza pasmem” zarządzaniem danych (wymienianych między pamięcią masową i serwerem, przełącznikiem czy też ruterem) zajmuje się serwer lub macierz.
Wirtualizacja wykonywana przez serwer lub macierz
Na początku producenci implementowali wirtualizacje oparte na serwerze lub macierzy. Wirtualizacja taka charakteryzuje się tym, że oprogramowanie i cała inteligencja pozwalająca gromadzić dane w jednej puli są instalowane na serwerze lub w macierzy. Ze względu na to, że wirtualizacja oparta na serwerze lub na macierzy nie wymaga instalowania na ścieżce danych dodatkowego urządzenia, to ma w porównaniu z wirtualizacją opartą na urządzeniu sieciowym jedną podstawową zaletę - można ją elastycznie skalować. Dodatkowa korzyść polega na tym, że nie trzeba wtedy modyfikować innych urządzeń zainstalowanych w sieci (takich jak przełączniki Fibre Channel, rutery itp…). Wada takiego rozwiązania polega natomiast na tym, że serwer wirtualizujący dane jest obciążony dodatkowymi zadaniami, co może stwarzać określone problemy, jeśli chodzi o czas odpowiedzi serwera na żądania zgłaszane przez podstawowe aplikacje. Producenci argumentują, że wirtualizacja oparta na macierzy ma jeszcze jedną niebagatelną zaletę - taką aplikację można dokładnie stroić, ponieważ każdy producent zna doskonale zasady pracy swoich macierzy.
Wirtualizacja wykonywana przez dedykowane urządzenie sieciowe
Dotąd większość dostawców wydaje się preferować wirtualizację opartą na oprogramowaniu przetwarzającym dane w ramach pasma, które jest instalowane na urządzeniu sieciowym (najczęściej jest to standardowy serwer intelowski pracujący pod systemem Windows NT/2000 lub Linux). Jeśli chodzi o wirtualizację opartą na urządzeniu sieciowym, to może tu wystąpić ten sam problem, z którym administratorzy borykają się często po zaimplementowaniu wirtualizacji opartej na serwerze. Wirtualizacja taka spowalnia pracę innych serwerów zainstalowanych w sieci, które nie są co prawda odpowiedzialne za wirtualizację, ale i tak muszą cały czas monitorować urządzenie sieciowe (czyli serwery wirtualizujące dane w ramach pasma), po to aby uzyskać od nich informacje, gdzie są przechowywane ich dane.
Problem polega na tym, że układy I/O instalowane w urządzeniach wirtualizujących dane (standardowe serwery intelowskie) pracują za wolno, aby mogły z powodzeniem obsługiwać takie aplikacje, jak tworzenie migawkowych kopii danych, replikowanie czy buforowanie danych. Specjaliści wymieniają dwie zalety wirtualizacji „w ramach pasma” opartej na urządzeniu sieciowym. Po pierwsze, użytkownik nie musi instalować dodatkowego oprogramowania na serwerach. Po drugie, wystarczy, aby wszystkie żądania I/O i odpowiedzi przechodziły przez motor wirtualizacji (nie trzeba instalować nigdzie w sieci żadnego dodatkowego oprogramowania). Niektórzy producenci gromadzą we wspólnej puli tylko te dane, które są przechowywane na ich dyskach twardych; inni budują pule, w których można umieszczać dane przechowywane na różnych pamięciach masowych. Są też tacy, którzy tworzą pulę i oferują aplikacje - takie jak lustrzany zapis danych, replikowanie danych i tworzenie migawkowych kopii danych. Analitycy mówią, że takie aplikacje są tak samo ważne (chodzi o proces zarządzania pamięciami masowymi) jak sama wirtualizacja danych.