Serwer

Część serwerów Fundacji Wikimedia
Pierwszy serwer WWW w centrum komputerowym CERN. Na kartce widnieje napis „ta maszyna to serwer, nie wyłączać”.
Serwer wydruku WiFi
PC jako serwer, dwa dyski przykręcono do dna obudowy

Serwer – w architekturze klient-serwer jest to usługodawca, czyli część systemu (program lub zestaw powiązanych ze sobą programów) świadcząca usługi na rzecz klientów (programów korzystających z usług świadczonych przez serwer). Typowymi przykładami serwerów są: serwer poczty elektronicznej, serwer WWW, serwer plików.

Serwerem nazywa się również komputer dedykowany do uruchamiania na nim programów będących serwerami określonych usług.

Serwer - oprogramowanie

W kontekście oprogramowania, serwer jest programem komputerowym świadczącym usługi na rzecz odpowiednich programów zazwyczaj uruchomionych na innych komputerach podłączonych do sieci komputerowej. Innymi słowy serwerem nazywa się system oprogramowania biorący udział w udostępnianiu zasobów. Przykładami udostępnianych zasobów są pliki, bazy danych, łącza internetowe, a także urządzeń peryferyjnych jak drukarki i skanery.

Serwer - komputer

W kontekście sprzętu, serwerem nazywa się komputer świadczący takie usługi, zazwyczaj udostępnianie pewnych zasobów innym komputerom lub przekaz danych.

Serwerem może być zwykły komputer, jednak w celu pełnego wykorzystania możliwości, jakie daje oprogramowanie serwerowe, powinna to być maszyna przeznaczona do tej roli. Maszyny takie są przystosowane do pracy ciągłej, wyposaża się je w duże i szybkie dyski twarde lub SSD, głównie SAS (dawniej SCSI), dużą ilość pamięci RAM najczęściej z funkcją ECC oraz wydajne wielordzeniowe procesory serwerowe. Najczęściej serwerowe płyty główne mogą obsłużyć 2, 4 lub więcej procesorów.

Serwer musi być maszyną niezawodną, dlatego ma 2 lub więcej zasilaczy typu hot-plug i awaryjne zasilanie, a pomieszczenie, w którym stoi wyposaża się w wentylację lub klimatyzację. Niezawodność podnosi zastosowanie układu kontroli poprawnej pracy, tzw. watchdog, którego zadaniem jest przeprowadzenie restartu serwera w razie zawieszenia się systemu operacyjnego.

Serwer jest zazwyczaj podłączony do Internetu szybkim łączem światłowodowym, aby móc udostępniać swoje zasoby innym komputerom – typowym przykładem jest tu serwer WWW. Może również jako serwer pośredniczący mieć zainstalowane oprogramowanie maskarady (NAT) potrafiące dzielić łącze pomiędzy urządzenia chcące skorzystać z zasobów Internetu, które nazywa się klientami. Natomiast serwer niepodłączony do Internetu, np. działający tylko w sieci lokalnej, może zarządzać współdzieleniem zasobów na poszczególnych komputerach w tej sieci – np. zainstalowanymi programami, udostępnianymi danymi czy też urządzeniami peryferyjnymi.

Współdzielenie zasobów

Współdzielenie zasobów w sieci z dedykowanym serwerem odbywa się najczęściej w architekturze klient-serwer.

Jeśli w sieci nie ma dedykowanego serwera, tzn. jest to sieć równorzędna, to teoretycznie każdy komputer może być w niej jednocześnie serwerem i klientem, a współdzielenie zasobów odbywa się na zasadzie połączeń w modelu peer-to-peer.

Oprogramowanie serwerowe

Serwery najczęściej pracują pod kontrolą systemów operacyjnych takich jak: FreeBSD, GNU/Linux, Solaris, HP-UX, AIX, OS X, Microsoft Windows Server, aczkolwiek stosuje się także oprogramowanie hiperwizora pozwalające na wirtualizację, która umożliwia uruchamianie kilku systemów operacyjnych równocześnie.

Wśród wielu usług realizowanych przez serwery w Internecie są m.in.: obsługa stron WWW, poczty elektronicznej, przesyłanie plików (np. FTP), komunikacja online, strumieniowa transmisja audio i wideo czy portale społecznościowe oraz wiele innych. W przypadku serwerów WWW wykorzystywane jest najczęściej oprogramowanie Apache.

Uwagi

  1. ↑ W ogólnym przypadku programy będące serwerami mogą działać na dowolnym komputerze, np. na tym samym gdzie działa również program-klient. Jednak w przypadku usług współdzielonych, gdy może być wielu klientów, zwykle optymalnym rozwiązaniem jest użycie specjalizowanego komputera (serwera) o konstrukcji przeznaczonej do ciągłej, niezawodnej pracy pod dużym obciążeniem.

Przypisy

  1. 1 2 Krzysztof Jeżak. Architektury klient-serwer. „Informatyka”. 6/97, s. 11-18, czerwiec 1997. ISSN 0542-9951.

Zobacz też