# Hostrechner

Als Hostrechner (auch Host-Rechner, Hostcomputer oder Host-Computer; Lehnübersetzungen von englisch host computer), kurz Host, wird ein in ein Rechnernetz eingebundener Computer mit zugehörigem Betriebssystem bezeichnet, der Clients bedient oder Server beherbergt (als „Gastgeber“ Dienste bereitstellt).
Geschichtlich betrachtet bezeichnet der Ausdruck Host zunächst einen Mehrbenutzer-Rechner, der mit Hilfe von Anwendungen im Hintergrund Rechenleistung für Terminals erbringt. Nachdem in den 1980er Jahren Rechnernetze den Alltag eroberten, wurde der Ausdruck auch für in ein Rechnernetz eingebundene Rechner verwendet, die Dienstleistungen für meist kleinere oder weniger leistungsfähige Systeme erbringen.
Neben mächtigeren Betriebssystemen können auch weniger mächtige Systeme – einst für Minirechner, heute für Netzwerkgeräte wie Router und Druckerserver – als Host dienen. Beispielsweise ist jedes System, das seine Netzwerkkonfiguration durch das Dynamic Host Configuration Protocol (DHCP) beziehen kann, Client eines DHCP-Servers.

## Begriffsherkunft

Der aus dem Englischen entlehnte Ausdruck Host wird in der EDV schon frühzeitig in den 1960er Jahren im Zusammenhang mit Großrechnern oder der mittleren Datentechnik und den dort üblichen Time-Sharing- oder Mehrbenutzer-Betriebssystemen gebraucht. Diese Systeme sind stark gegliedert und bestehen im Wesentlichen aus einer Zentraleinheit, die auch als Host bezeichnet wird und alle „Intelligenz“ beherbergt, und den „dummen“ Terminals, die lediglich als Benutzerendgeräte an den Arbeitsplätzen eingesetzt werden und praktisch nur zur Eingabe und Ausgabe von Daten dienen. Der häufig auch als Synonym benutzte Ausdruck Server ist jünger und kommt aus dem Bereich der Personal Computer und Betriebssysteme wie Banyan Vines, Mac OS, NetWare oder Unix. Allerdings benutzte bereits David George Kendall 1953 den Ausdruck server bei der von ihm eingeführten Kendall-Notation. In der Informatik wird server-host mindestens seit 1969 benutzt, so in der RFC 5 über das Arpanet.
Als die Vernetzung dieser Rechnerklasse am Ende der 1980er Jahre praktisch überall Einzug hielt, suchte man zur Abgrenzung von den bestehenden Host-basierten Architekturen eine alternative Bezeichnung und etablierte hierzu den Ausdruck Server. Die Architekturen auf Basis von Personal Computern kennen typischerweise keine „intelligenten“ Hosts – im Kontrast zu „dummen“ Terminals, hier ist jedes System mit mehr oder weniger „Intelligenz“ ausgestattet. In diesem Kontext werden Rechnersysteme (Hardware und Software), die im Wesentlichen anderen Systemen Leistungen zur Verfügung stellen (siehe auch: Server (Software)), als Server bezeichnet. Im Unix-Umfeld ist die Differenzierung zu dieser Zeit deutlicher, hier werden (meist grafische) Workstations und Workstation-Betriebssysteme sowie deren Software von (meist Konsole-basierten) Servern und Server-Betriebssystemen mit zugehöriger Software unterschieden. Mittlerweile sind allerdings beide Ausdrücke – zumindest umgangssprachlich und im Zusammenhang mit Hardware – praktisch gleichbedeutend.

## Hardware

Hosts von Servern laufen in der Regel permanent. Daher werden in den entsprechenden Computern bevorzugt Komponenten eingesetzt, die für den Dauerbetrieb ausgelegt sind, zum Beispiel SAS-Festplatten anstelle von SATA-Festplatten. RAIDs sind Standard, mehrere Hauptprozessoren und redundante Netzteile verbreitet.
Prinzipiell können Hosts von Servern auf jeder Art von Computer betrieben werden. In Rechenzentren sind solche Computer meist im 19″-Format (19 Zoll breit, 1,75 Zoll hoch) gebaut, damit sie in ein standardisiertes 19″-Rack passen, um den vorhandenen Platz optimal auszunutzen. Andere Formen sind die Bladeserver.

## Virtuelle Hosts
### Geschichte

Das Konzept virtueller Hosts ist im Großrechnerbereich schon länger im Einsatz, Vorreiter war hier IBM in den 1960er Jahren. Auf PC basierte, emulierte virtuelle Maschinen wurden erstmals in den 1990er Jahren angeboten, im PC-Bereich war hier Connectix ab 1997 und VMware ab 1999 Vorreiter. Erst seit dieser Zeit war PC-Hardware leistungsfähig genug, um auf einem Rechner mehrere virtuelle Maschinen abbilden zu können.

### Einsatz

Virtuelle Hosts werden eingesetzt, wenn von einer einzelnen Maschine unterschiedliche Dienste angeboten werden sollen, die jeweils ihr eigenes Betriebssystemumfeld benötigen (Dedizierter Host).
Virtuelle Hosts erlauben einen schnellen und problemlosen Umstieg auf neue, leistungsfähigere Hardware oder das Verlagern einzelner virtueller Hosts mit den darauf laufenden Servern auf eine andere Maschine.$^{[Beleg?]}$

### Technik

Virtuelle Hosts lassen sich in zwei Gruppen einteilen: virtuelle Hosts auf Basis von Betriebssystemen und virtuelle Hosts auf Basis von Emulation.

#### Betriebssysteme

Ein Gastgeber-Betriebssystem (engl. host) beherbergt mehrere Gast-Betriebssystem-Umgebungen (engl. guest), die gegeneinander abgeschottet sind und nur über das Gastgeber-Betriebssystem auf die Hardware des Hosts zugreifen dürfen.
Virtualisierung auf Betriebssystembasis gibt es auf unterschiedlichen Ebenen:
* Erweiterte chroot-Umgebung des Gastgeber-Systems. Direkter Zugriff auf die System-Hardware ist nicht möglich. Beispiel: BSD jails (s. u.), LXC und Linux-VServer.
* Gast-Systeme benutzen dasselbe Betriebssystem wie der Gastgeber und greifen über Treiber des Gastgeber-Systems auf die Hardware zu. Beispiel: Virtuozzo
* Die Gast-Systeme sind komplette Betriebssysteme mit eigenem (oder gemeinsamen, aber geschützten) Kernel, eigenen Treibern und eigener Konfiguration. Beispiel: UML, Xen

#### Emulation oder Virtualisierung

Das Gastgeber-System emuliert alle Systemaufrufe auf Hardware-Ebene oder emuliert eine komplette Hardwarearchitektur (inkl. CPU, Speicherzugriffen usw.).
Ein klassischer Emulator ist aus Gastgebersicht meist ein ganz normales Programm, so ist es z. B. möglich, auf PCs Software für Palm Handhelds zu testen, alte C64-Software zu benutzen, oder ein komplettes x86-Windows-System auf einem PowerPC-Apple- oder HP-Unix-Rechner laufen zu lassen.
Will man „nur“ andere Betriebssysteme (welche prinzipiell für die gleiche Hardwarearchitektur geeignet sind) oder Instanzen auf einer physischen Maschine laufen lassen, bietet sich im Gegensatz zur Emulation die Virtualisierung an. Beispiele: KVM, Virtual PC, VMware.
Die Grenzen zwischen Virtualisierung und Emulation sind fließend, zumal seit rund 2010 auch „Mainstream“-Prozessoren um Virtualisierunghilfen ergänzt wurden (z. B. Intel VT und AMD-V) oder diverse Lösungen Programmcode des Gastsystems vor der Ausführung (teilweise) in für den Host-PC geeigneten Code umformen (Just-in-time-Kompilierung).

### Sonderfälle

Die Konfiguration von Apache-HTTP-Servern enthält eine VirtualHosts-Direktive, die mehrere getrennte Websites auf einem einzigen Host ermöglicht.
Zwei Formen sind zu unterscheiden:
* IP-basierte virtuelle Hosts erfordern, dass der Netzwerkschnittstelle des Hosts mehrere IP-Adressen zugewiesen werden. Um auf eine Anfrage die richtigen Daten zu liefern, wertet der Server sie nach der IP-Adresse aus, die angesprochen wird.
* Namensbasierte virtuelle Hosts erfordern, dass der IP-Adresse des Hosts im Domain Name System mehrere Hostnamen zugewiesen werden. Um auf eine Anfrage die richtigen Daten zu liefern, wertet der Server ihren Host-Header aus.
So werden zum Beispiel Anfragen an die Hosts de.wikipedia.org und en.wikipedia.org vom selben Host mit unterschiedlichen Inhalten beantwortet.
Auf dem Host kann ein einziger HTTP-Server für alle virtuellen Hosts oder für jeden virtuellen Host ein eigener HTTP-Server mit eigenständiger Konfiguration laufen.

## Dedizierter Host

Als dedizierter Host (entlehnt aus englisch dedicated host) wird ein Host bezeichnet, der nur für eine Aufgabe (englisch dedicated service) abgestellt (oder wörtlich dieser [Aufgabe] gewidmet oder zugedacht) wird oder nur einem Kunden (dem dedicated customer) zugeordnet ist.

### Einer Tätigkeit zugeordnet

Anstatt mehrere Dienste auf einem Host laufen zu lassen, wird jedem Dienst (englisch dedicated to service) ein eigener dedizierter Host gewidmet. Als Hosts kommen physische und virtuelle Hosts zum Einsatz.
Einsatzgebiet
* Betriebssysteme, die mit mehreren Diensten nicht stabil laufen.
* Dienste, die nicht gemeinsam auf einem Host betrieben werden können.
Beispiele: eine alte, eine aktuelle und eine Entwicklungsversion eines Webservers, die unterschiedliche Systemvoraussetzungen haben, oder ein Webserver, der die Website eines einzelnen Kunden beinhaltet, die wegen ihres Umfangs, ihrer Besucherfrequenz oder wegen technischer Besonderheiten (z. B. Verwendung eines Content-Management-Systems) nicht gemeinsam mit anderen Websites auf einem gemeinsamen, geteilten Server (Shared Server) liegen kann.

### Einem Kunden zugeordnet

In der Webhosting-Branche wird der Begriff des dedizierten Hosts häufig für Mietangebote genutzt (englisch dedicated to customer, also wörtlich etwa dem Kunden gewidmet). Dabei vermietet der Internetdienstanbieter einen Rechner einschließlich Stellplatz, Klimatisierung und Energieversorgung oder eine virtuelle Maschine. Einige Anbieter bezeichnen dedizierte Hosts, auf denen der Kunde selbst das Root-Konto benutzt, irreführend als „Root-Server“.
Einsatzgebiet Dedizierte Hosts kommen zum Einsatz, wenn:
* mehr Leistung benötigt wird, als ein Shared Server oder eine virtuelle Maschine bietet
* die Sicherheit nicht durch andere Verwendungen des Host gefährdet werden soll
* gewünschte Software nicht gemeinsam mit vorhandener auf einem Host betrieben werden kann
* der Kunde dem Anbieter den Einblick in seine Daten erschweren will
* der Host spezielle Sicherungsmaßnahmen erfordert
* der Kunde eine Software nutzen will, die vom Anbieter nicht unterstützt wird
* der Kunde umfassendes Zugriffsrecht wünscht, was den Zugang für andere ausschließt

## Managed Host

Als Managed Host, Managed Dedicated Host oder irreführend Managed Server werden dedizierte Hosts bezeichnet, deren Betriebssystem und Software (Server) vom Anbieter überwacht und aktualisiert wird. Als virtuelle Maschinen werden sie in der Regel vom Anbieter zur Verfügung gestellt (vermietet), als Computer werden sie vom Kunden gemietet, geleast oder gekauft.
Die am Markt befindlichen Managed Host-Angebote umfassen oft erweiterte Dienstleistungen wie Telefonsupport, Boot-Service und einfache Reparaturen. Dies soll die Vorteile eines dedizierten Hosts mit denen eines Webhosting-Angebotes vereinen, indem dem Kunden administrative Aufgaben abgenommen werden, hohe Verfügbarkeit der Hardware gewährleistet wird und trotzdem eine individuelle Konfiguration der Server auf diesem Host möglich ist.
Zum Leistungsumfang von Managed Hosts gehören häufig:
Betriebssystem-Updates, Software-Updates, Anwendungsinstallation, erweiterte Konfigurationsmöglichkeiten, Telefon-Support, erweiterter technischer Support, Firewall-Services, Security Scans/Audits, Anti-Spam/Virus-Schutz, Backup-Services, Server-Monitoring und Recovery, Datenbank-Management, Control-Panel-Software.