Server

Server

Treiber für Servergeräte

In den meisten Fällen handelt es sich bei einem Server um einen physischen Computer (ein Computerhardwaresystem), der einen oder mehrere Dienste (als Host) ausführt, um die Anforderungen der Benutzer anderer Computer in einem Netzwerk zu erfüllen. Abhängig vom angebotenen Computerdienst kann es sich um einen Datenbankserver, Dateiserver, Mailserver, Druckserver, Webserver, Spieleserver oder eine andere Art von Server handeln.

Im Kontext der Client-Server-Architektur ist ein Server ein Computerprogramm, das ausgeführt wird, um die Anforderungen anderer Programme, der „Clients“, zu bearbeiten. Somit führt der „Server“ im Namen der „Clients“ eine Rechenaufgabe aus. Die Clients laufen entweder auf demselben Computer oder sie verbinden sich über das Netzwerk.

Im Kontext von Internet Protocol (IP)-Netzwerken ist ein Server ein Programm, das als Socket-Listener fungiert.

Server stellen häufig wichtige Dienste über ein Netzwerk bereit, entweder für private Benutzer innerhalb einer großen Organisation oder für öffentliche Benutzer über das Internet.

Der Begriff Server wird in der Informationstechnologie recht weit gefasst. Trotz der vielen verfügbaren Server-Markenprodukte (z. B. Serverversionen von Hardware, Software oder Betriebssystemen) ist theoretisch jeder computerisierte Prozess, der eine Ressource für einen oder mehrere Client-Prozesse gemeinsam nutzt, ein Server. Nehmen Sie zur Veranschaulichung das gängige Beispiel der Dateifreigabe. Während das Vorhandensein von Dateien auf einem Computer ihn nicht als Server klassifiziert, ist der Mechanismus, der diese Dateien vom Betriebssystem an Clients weitergibt, der Server.

Betrachten Sie in ähnlicher Weise eine Webserveranwendung (z. B. den plattformübergreifenden „Apache HTTP Server“). Diese Webserver-Software kann auf jedem fähigen Computer ausgeführt werden. Während beispielsweise ein Laptop oder ein Personalcomputer normalerweise nicht als Server bezeichnet wird, können sie in diesen Situationen die Rolle eines solchen erfüllen und daher als solcher bezeichnet werden. In diesem Fall ist es die Rolle der Maschine, die sie in die Kategorie Server einordnet.

Im Sinne der Hardware bezeichnet das Wort „ Server“ typischerweise Computermodelle, die zum Hosten von Softwareanwendungen unter der hohen Nachfrage einer Netzwerkumgebung bestimmt sind. In dieser Client-Server-Konfiguration tauschen eine oder mehrere Maschinen, entweder ein Computer oder ein Computergerät, Informationen miteinander aus, wobei eine Maschine als Host für die andere(n) fungiert.

Während fast jeder Personalcomputer als Netzwerkserver fungieren kann, verfügt ein dedizierter Server über Funktionen, die ihn besser für Produktionsumgebungen geeignet machen. Zu diesen Funktionen können eine schnellere CPU, mehr Hochleistungs-RAM und eine erhöhte Speicherkapazität in Form größerer oder mehrerer Festplatten gehören. Server verfügen in der Regel auch über Zuverlässigkeit, Verfügbarkeit und Wartungsfreundlichkeit (RAS) und Fehlertoleranzfunktionen, wie z. B. Redundanz bei Netzteilen, Speicher (wie bei RAID) und Netzwerkverbindungen.

Server wurden in den frühen 1990er-Jahren weit verbreitet, als Unternehmen zunehmend begannen, Personalcomputer zur Bereitstellung von Diensten zu nutzen, die zuvor auf größeren Großrechnern oder Minicomputern gehostet wurden. Frühe Dateiserver enthielten mehrere CD-ROM-Laufwerke, die zum Hosten großer Datenbankanwendungen verwendet wurden.

Zwischen den 1990er und 2000er Jahren kam es mit der zunehmenden Verwendung dedizierter Hardware zur Einführung eigenständiger Server-Appliances . Ein bekanntes Produkt ist die Google Search Appliance, eine Einheit, die Hardware und Software in einer sofort einsatzbereiten Verpackung vereint. Einfachere Beispiele für solche Geräte sind Switches, Router, Gateways und Druckserver, die alle in einer nahezu Plug-and-Play-Konfiguration verfügbar sind.

Moderne Betriebssysteme wie Microsoft Windows oder Linux-Distributionen scheinen zu Recht auf eine Client-Server-Architektur ausgelegt zu sein. Diese Betriebssysteme versuchen, Hardware zu abstrahieren, sodass eine breite Palette von Software mit Komponenten des Computers zusammenarbeiten kann. In gewissem Sinne kann das Betriebssystem als Hardware für die Software betrachtet werden, die in allen Programmiersprachen außer Low-Level-Programmiersprachen über eine API interagieren muss.

Diese Betriebssysteme können möglicherweise Programme im Hintergrund ausführen, die entweder Dienste oder Daemons genannt werden. Solche Programme, wie zum Beispiel die oben erwähnte Apache HTTP Server- Software, können im Ruhezustand warten, bis ihre Notwendigkeit offensichtlich wird. Da jede Software, die Dienste bereitstellt, als Server bezeichnet werden kann, können moderne Personalcomputer als ein Wald aus parallel arbeitenden Servern und Clients betrachtet werden.

Auch das Internet selbst ist ein Wald aus Servern und Clients. Das bloße Anfordern einer Webseite aus ein paar Kilometern Entfernung erfordert die Erfüllung eines Stapels von Protokollen, die viele Beispiele von Hardware- und Softwareservern umfassen. Die geringsten davon sind die Router, Modems, Domain-Name-Server und verschiedene andere Server, die für die Bereitstellung des World Wide Web erforderlich sind.

Die Einführung von Cloud Computing ermöglicht die gemeinsame Nutzung von Serverspeicher und anderen Ressourcen in einem Pool und bietet Servern ein höheres Maß an Fehlertoleranz.

Die Hardwareanforderungen für Server variieren je nach Serveranwendung. Die absolute CPU-Geschwindigkeit ist für einen Server normalerweise nicht so wichtig wie für einen Desktop- Rechner . Die Aufgabe von Servern, über ein Netzwerk Dienste für viele Benutzer bereitzustellen, führt zu unterschiedlichen Anforderungen wie schnellen Netzwerkverbindungen und hohem E/A-Durchsatz. Da auf Server normalerweise über ein Netzwerk zugegriffen wird, können sie im Headless-Modus ohne Monitor oder Eingabegerät ausgeführt werden. Prozesse, die für die Funktion des Servers nicht benötigt werden, werden nicht genutzt. Viele Server verfügen nicht über eine grafische Benutzeroberfläche (GUI), da diese unnötig ist und Ressourcen verbraucht, die anderswo zugewiesen werden könnten. Ebenso können Audio- und USB-Schnittstellen entfallen.

Server laufen oft über lange Zeiträume ohne Unterbrechung und die Verfügbarkeit muss oft sehr hoch sein, weshalb Zuverlässigkeit und Haltbarkeit der Hardware äußerst wichtig sind. Obwohl Server aus handelsüblichen Computerteilen gebaut werden können, sind geschäftskritische Unternehmensserver im Idealfall sehr fehlertolerant und verwenden spezielle Hardware mit geringen Ausfallraten, um die Betriebszeit zu maximieren, denn selbst ein kurzfristiger Ausfall kann mehr kosten als der Kauf und die Installation des Systems . Beispielsweise reicht eine Ausfallzeit von nur wenigen Minuten an einer nationalen Börse aus, um die Kosten für den vollständigen Austausch des Systems durch ein zuverlässigeres System zu rechtfertigen. Server sind möglicherweise mit schnelleren Festplatten mit höherer Kapazität, größeren Computerlüftern oder Wasserkühlungen ausgestattet, um die Wärme abzuleiten, sowie mit unterbrechungsfreien Stromversorgungen, die dafür sorgen, dass die Server auch bei einem Stromausfall weiter funktionieren. Diese Komponenten bieten eine höhere Leistung und Zuverlässigkeit zu einem entsprechend höheren Preis. Hardware-Redundanz – die Installation von mehr als einer Instanz von Modulen wie Netzteilen und Festplatten, die so angeordnet sind, dass bei Ausfall eines Moduls automatisch ein anderes verfügbar ist – wird häufig verwendet. Es werden ECC-Speichergeräte verwendet, die Fehler erkennen und beheben; Nicht-ECC-Speicher führt eher zu Datenbeschädigungen.

Um die Zuverlässigkeit zu erhöhen, verwenden die meisten Server Speicher mit Fehlererkennung und -korrektur, redundante Festplatten, redundante Netzteile usw. Solche Komponenten sind häufig auch Hot-Swap-fähig, sodass Techniker sie auf dem laufenden Server austauschen können, ohne ihn herunterzufahren. Um eine Überhitzung zu verhindern, verfügen Server häufig über leistungsstärkere Lüfter. Da Server in der Regel von qualifizierten Systemadministratoren verwaltet werden, sind deren Betriebssysteme auch eher auf Stabilität und Leistung als auf Benutzerfreundlichkeit und Benutzerfreundlichkeit ausgelegt, wobei Linux einen deutlich größeren Anteil einnimmt als bei Desktop-Computern.

Da Server eine stabile Stromversorgung, einen guten Internetzugang und erhöhte Sicherheit benötigen und zudem laut sind, ist es üblich, sie in dedizierten Serverzentren oder speziellen Räumen zu lagern. Dies erfordert eine Reduzierung des Stromverbrauchs, da die zusätzlich verbrauchte Energie mehr Wärme erzeugt und so dazu führt, dass die Temperatur im Raum akzeptable Grenzwerte überschreitet; Daher sind Serverräume normalerweise mit Klimaanlagen ausgestattet. Servergehäuse sind in der Regel flach und breit (normalerweise in „Rack-Einheiten“ gemessen) und eignen sich für die Unterbringung vieler Geräte nebeneinander in einem Server-Rack. Im Gegensatz zu gewöhnlichen Computern können Server in der Regel mithilfe einer Out-of-Band-Verwaltung, die typischerweise auf IPMI basiert, aus der Ferne konfiguriert, hoch- und heruntergefahren oder neu gestartet werden.

Bei vielen Servern dauert es lange, bis die Hardware hochfährt und das Betriebssystem lädt. Server führen häufig vor dem Booten umfangreiche Speichertests und -verifizierungen sowie den Start von Remote-Verwaltungsdiensten durch. Die Festplatten-Controller starten dann die Laufwerksbänke nacheinander und nicht alle auf einmal, um die Stromversorgung nicht durch Anlaufstöße zu überlasten. Anschließend initiieren sie Vorabprüfungen des RAID-Systems für den korrekten Betrieb der Redundanz. Es ist üblich, dass der Start einer Maschine mehrere Minuten dauert, es kann jedoch sein, dass ein Neustart erst nach Monaten oder Jahren erforderlich ist.