W potocznym rozumieniu, gdy użytkownicy mówią o kontrolerach w macierzach typu active-active, mają na myśli, że oba kontrolery pracują jednocześnie i obsługują ruch I/O w tym samym czasie.
Oczekują, że macierz automatycznie rozkłada obciążenie na oba kontrolery, co przekłada się na lepszą wydajność i większą niezawodność. W razie awarii jednego z kontrolerów, drugi natychmiast przejmuje całość ruchu bez przerwy w dostępie do danych, dzięki czemu użytkownicy i aplikacje nie zauważają żadnych zakłóceń.
Użytkownicy często zakładają też, że hosty mogą korzystać z obu ścieżek do macierzy, a przełączenie w razie awarii jest całkowicie przezroczyste dla systemów i aplikacji.
W praktyce nie zawsze jest to tak idealne, bo szczegóły działania zależą od konkretnej architektury macierzy i konfiguracji środowiska, ale właśnie tak najczęściej rozumiane jest pojęcie active-active w kontekście kontrolerów macierzowych.


Active-active w macierzach Dell – jak kontrolery obsługują operacje I/O
Architektura kontrolerów w systemach pamięci masowej ma kluczowe znaczenie dla wydajności, dostępności i odporności na awarie.
W szczególności tryb active-active jest często postrzegany jako gwarancja wysokiej dostępności, ale jego implementacja może się znacząco różnić w zależności od klasy urządzenia.
W macierzach Dell PowerVault ME5, Unity XT i PowerStore zastosowano trzy odmienne podejścia do przypisywania operacji I/O do kontrolerów, co wpływa na sposób pracy całego systemu.
1.PowerVault ME5 – aktywność kontrolerów z ograniczoną równoległością na poziomie wolumenu
W przypadku Dell PowerVault ME5 mamy do czynienia z architekturą dual-controller active-active, która jednak nie oznacza pełnej równoległości przetwarzania danych. Choć oba kontrolery są aktywne, nie realizują dynamicznego rozkładu obciążenia dla operacji I/O dotyczących tego samego wolumenu. Równoległość istnieje jednak na poziomie całej macierzy – jeśli pule dyskowe są rozdzielone pomiędzy kontrolery, to przypisane do nich wolumeny mogą być obsługiwane jednocześnie, każdy przez swój kontroler.
W odróżnieniu od bardziej zaawansowanych rozwiązań, w ME5 przypisanie nie dotyczy pojedynczego wolumenu (LUN), lecz całej puli dyskowej (disk pool).
Oznacza to, że wszystkie wolumeny utworzone w ramach danej puli są przypisane do jednego z dwóch kontrolerów jako ich „właściciela” (owner).
Wszystkie operacje I/O dla tych wolumenów są kierowane wyłącznie do przypisanego kontrolera. Drugi kontroler pozostaje aktywny, ale pełni rolę zapasową, przejmuje obsługę tylko w przypadku awarii kontrolera głównego.
Taki model działania, choć zapewnia wysoką dostępność dzięki automatycznemu mechanizmowi failover, nie pozwala na dynamiczne rozdzielanie obciążenia między kontrolerami.
W praktyce oznacza to, że jeden kontroler może być przeciążony, jeśli obsługuje intensywnie wykorzystywaną pulę, podczas gdy drugi pozostaje niewykorzystany.
Co więcej, przypisanie puli do kontrolera jest stałe i nie zmienia się automatycznie w odpowiedzi na zmiany w obciążeniu.
To ograniczenie sprawia, że ME5 nie nadaje się do środowisk o dużej zmienności obciążenia lub wymagających intensywnego przetwarzania danych, gdzie kluczowe jest równoważenie operacji I/O w czasie rzeczywistym.
2.Unity XT – preferowany kontroler i częściowa równoległość
Dell Unity XT również wykorzystuje dwa kontrolery w trybie active-active, ale w bardziej zaawansowany sposób niż ME5.
Każdy LUN ma przypisany „preferowany” kontroler, do którego domyślnie kierowane są operacje I/O. W odróżnieniu od ME5, drugi kontroler nie jest tylko zapasowy, może aktywnie uczestniczyć w obsłudze danych, szczególnie w sytuacjach przeciążenia lub awarii.
Mechanizm ten pozwala na częściowe rozdzielanie obciążenia i lepsze wykorzystanie zasobów, choć nadal nie mamy pełnej swobody w przypisywaniu operacji I/O do dowolnego kontrolera.
Failover jest szybki i automatyczny, a system potrafi dynamicznie reagować na zmiany w obciążeniu, co czyni Unity XT bardziej elastycznym rozwiązaniem dla środowisk produkcyjnych.
3.PowerStore – pełna równoległość i dynamiczne przypisywanie I/O
Najbardziej zaawansowane podejście do architektury active-active prezentuje Dell PowerStore.
W tym modelu zastosowano kontenerową architekturę scale-out, w której każdy węzeł (kontroler) może obsługiwać operacje I/O dla dowolnego LUNa, bez przypisania właściciela. Oznacza to, że dane mogą być przetwarzane równolegle przez wiele kontrolerów, a system samodzielnie decyduje, który węzeł najlepiej obsłuży daną operację.
Dzięki globalnej pamięci podręcznej (global cache), PowerStore potrafi dynamicznie balansować obciążenie między węzłami, co przekłada się na maksymalną wydajność i optymalne wykorzystanie zasobów. Failover jest całkowicie automatyczny, a migracja wolumenów między kontrolerami odbywa się bez przestojów. To podejście eliminuje wąskie gardła i pozwala na skalowanie wydajności w miarę rozbudowy klastra.
Porównanie podejść do przypisywania I/O:


Wnioski
Choć wszystkie trzy macierze Dell deklarują tryb pracy active-active, ich rzeczywiste możliwości w zakresie przypisywania operacji I/O do kontrolerów są bardzo różne. ME5 oferuje podstawową dostępność z ograniczoną równoległością, Unity XT zapewnia większą elastyczność i częściowe rozdzielanie obciążenia, natomiast PowerStore reprezentuje pełną implementację active-active z dynamicznym przypisywaniem I/O i skalowalnością klasy enterprise.
Zrozumienie tych różnic jest kluczowe przy projektowaniu infrastruktury IT, szczególnie tam, gdzie wydajność, dostępność i skalowalność mają krytyczne znaczenie.































