10.doc

(460 KB) Pobierz
Helion

 









Rozdział 10. ¨ Serwer w sam raz, to znaczy jaki?              251

Rozdział 10.
Serwer w sam raz,
to znaczy jaki?

u        Ile RAM-u?

u        SCSI kontra IDE.

u        Systemy RAID.

u        Architektury sieciowej pamięci masowej.

u        Sloty i waty.

u        Moc procesora.

u        Konfiguracje wieloprocesorowe.

u        Pamięć z korekcją błędów.

u        Podsumowanie serwerów.

 

 

 

Usługa WWW to usługa plików

Serwery WWW to przede wszystkim serwery plików, na których działa konkretna aplikacja. O ile serwer WWW nie jest wykorzystywany do handlu elektronicznego i nie realizuje szyfrowania na potrzeby sesji SSL przeglądarki, to nie potrzebuje zbyt wiele mocy obliczeniowej. Zwykle jednak typowy serwer WWW musi się charakteryzować wysoką niezawodnością. Zamiast kupować szybki procesor dla serwera WWW lub serwera plików, lepiej wydać pieniądze na zwiększenie jego niezawodności, na przykład przez zakup macierzy RAID. W przypadku dużego obciążenia serwera ruchem lub konieczności wykorzystania go do handlu elektronicznego, najlepiej powierzyć jego prowadzenie wyspecjalizowanej firmie.

Termin serwer jest nadużywany i schizofreniczny. Serwery to urządzenia funkcjonalne i urządzenia fizyczne. Serwerem może być moduł oprogramowania działający na zwykłym komputerze biurowym, „czarna skrzynka” posiadająca na zewnątrz tylko gniazdko zasilające i gniazdko do sieci Ethernet, a także komputer wielkości sporej lodówki z wentylatorami i chłodzeniem cieczą. Dla pełnej jasności ustalmy zatem, że w tym rozdziale zajmować się będziemy serwerami od strony sprzętowej. W szczególności skupimy się na sprzęcie niezbędnym do zapewnienia prawidłowego działania ważnych aplikacji biznesowych.

Wiele firm – w tym Compaq, Dell i IBM – a także dużo mniejszych producentów sprzedaje komputery specjalnie przeznaczone do działania w roli serwerów plików
i aplikacji. Maszyny te mają zwykle sporo miejsca na napędy dysków oraz dużo portów do podłączania drukarek i ploterów. Systemy te mogą także zasilać sieciowy system operacyjny mocą kilku procesorów i mają inne cechy poprawiające ich wydajność i niezawodność.

Serwery plików i wydruków nie potrzebują wiele mocy. Prawidłowo skonfigurowany komputer ze zwykłym procesorem 133 MHz może w roli serwera plików lub wydruków obsłużyć od 100 do 200 klientów PC w typowych zastosowaniach biurowych. Z takim starszym sprzętem można używać systemów operacyjnych NetWare, Windows NT lub Linux. Dodatkową poprawę wydajności i niezawodności w sieci pecetów używających edytorów tekstu i arkuszy kalkulacyjnych można uzyskać, dzieląc obsługę klientów na kilka serwerów, zamiast koncentrować ją
w jednej maszynie.

Nietrudno jest wskazać podstawowe elementy dobrego serwera uniwersalnego: najszybszy i najbardziej pojemny system dysków, na jaki można sobie pozwolić, szybka magistrala danych, od czterech do sześciu wolnych gniazd rozszerzeń, pamięć RAM o wielkości odpowiedniej do pojemności dysków i liczby użytkowników oraz odpowiednio wydajny procesor lub system wieloprocesorowy. Najważniejszym elementem jest szybki napęd dysku twardego. Co prawda współczesne oprogramowanie buforujące pomoże wolnemu dyskowi w obsłudze żądań tych samych lub sąsiadujących ze sobą danych, jednak powszechne zadania w rodzaju ładowania programów użytkowych tylko raz odwołują się do dysku i ich szybka obsługę może zapewnić tylko szybki napęd dysku twardego.

 

 

 

Rozłożyć obciążenie

Odczuwalny jest obecnie trend ku niezawodnym serwerom wielofunkcyjnym. Można znajdować argumenty za takim rozwiązaniem, jednak nie od dziś wiadomo, że „nie należy wkładać wszystkich jajek do jednego koszyka”. Najlepszym rozwiązaniem wydaje się tu modułowa budowa sieci. Dzięki odrębnym serwerom można dodać pojemności i przepustowości dokładnie tam, gdzie są one potrzebne. Jednak dla specjalnych obciążeń i zastosowań o dużym zapotrzebowaniu na zasoby i szczególnie ważnym znaczeniu, należy używać sprzętu odpowiedniego dla super serwerów.

Wydajność serwera zależy przede wszystkim od podsystemu wejścia-wyjścia pamięci masowej. Ma on podstawowe znaczenie bowiem do niego należy kontrola ruchu danych pomiędzy procesorem a urządzeniami peryferyjnymi. Bez względu na szybkość procesora, „wąskie gardło” wejścia-wyjścia może skutecznie zablokować osiągnięcie przez serwer jego potencjalnej wydajności. Dlatego istotnym aspektem stworzenia lepszego serwera jest zbudowanie wydajnego podsystemu pamięci masowej.

Dzisiejsze serwery stawiają systemom pamięci masowej dodatkowe wymagania. Coraz wydajniejsze procesory potrzebują coraz więcej danych, aby zaspokoić swój apetyt. Wielozadaniowe systemy operacyjne umożliwiają równoczesne przetwarzanie danych w wielu wątkach. I wreszcie olbrzymie pliki aplikacji multimedialnych wykorzystują transfer danych do granic możliwości.

Innym kluczowym elementem pomyślnej eksploatacji sieci jest zapewnienie dobrego serwisu dla sprzętu. Czołowi producenci sprzętu oferują przynajmniej roczną gwarancję, obejmującą wymianę części i robociznę. Kupując serwer, należy mieć na uwadze firmy oferujące w ramach gwarancji serwis sprzętu u klienta.

 

 

Więcej informacji o określonych typach i funkcjach serwerów można znaleźć w rozdziale 8., w podrozdziale „Typy serwerów”.

Ile RAM-u?

Dzięki pewnym sztuczkom oprogramowanie może poprawić wydajność sprzętu. Przede wszystkim dotyczy to wstępnego wczytania i zapisania w pamięci podręcznej danych z dysku twardego, których prawdopodobnie zażąda za chwilę program użytkowy. Załóżmy, że w systemie używana jest aplikacja bazy danych, która regularnie otwiera kilka tabel (na przykład stany magazynowe, zamówienia i wysyłki). Po wprowadzeniu nowych danych, aplikacja odwołuje się do tabel, aby dokonać
w nich odpowiednich zmian. Jeśli serwer ma odpowiednią ilość pamięci RAM, system operacyjny może wczytać więcej danych z dysku niż zażąda aplikacja i zapisać je w pamięci RAM, skąd będą szybciej dostępne. A zatem wyposażenie serwera w dużą ilość pamięci RAM to zawsze dobry pomysł.

 

 

 

Zbyt

Uzupełniłem brakującą ramkę „Too Much Is Not Enough!”

dużo to jeszcze za mało

Zawsze pojawia się pytanie „Ile RAM-u wystarczy?” Odpowiedź brzmi: „to zależy”. Czynniki są bardzo różne. Zalezą przede wszystkim od rozmiarów i rodzajów aplikacji działających na serwerze. Następnie efektywność bufora w pamięci RAM zależy od rozmiaru dysków, ilości rekordów w tabelach, ilości tabel oraz od tego, jak często aplikacje odwołują się do tych tabel. Na szczęście pamięć RAM jest tania. Jeśli potrzebujesz ogólnej porady, można założyć że firmowy serwer z 10GB dyskiem powinien posiadać co najmniej 256MB pamięci RAM.

 

Zapotrzebowanie na pamięć RAM rośnie intensywnie, jeśli na serwerze ma być uruchomiony program w rodzaju Oracle Server dla NetWare lub Microsoft SQL Server. Program Oracle – ładowany jako moduł NLM – potrzebuje do działania przynajmniej 9 MB pamięci RAM, jednak maksymalna ilość wymaganej pamięci zależy od sposobu, w jaki napisane są aplikacje oraz od liczby użytkowników.

Aplikacje, takie jak serwery WWW i zapory firewall mają własne – dość duże – wymagania dotyczące pamięci RAM.

Wiele zamieszania i dyskusji w świecie serwerów budzi temat kontrolerów dyskowych z wbudowanymi buforami dysków. Ponieważ jednak współczesne oprogramowanie serwerów doskonale sobie radzi z buforowaniem zapisu odczytu, nie ma zbyt wielu powodów technicznych i praktycznych, aby płacić więcej za kontroler buforujący dane, które wędrują z lub do bufora w pamięci RAM.

Podstawową teoretyczną zaletą kontrolera buforującego jest to, że leży on po tej samej stronie magistrali danych, co dysk. Jeśli więc „wąskim gardłem” jest magistrala danych, kontroler tego rodzaju może pomóc. Ponadto kontroler z wbudowanym własnym procesorem nie generuje przerwań, które muszą być obsłużone przez procesor centralny. Argument ten sprawdza sie szczególnie w zastosowaniach, w których używane aplikacje generują znaczne obciążenie dla procesora. Serwer baz danych lub oprogramowanie do routingu wykorzystujące szyfrowanie to dwa przykłady aplikacji, które na tyle obciążają serwer, że zastosowanie kontrolera z własnym procesorem i buforem wydaje się usprawiedliwione.

SCSI kontra IDE

Dostawcy systemów i producenci napędów dysków ciągle starają się różnicować swoje produkty i wprowadzać do nich nowe funkcje. Powoduje to sporo zamieszania i znacznie utrudnia zaprojektowanie optymalnego serwera dla danej sieci LAN.

Na poziomie podstawowym należy zdecydować o wyborze systemu napędów dysków twardych używającego kontrolerów SCSI lub IDE, jednak w branży nie ma nawet zgody, co do używanych skrótów. Niektórzy dostawcy twierdzą, że IDE oznacza Intelligent Drive Electronics, podczas gdy inni rozwijają ten skrót jako Integrated Drive Electronics. Aby nie było zbyt prosto, należy wspomnieć, że standard IDE to podzbiór innego zestawu specyfikacji o nazwie AT Attachment czyli ATA.

Niezależnie od nazwy, podstawowe napędy ATA lub IDE korzystają z kontrolerów wbudowanych na płycie głównej, które mogą obsługiwać jednocześnie do czterech różnych napędów ATA/IDE. Obecnie najczęściej spotyka się systemy skonfigurowane do podłączenia napędów w standardzie ATA-2, określanych również jako Fast ATA lub Enhanced IDE (EIDE).

 

 

 

Szybsze ATA

Większość osób używa skrótu IDE jako synonimu ATA, ale są również inne formy ATA, takie jak Ultra ATA, zwane również przez niektórych dostawców Ultra-DMA, ATA-33 i DMA-33. Działają one
z prędkością 33 MB/s. Z kolei ATA/66 to wersja standardu ATA, wspierana przez Quantum Corporation i Intela, która podwaja przepustowość interfejsu ATA do 66 MB/s. Na papierze ATA nigdy nie będzie tak szybkie jak SCSI, jednak w rzeczywistości różnice są mniejsze.

Podstawowe zalety standardu ATA/IDE to niska cena i prostota. Kontrolery napędów tego typu są wbudowane w płytę główną komputera. Chociaż standard ten nie ma żadnych istotnych wad, wielu twierdzi, że prawdziwe zalety oferuje technologia o nazwie Small Computer Systems Interface (SCSI).

Systemy napędów SCSI korzystają z odrębnej karty kontrolera i specjalnie skonfigurowanych napędów. Technologia SCSI nigdy nie będzie tak tania, jak ATA, ale prawdopodobnie zawsze będzie szybsza. Według specyfikacji technicznych transfer danych w systemach SCSI może wynosić od 80 do 160 MB/s, w zależności od poziomu technologicznego, na jaki stać klienta. Kontrolery IDE przeznaczone specjalnie dla serwerów mogą przesyłać dane z prędkością od 33 do 66 MB/s, jednak różnice pomiędzy tymi standardami sięgają dalej. W napędach dysków SCSI z reguły stosowane są wyższe prędkości obrotowe, a uzyskiwany przez nie czas wyszukiwania danych jest krótszy niż w dyskach IDE. To przekłada się – niezależnie od interfejsu – na szybszy dostęp do danych, a większa prędkość napędów SCSI pozwala producentom żądać za nie wyższych cen.

Jak się wydaje – technologia SCSI nigdy nie przestanie się rozwijać. Dobrą stroną jest to, że urządzenia te stają się coraz szybsze. Złą – stosowanie w różnych interfejsach SCSI kłopotliwej mnogości kabli i złącz. Jeśli używa się tylko nowych systemów SCSI, to nie ma problemu, jednak próba modernizacji lub dodania urządzenia do starszego systemu SCSI wymaga wielkiego doświadczenia lub dobrego serwisu technicznego. W tabeli 10.1 przedstawiono standardy SCSI wprowadzone w ciągu ostatnich kilku lat i ich podstawowe parametry. Każdy z tych standardów może być w dalszym ciągu stosowany w odpowiednim środowisku.

Tabela 10.1. Różne odmiany SCSI

 

SCSI 2

UltraSCSI

Ultra2 SCSI

Szerokość magistrali

8 bitów (Fast)

8 bitów (Ultra)

16 bitów

 

16 bitów (Fast/Wide)

16 bitów (Ultra Wide)

 

Prędkość transferu danych

10 MB/s

20 MB/s

80 MB/s

 

20 MB/s

40 MB/s

160 MB/s

Liczba obsługiwanych urządzeń

7

7

15

 

15

15

 

Czy technologia SCSI jest warta swojej ceny dla poważnych zastosowań? Z pewnością tak. Każdy serwer z mocno eksploatowanym napędem dysków – na przykład serwer plików lub serwer poczty elektronicznej – powinien mieć napęd dysków SCSI. W większości przypadków powinna to być nawet macierz dyskowa RAID. Przyjrzyjmy się zatem bliżej tym urządzeniom.

Systemy RAID

Technologia RAID (Redundant Array of Inexpencive Disks – Nadmiarowa macierz niedrogich dysków) została opisana po raz pierwszy w roku 1987 przez Pattersona, Gibsona i Katza z Uniwersytetu Kalifornijskiego w Berkeley.

Mówiąc bardzo ogólnikowo technologia ta stanowi elastyczne rozwiązanie, które umożliwia znaczne zwiększenie pojemności pamięci dyskowej bez zmniejszenia wydajności. Dodatkową zaletą jest zwiększenie odporności na awarie. Od chwili wprowadzenia macierze RAID stały się bardzo popularne i w jednej z wielu form są używane niemal we wszystkich średnich i dużych sieciach.

Technologia RAID występuje w szeregu konfiguracji zwanych poziomami, które określają różne sposoby wzajemnego połączenia dysków oraz metody ochrony danych. Chociaż wszyscy w branży są zgodni, co do sześciu poziomów macierzy RAID (od 0 do 5), niektórzy dostawcy wprowadzają własne poziomy, na przykład 7, 10 lub 35. Być może kiedyś te nowe poziomy staną się standardem, na razie jednak administratorzy mają najczęściej do czynienia z macierzami RAID poziomu 0, 1, 3 i 5.

u        RAID poziomu 0 to pewne nieporozumienie, ponieważ rozwiązanie to nie jest nadmiarowe. Dane są tu po prostu zapisywane z przeplotem na wszystkich dyskach należących do systemu. Z systemem RAID poziomu 0 zetknęli się już użytkownicy systemów NetWare lub Windows NT, którzy wykorzystywali w nich możliwości tworzenia jednego wolumenu dyskowego na kilku napędach dysków.

Rozszerzanie

Skład: To jest cały czas tekst punktu listy wypunktowanej

wolumenu na kilka napędów dysków jest przydatne, gdy chce się zwiększyć pojemność serwera, bez dodawania nowych dysków logicznych. Ponadto RAID poziomu 0 jest rozwiązaniem szybkim, jednak awaria jednego z dysków w macierzy RAID pociąga za sobą awarię całego systemu.

RAID 0 realizuje dwa z trzech podstawowych celów technologii RAID: zwiększa pojemność i wydajność. Zwiększenie wydajności osiąga się dzięki asynchronicznej naturze interfejsu SCSI. Kontrolery SCSI mogą wysyłać polecenia do napędów i, nie czekając na odpowiedź, realizować inne zadania. W dwudyskowej macierzy RAID poziomu 0 kontroler może wysłać polecenie wyszukania określonej ścieżki do jednego napędu i w czasie ruchu głowicy tego napędu wydać drugiemu napędowi polecenie odczytania lub zapisania określonego bloku danych.

 

 

 

...
Zgłoś jeśli naruszono regulamin