Dzielić to nie znaczy zawsze to samo

Podstawowe różnice między partycjonowaniem sprzętowym a programowym związane są z elastycznością podziału oraz niezależnością funkcjonowania poszczególnych partycji.

Podstawowe różnice między partycjonowaniem sprzętowym a programowym związane są z elastycznością podziału oraz niezależnością funkcjonowania poszczególnych partycji.

Dzielić to nie znaczy zawsze to samo

Komputery unixowe z funkcjami partycjonowania

Funkcje podziału wieloprocesorowego komputera na tzw. partycje lub domeny, pracujące pod kontrolą niezależnych instancji systemu operacyjnego, wprowadzono w rozwiązaniach unixowych na początku lat 90. Funkcja ta była dostępna wyłącznie w najwydajniejszych urządzeniach, ponieważ rozwiązania partycjono- wania znacznie podnosiły koszt komputerów. Wcześniej były dostępne tylko dla niewielkiej grupy użytkowników komputerów mainframe (za pionierów w tej dziedzinie uważa się Amdhala, Craya i IBM).

Obecnie możliwość dzielenia serwerów na niezależne domeny systemowe staje się już powszechnie dostępna. Problem w tym, że w nomenklaturze poszczególnych producentów termin "partycjonowanie" oznacza co innego.

Twardy podział

Dzielenie serwera na partycje wymaga kompromisu - dokonania wyboru między elastycznością podziału a stopniem izolacji poszczególnych domen. Przez elastyczność rozumie się możliwość wyboru elementu sprzętowego, na podstawie którego tworzona jest partycja płyty systemowej, składającej się z procesora pamięci i urządzeń wejścia/wyjścia (I/O), pojedynczego procesora czy nawet wyrażonej procentowo części jego mocy. Termin "izolacja" oznacza stopień uniezależnienia jednej partycji od awarii komponentów przydzielonych innym partycjom.

Największą izolacją, a zarazem najmniejszą elastycznością charakteryzuje się tzw. partycjonowanie sprzętowe. W tym przypadku najmniejszym elementem, który może stanowić pojedynczą partycję, jest płyta systemowa. Nie ma wówczas znaczenia, czy na płycie zainstalowany jest jeden czy cztery procesory oraz liczba modułów pamięci, ponieważ wszystkie zasoby w jej obrębie mogą wejść do jednej partycji sprzętowej. Niemniej w skład każdej partycji sprzętowej muszą wchodzić co najmniej jeden procesor, moduł pamięci oraz określona liczba urządzeń I/O.

Jeśli płyta systemowa nie jest wyposażona we własne złącza PCI, to liczba możliwych do utworzenia partycji jest uzależniona od liczby modułów I/O zainstalowanych w systemie. Przykładowo, w przypadku modelu serwera SunFire 4800 firmy Sun Microsystems, pomimo użycia maksymalnie 3 płyt systemowych, liczba modułów I/O ogranicza liczbę możliwych do utworzenia partycji do 2. Podobnie serwer Hewlett-Packard rp8400, wypo- sażony w 4 płyty i 2 moduły I/O (firma planuje rozszerzenie liczby modułów do 4), umożliwia utworzenie tylko 2 partycji. Konieczność wykorzystania modułów I/O jest związana m.in. z potrzebą zapewnienia możliwości uruchamiania serwe- ra (boot) czy zapewnieniem ko- munikacji zewnętrznych urządzeń z domeną.

Partycjonowanie sprzętowe może mieć charakter dynamiczny, tzn. umożliwiać zmianę przypisanych domenie zasobów systemowych bez konieczności zatrzymywania pracy systemu operacyjnego. Partycjonowanie dynamiczne jest dostępne w komputerach Sun, Fujitsu-Siemens Computers i Compaq. Natomiast Hewlett-Packard umożliwia jedynie podział statyczny, tzn. przesunięcie płyty systemowej do innej domeny wiąże się z koniecznością jej ponownego uruchomienia. Szczególny przypadek statycznego podziału na domeny zastosowa- no w IBM RS6000 SP, który składała się z dwóch "sztywnych" partycji - nie było możliwe zainstalowanie systemu operacyjnego, który korzystałby z zasobów wchodzących w skład obydwu.

Podstawową zaletą partycji sprzętowych jest zapewnienie bardzo wysokiego poziomu izolacji między domenami. Uszkodzenie elementów sprzętowych czy programowych, wchodzących w skład jednej z nich - procesora, pamięci czy całej płyty - nie wpływa na pracę innych domen. Poza tym na poszczególnych partycjach mogą pracować różne systemy lub przynajmniej różne ich wersje.

Dodatkowa izolacja sprzętowa może zachodzić na poziomie szyny systemowej. Przykładowo, Sun umożliwia niezależne od partycjonowania dzielenie systemu na dwie części, w których można tworzyć domeny. Dzięki temu partycje działające w każdej z dwóch części zyskują na poziomie szyny systemowej niezależny dostęp do zasobów systemowych.

Czemu służy partycjonowanie?

1. Optymalne wykorzystanie jednego komputera do różnych celów, w miarę wzrostu potrzeb aplikacji pracującej na jednej partycji można zwiększać ilość przydzielonych jej zasobów

2. Możliwość uruchamiania różnych systemów lub innych wersji systemu operacyjnego

3. Zwiększenie niezawodności aplikacji uruchamianych na jednym komputerze

4. Tworzenie aplikacji wielowarstwowych, poszczególne partycje służą do obsługi kolejnych warstw - obsługi bazy danych, serwerów aplikacyjnych czy serwerów internetowych

5. Zmniejszenie kosztów związanych z obsługą dużej liczby serwerów

6. Uproszczenie administrowania

7. Dokonywanie szybkiej replikacji danych (szybka komunikacja między partycjami)

8. Testowanie aplikacji (przełączenie partycji między starą a nową wersją spowoduje przeniesienie wszystkich użytkowników do nowej wersji aplikacji, korzystając z danych zapisanych na współdzielonych systemach dyskowych)

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200