Raz, dwa, dwa tysiące trzy

Magia cyfr: 64

Raz, dwa, dwa tysiące trzy

Różnice w zasobach pomiędzy 32- a 64-bitową wersją Windows Server 2003

Windows Server 2003 w wersji 64-bitowej działa zarówno na procesorach Intela, jak i AMD. Na potrzeby Itanium zmodyfikowano te elementy jądra i HAL (Hardware Abstraction Layer), które były specyficzne dla architektury x86. Różnice dotyczą m.in. sposobu przełączania zadań, architektury pamięci (np. w nowym procesorze Intela struktura tablic stron ma trzy poziomy). Pozostały kod Windows po prostu przekompilowano. Zmieniono także sposób organizacji dysku. W serwerach 64-bitowych tablica partycji jest zapisywana i na początku, i na końcu dysku. Wprowadzono nowy format tablicy partycji - GPT (GUID Partition Table), w której początek i koniec obszaru przypisanego danej partycji jest zapisywany jako słowo o długości 64 bitów. Znika także dotychczasowe ograniczenie co do liczby tablic podstawowych - dotychczas mogło ich być tylko cztery.

Poprawianie widoczności

Nowy system oferuje dwa mechanizmy podwyższania dostępności znane już z Windows 2000. Pierwszy z nich, NLB (Network Load Balancing), pozwala równomiernie rozkładać ruch IP pomiędzy wiele serwerów (do 32) pracujących w ramach farmy. Rozwiązanie to jest często stosowane do podwyższania dostępności serwerów WWW i serwerów usług terminalowych. Uproszczono proces instalacji klastra NLB. Obecnie można ją wykonać przy użyciu kreatorów lub specjalnej konsoli, podłączając się do dowolnego hosta farmy (reguły są automatycznie dystrybuowane między wszystkimi węzłami). Możliwość tworzenia farm NLB oferuje każda z czterech edycji Windows Server 2003.

Windows Server 2003 umożliwia też definiowanie tzw. klastrów wirtualnych, tworzonych przez skojarzenie kilku adresów IP z pojedynczą kartą sieciową. Pozwala to np. zdefiniować kilka niezależnych klastrów aplikacyjnych w ramach tej samej grupy serwerów fizycznych. System umożliwia też tworzenie tzw. klastrów usługowych (MSCS), w których jedna usługa, np. serwer Active Directory lub baza danych SQL Server, działa jednocześnie na kilku fizycznych komputerach.

Klastry MSCS są dostępne tylko w edycjach Enterprise i Datacenter systemu Windows Server 2003. Podobnie jak dotychczas, działają one w trybie share nothing, co oznacza, że poszczególne węzły klastra nie współdzielą żadnych zasobów. Liczba urządzeń wchodzących w skład pojedynczego klastra nie może przekroczyć ośmiu (dotychczas cztery). Zmiana w stosunku do usług MSCS dostępnych w Windows 2000 polega na zastosowaniu analogicznych kreatorów, jak w przypadku farm NLB. Nowością jest to, że praktycznie całą konfigurację klastra można zapisać w formie skryptu.

Opętani zarządzaniem

Nowością, która pojawia się w edycjach Enterprise i Data Center systemu Windows Server 2003, jest możliwość przypisywania określonych zasobów systemowych, np. procesorów czy pamięci, wybranej grupie procesów. Tego rodzaju mechanizmy były dotychczas dostępne jedynie w systemach Unix i mainframe. Do zarządzania zasobami służy specjalne narzędzie Windows System Resource Manager (WSRM), które nie znalazło się w oficjalnej wersji instalacyjnej (można je pobrać z witryny Microsoftu).

Pierwszym zasobem, którego wykorzystaniem można zarządzać poprzez WSRM, jest moc procesora. Narzędzie to pozwala administratorowi definiować szczegółowe zasady (tzw. polityki) alokacji zasobów. Można je przypisać grupie procesów, typowi usług systemowych, konkretnej aplikacji lub użytkownikowi. Moc procesora jest określana w procentach. Jednemu procesowi można przyporządkować najwyżej 99% mocy (1% musi zawsze pozostać dla domyślnej grupy obejmującej wszystkie pozostałe procesy).

Istnieją trzy podstawowe algorytmy zarządzania priorytetami. Mechanizm standardowy nie ingeruje w sposób podziału czasu pomiędzy procesy objęte jedną grupą. W jej ramach można jednak utworzyć podgrupy i dopiero na ich poziomie ingerować w priorytety. Inne opcje pozwalają dzielić czas procesora równo albo między wszystkie procesy, albo też wszystkich użytkowników. Ten ostatni podział wydaje się szczególnie użyteczny, gdy serwer udostępnia usługi terminalowe. Drugim zasobem, którym zarządza WSRM, jest pamięć. Dla każdej grupy można ustalić jej maksymalną wielkość, jaką może zarezerwować pojedynczy należący do niej proces (sumarycznego wykorzystania dla całej grupy nie można jednak ograniczyć).

Podczas określania zasad wykorzystania pamięci są definiowane dwa parametry. Pierwszy z nich to working set - maksymalna dostępna dla pojedynczego procesu liczba stron pamięci fizycznej (RAM). Jeżeli aplikacja alokuje dodatkowe bloki pamięci, najrzadziej używane strony pamięci w ramach working set będą przenoszone na dysk, by uwolnić miejsce dla nowo tworzonych stron. Drugi parametr określa sumaryczny, maksymalny rozmiar całkowitej pamięci (w tym wirtualnej), jaką można przydzielić pojedynczemu procesowi. Jeżeli limit ten zostanie przekroczony, WSRM może zatrzymać proces albo zapisać odpowiednie zdarzenie w logu. Narzędzie to będzie użyteczne tam gdzie pojawiają się problemy z aplikacjami błędnie zarządzającymi pamięcią.

Zestawy strategii mogą być nadawane zgodnie z założonym harmonogramem. Przykładowo, większy priorytet można nadać procesom uruchamianym pod koniec miesiąca lub procesom wsadowym uruchamianym w nocy. WSRM służy też do rejestrowania wykorzystania zasobów serwera, np. w celach rozliczeniowych. Rejestrowany jest m.in. użyty czas procesora, średnie wykorzystanie pamięci itp.


TOP 200