Serwer (komputer) - Server (computing)

Schemat sieci komputerowej z klienckich komputerów komunikuje się z serwerem komputera za pośrednictwem Internetu
Serwery stelażowe Wikimedia Foundation w stelażach w centrum danych
Pierwszy serwer WWW zlokalizowany w CERN-ie z oryginalną naklejką z napisem: "Ta maszyna to serwer. NIE WYŁĄCZAJ GO!!"

W informatyce , wykorzystując serwer jest kawałek komputerowego sprzętu i oprogramowania ( programu komputerowego ), która zapewnia funkcjonalność dla innych programów lub urządzeń, o nazwie „ Klienci ”. Ta architektura nazywana jest modelem klient-serwer . Serwery mogą zapewniać różne funkcje, często nazywane „usługami”, takie jak współdzielenie danych lub zasobów między wieloma klientami lub wykonywanie obliczeń dla klienta. Pojedynczy serwer może obsługiwać wielu klientów, a jeden klient może korzystać z wielu serwerów. Proces klienta może działać na tym samym urządzeniu lub może łączyć się przez sieć z serwerem na innym urządzeniu. Typowe serwery toserwery baz danych , serwery plików , serwery pocztowe , serwery druku , serwery WWW , serwery gier i serwery aplikacyjne .

Systemy klient-serwer są dziś najczęściej implementowane (i często z nim utożsamiane) modelem żądanie-odpowiedź : klient wysyła żądanie do serwera, który wykonuje jakąś akcję i odsyła do klienta odpowiedź, zazwyczaj z wynikiem lub potwierdzeniem . Określenie komputera jako „sprzętu klasy serwerowej” oznacza, że ​​jest on wyspecjalizowany do uruchamiania na nim serwerów. Często oznacza to, że jest wydajniejszy i bardziej niezawodny niż standardowe komputery osobiste , ale alternatywnie duże klastry obliczeniowe mogą składać się z wielu stosunkowo prostych, wymiennych komponentów serwerowych.

Historia

Użycie słowa serwer w informatyce wywodzi się z teorii kolejkowania , gdzie pochodzi z połowy XX wieku i jest używane zwłaszcza w Kendall (1953) (wraz z „usługą”), artykule, który wprowadził notację Kendalla . We wcześniejszych artykułach, takich jak Erlang (1909) , używane są bardziej konkretne terminy, takie jak „operatorzy [telefonii]”.

W informatyce „serwer” pochodzi co najmniej z RFC 5 (1969), jednego z najwcześniejszych dokumentów opisujących ARPANET (poprzednik Internetu ) i jest przeciwstawiony „użytkownikowi”, rozróżniając dwa typy hosta : „serwer-host” i „użytkownik-host”. Użycie „serwowania” pochodzi również z wczesnych dokumentów, takich jak RFC 4, przeciwstawiając „host obsługujący” z „hostem używającym”.

W żargonu pliku definiuje „ serwer ” w zdrowym rozsądkiem procesu wykonujące usługi dla żądań, zazwyczaj odległe, z 1981 ( 1.1.0 czytania) wersja:

SERWER Rodzaj DAEMON, który wykonuje usługę dla requestera, który często działa na innym komputerze niż ten, na którym działa serwer.

Operacja

Sieć oparta na modelu klient-serwer, w której wielu indywidualnych klientów żąda usług i zasobów od scentralizowanych serwerów

Ściśle mówiąc, termin serwer odnosi się do programu komputerowego lub procesu (działającego programu). Poprzez metonimię odnosi się do urządzenia używanego (lub dedykowanego) do uruchamiania jednego lub kilku programów serwerowych. W sieci takie urządzenie nazywa się hostem . Oprócz serwera , wyrazy służyć i usług (jako czasownik jako rzeczownik i odpowiednio) są często stosowane, choć serwisant i sługa nie są. Słowo service (rzeczownik) może odnosić się do abstrakcyjnej formy funkcjonalności, np. Web service . Alternatywnie może odnosić się do programu komputerowego, który zamienia komputer w serwer, np . usługę Windows . Pierwotnie używane jako „serwery obsługują użytkowników” (i „użytkownicy używają serwerów”), w znaczeniu „posłuszeństwa”, dziś często mówi się, że „serwery obsługują dane”, w tym samym znaczeniu, co „daj”. Na przykład serwery internetowe „serwują [w górę] strony internetowe użytkownikom” lub „obsługują ich żądania”.

Serwer jest częścią modelu klient-serwer ; w tym modelu serwer obsługuje dane dla klientów . Istotą komunikacji między klientem a serwerem jest żądanie i odpowiedź . Jest to sprzeczne z modelem peer-to-peer, w którym relacja jest wzajemnością na żądanie. W zasadzie każdy skomputeryzowany proces, który może być używany lub wywoływany przez inny proces (szczególnie zdalnie, w szczególności w celu współdzielenia zasobu) jest serwerem, a proces lub procesy wywołujące to klient. W ten sposób każdy komputer ogólnego przeznaczenia podłączony do sieci może obsługiwać serwery. Na przykład, jeśli pliki na urządzeniu są udostępniane przez jakiś proces, ten proces jest serwerem plików . Podobnie oprogramowanie serwera WWW może działać na dowolnym, sprawnym komputerze, a więc laptop lub komputer osobisty może obsługiwać serwer WWW.

Chociaż żądanie-odpowiedź jest najpopularniejszym projektem klient-serwer, istnieją inne, takie jak wzorzec publikowania-subskrypcji . We wzorcu publikowania-subskrypcji klienci rejestrują się na serwerze pub-sub, subskrybując określone typy wiadomości; ta wstępna rejestracja może być dokonana poprzez żądanie-odpowiedź. Następnie serwer pub-sub do przodu dopasowanie wiadomości do klientów, bez żadnych dalszych wniosków: serwer wypycha wiadomości do klienta, a nie klient ciągnięcie wiadomości z serwera, jak na żądanie-odpowiedź.

Cel, powód

Rolą serwera jest współdzielenie danych oraz współdzielenie zasobów i dystrybucja pracy. Komputer serwera może również obsługiwać własne programy komputerowe; w zależności od scenariusza może to być część transakcji quid pro quo lub po prostu możliwość techniczna. W poniższej tabeli przedstawiono kilka scenariuszy, w których używany jest serwer.

Rodzaj serwera Cel, powód Klienci
Serwer aplikacji Hostuje aplikacje internetowe (programy komputerowe działające w przeglądarce internetowej ) umożliwiające użytkownikom w sieci ich uruchamianie i używanie bez konieczności instalowania kopii na własnych komputerach. W przeciwieństwie do tego, co może sugerować nazwa, serwery te nie muszą być częścią sieci WWW ; zrobiłaby to każda sieć lokalna . Komputery z przeglądarką internetową
Serwer katalogu Utrzymuje indeks lub spis treści informacji, które można znaleźć w dużej sieci rozproszonej, takiej jak komputery, użytkownicy, pliki udostępnione na serwerach plików i aplikacje internetowe. Przykładami serwerów katalogowych są serwery katalogów i serwery nazw . Dowolny program komputerowy, który musi znaleźć coś w sieci, taki jak członek domeny próbujący się zalogować, klient poczty e-mail szukający adresu e-mail lub użytkownik szukający pliku
Serwer komunikacyjny Utrzymuje środowisko potrzebne dla jednego punktu końcowego komunikacji (użytkownika lub urządzenia) do znajdowania innych punktów końcowych i komunikowania się z nimi. Może, ale nie musi, zawierać katalog punktów końcowych komunikacji i usługę wykrywania obecności, w zależności od otwartości i parametrów bezpieczeństwa sieci Punkty końcowe komunikacji (użytkownicy lub urządzenia)
Serwer obliczeniowy Udostępnia w sieci ogromne ilości zasobów obliczeniowych, zwłaszcza procesora i pamięci o dostępie swobodnym . Każdy program komputerowy, który potrzebuje więcej mocy procesora i pamięci RAM, niż może sobie pozwolić na komputer osobisty. Klient musi być komputerem sieciowym; w przeciwnym razie nie byłoby modelu klient-serwer.
Serwer bazy danych Utrzymuje i udostępnia dowolną formę bazy danych (zorganizowane kolekcje danych o predefiniowanych właściwościach, które mogą być wyświetlane w tabeli) w sieci. Arkusze kalkulacyjne , programy księgowe , oprogramowanie do zarządzania aktywami lub praktycznie każdy program komputerowy, który zużywa dobrze zorganizowanych danych, zwłaszcza w dużych ilościach
Serwer faksów Współdzieli jeden lub więcej faksów w sieci, eliminując w ten sposób kłopoty z fizycznym dostępem Dowolny nadawca lub odbiorca faksu
Serwer plików Udostępnia pliki i foldery , miejsce do przechowywania plików i folderów lub jedno i drugie w sieci Zamierzonymi klientami są komputery w sieci, nawet jeśli programy lokalne mogą być klientami
Serwer gry Umożliwia kilku komputerom lub urządzeniom do gier granie w gry wideo dla wielu graczy Komputery osobiste lub konsole do gier
Serwer poczty elektronicznej Sprawia, e-mail komunikacji możliwe w taki sam sposób, że poczta sprawia, że Snail Mail możliwa komunikacja Nadawcy i odbiorcy e-maili
Serwer mediów Udostępnia cyfrowe wideo lub cyfrowy dźwięk w sieci poprzez strumieniowe przesyłanie multimediów (przesyłanie treści w taki sposób, że odebrane fragmenty można oglądać lub odsłuchiwać po ich nadejściu, w przeciwieństwie do pobierania całego pliku, a następnie korzystania z niego) Komputery osobiste obsługiwane przez użytkownika wyposażone w monitor i głośnik
Serwer druku Współdzieli jedną lub więcej drukarek w sieci, eliminując w ten sposób kłopoty z fizycznym dostępem Komputery potrzebujące czegoś wydrukować
Serwer dźwięku Umożliwia programom komputerowym odtwarzanie i nagrywanie dźwięku, indywidualnie lub wspólnie Programy komputerowe tego samego komputera i klientów sieciowych.
Serwer proxy Działa jako pośrednik między klientem a serwerem, akceptując ruch przychodzący od klienta i wysyłając go do serwera. Powody takiego postępowania obejmują kontrolę i filtrowanie treści, poprawę wydajności ruchu, zapobieganie nieautoryzowanemu dostępowi do sieci lub po prostu kierowanie ruchu w dużej i złożonej sieci. Dowolny komputer w sieci
Wirtualny serwer Współdzieli zasoby sprzętowe i programowe z innymi serwerami wirtualnymi. Istnieje tylko zgodnie z definicją w ramach specjalistycznego oprogramowania zwanego hiperwizorem . Hypervisor prezentuje wirtualny sprzęt do serwera tak, jakby był prawdziwym sprzęcie fizycznym. Wirtualizacja serwerów pozwala na wydajniejszą infrastrukturę. Dowolny komputer w sieci
serwer internetowy Hostuje strony internetowe . Serwer WWW umożliwia dostęp do sieci WWW . Każda witryna internetowa ma co najmniej jeden serwer sieciowy. Ponadto każdy serwer może obsługiwać wiele witryn internetowych. Komputery z przeglądarką internetową

Prawie cała struktura Internetu oparta jest na modelu klient-serwer . Główne serwery nazw wysokiego poziomu , DNS i routery kierują ruchem w internecie. Do Internetu podłączone są miliony serwerów, które działają nieprzerwanie na całym świecie i praktycznie każda czynność podejmowana przez zwykłego użytkownika Internetu wymaga jednej lub więcej interakcji z jednym lub kilkoma serwerami. Istnieją wyjątki, które nie korzystają z serwerów dedykowanych; na przykład udostępnianie plików peer-to-peer i niektóre implementacje telefonii (np. Pre-Microsoft Skype ).

Sprzęt komputerowy

Rack serwer z górną pokrywą usuwane, aby odsłonić wewnętrzne komponenty

Wymagania sprzętowe serwerów różnią się znacznie w zależności od przeznaczenia serwera i jego oprogramowania. Serwery są częściej niż nie, mocniejsze i droższe niż klienci, którzy się z nimi łączą.

Ponieważ serwery są zwykle dostępne przez sieć, wiele z nich działa bez nadzoru bez monitora komputerowego lub urządzenia wejściowego, sprzętu audio i interfejsów USB . Wiele serwerów nie ma graficznego interfejsu użytkownika (GUI). Są konfigurowane i zarządzane zdalnie. Zdalne zarządzanie może odbywać się za pomocą różnych metod, w tym Microsoft Management Console (MMC), PowerShell , SSH i oparte na przeglądarce out-of-band zarządzania systemami, takie jak Dell IDRAC lub HP MOP .

Duże serwery

Duże tradycyjne pojedyncze serwery musiałyby działać przez długi czas bez przerw. Dostępność musiałaby być bardzo wysoka, przez co niezwykle ważna byłaby niezawodność i trwałość sprzętu. Serwery korporacyjne o znaczeniu krytycznym byłyby bardzo odporne na awarie i wykorzystywałyby wyspecjalizowany sprzęt o niskim współczynniku awaryjności , aby zmaksymalizować czas pracy bez przestojów . Zasilacze bezprzerwowe mogą być wbudowane w celu ochrony przed awarią zasilania. Serwery zazwyczaj obejmują nadmiarowość sprzętową, taką jak podwójne zasilacze , systemy dyskowe RAID i pamięć ECC , wraz z rozbudowanymi testami i weryfikacją pamięci przed uruchomieniem . Kluczowe komponenty mogą być wymieniane podczas pracy , co pozwala technikom na wymianę ich na uruchomionym serwerze bez wyłączania go, a w celu ochrony przed przegrzaniem serwery mogą mieć mocniejsze wentylatory lub korzystać z chłodzenia wodą . Często można je konfigurować, włączać i wyłączać lub ponownie uruchamiać zdalnie, korzystając z zarządzania pozapasmowego , zazwyczaj opartego na IPMI . Obudowy serwerowe są zazwyczaj płaskie i szerokie oraz przeznaczone do montażu w szafach rack 19-calowych lub Open Racks .

Tego typu serwery są często umieszczane w dedykowanych centrach danych . Zwykle będą one miały bardzo stabilną moc i Internet oraz zwiększone bezpieczeństwo. Hałas jest również mniej niepokojący, ale zużycie energii i moc grzewcza mogą być poważnym problemem. Serwerownie wyposażone są w urządzenia klimatyzacyjne.

Klastry

Farma serwerów lub serwer klastra jest zbiorem serwerów komputerowych prowadzonych przez organizację do funkcjonalności serwera dostaw daleko poza możliwości pojedynczego urządzenia. Nowoczesne centra danych są obecnie często budowane z bardzo dużych klastrów znacznie prostszych serwerów, a wokół tej koncepcji opiera się wspólny wysiłek, Open Compute Project .

Urządzenia

Klasa małych specjalistycznych serwerów, zwanych urządzeniami sieciowymi, znajduje się na ogół w dolnej części skali, często są mniejsze niż zwykłe komputery stacjonarne.

mobilny

Serwer mobilny ma przenośną formę, np . laptop . W przeciwieństwie do dużych centrów danych lub serwerów stelażowych, serwer mobilny jest przeznaczony do wdrażania w drodze lub ad hoc w środowiskach awaryjnych, awaryjnych lub tymczasowych, w których tradycyjne serwery nie są możliwe ze względu na ich wymagania dotyczące zasilania, rozmiar i czas wdrożenia. Głównymi beneficjentami technologii „serwer w ruchu” są menedżerowie sieci, twórcy oprogramowania lub baz danych, ośrodki szkoleniowe, personel wojskowy, organy ścigania, kryminalistyka, grupy ratunkowe i organizacje serwisowe. Aby ułatwić przenoszenie, w obudowie zintegrowane są takie funkcje, jak klawiatura , wyświetlacz , bateria ( zasilanie bezprzerwowe , zapewniające nadmiarowość zasilania w przypadku awarii) oraz mysz.

System operacyjny

Kobaltowa Kostka Słońca 3; komputerowe urządzenie serwerowe (2002); z systemem Cobalt Linux (dostosowana wersja systemu Red Hat Linux, korzystająca z jądra systemu Linux 2.2) wraz z serwerem WWW Apache.

W Internecie dominującymi systemami operacyjnymi wśród serwerów są dystrybucje typu open source typu UNIX , takie jak te oparte na Linuksie i FreeBSD , przy czym znaczący udział ma również Windows Server . Wdrażane są również zastrzeżone systemy operacyjne, takie jak z/OS i macOS Server , ale w znacznie mniejszej liczbie.

Specjalistyczne systemy operacyjne zorientowane na serwery tradycyjnie posiadały takie funkcje, jak:

  • GUI niedostępny lub opcjonalny
  • Możliwość rekonfiguracji i aktualizacji zarówno sprzętu, jak i oprogramowania do pewnego stopnia bez restartu
  • Zaawansowane funkcje tworzenia kopii zapasowych umożliwiające regularne i częste tworzenie kopii zapasowych krytycznych danych online ,
  • Przejrzysty transfer danych między różnymi woluminami lub urządzeniami
  • Elastyczne i zaawansowane możliwości sieciowe
  • Możliwości automatyzacji, takie jak demony w UNIX i usługi w Windows
  • Ścisłe zabezpieczenia systemu z zaawansowaną ochroną użytkowników, zasobów, danych i pamięci.
  • Zaawansowane wykrywanie i ostrzeganie o warunkach, takich jak przegrzanie, awaria procesora i dysku.

W praktyce dzisiaj wiele systemów operacyjnych dla komputerów stacjonarnych i serwerowych ma podobne bazy kodu , różniące się głównie konfiguracją.

Zużycie energii

W 2010 roku centra danych (serwery, chłodzenie i inna infrastruktura elektryczna) odpowiadały za 1,1-1,5% zużycia energii elektrycznej na całym świecie i 1,7-2,2% w Stanach Zjednoczonych. Według szacunków całkowite zużycie energii przez technologie informacyjno-komunikacyjne pozwala zaoszczędzić ponad pięciokrotność śladu węglowego w pozostałej części gospodarki dzięki zwiększeniu wydajności.

Globalne zużycie energii rośnie ze względu na rosnące zapotrzebowanie na dane i przepustowość. Rada Obrony Zasobów Naturalnych (NRDC) stwierdza, że ​​centra danych zużyły 91 miliardów kilowatogodzin (kWh) energii elektrycznej w 2013 r., co stanowi 3% światowego zużycia energii elektrycznej.

Grupy zajmujące się ochroną środowiska skupiły się na emisji dwutlenku węgla w centrach danych, ponieważ wynosi ona 200 milionów ton metrycznych dwutlenku węgla rocznie.

Różni dostawcy hostingu wprowadzili przyjazne dla środowiska serwery, które zmniejszyły emisję dwutlenku węgla o 80% dzięki sprzętowi z półki i zarządzaniu energią.

Zobacz też

Uwagi

Bibliografia

Dalsza lektura