Hochverfuegbare Linux-Server

17/09/2015 - 20:06 von Christian | Report spam
Hallo,

wo kann ich mehr zum Thema hochverfügbare Linux-Server lesen? Ich denke
in erster Linie an Web- und Datenbankserver.

Wie sehen typische Setups aus? Zum Beispiel für Online-Shops oder stark
frequentierte Foren?

Mit Setup meine ich zum Beispiel: sind die Webserver virtualisiert um
sie im Fehlerfall einfach auf einen anderen Host ziehen zu können? Die
Daten auf einem gemeinsamen SAN? Was für Loadbalancer werden verwendet?
Reverse Proxies oder doch eher Appliances? Wie funktioniert Load
Balancing mit Datenbanken?

Gibt es Mailinglisten zu dem Thema? Bestimmte Internetseiten oder Bücher
die man kennen sollte?

Gruß,
Christian
 

Lesen sie die antworten

#1 Holger Marzen
17/09/2015 - 21:12 | Warnen spam
* On Thu, 17 Sep 2015 20:06:01 +0200, Christian wrote:

Hallo,

wo kann ich mehr zum Thema hochverfügbare Linux-Server lesen? Ich denke
in erster Linie an Web- und Datenbankserver.

Wie sehen typische Setups aus? Zum Beispiel für Online-Shops oder stark
frequentierte Foren?

Mit Setup meine ich zum Beispiel: sind die Webserver virtualisiert um
sie im Fehlerfall einfach auf einen anderen Host ziehen zu können? Die
Daten auf einem gemeinsamen SAN? Was für Loadbalancer werden verwendet?
Reverse Proxies oder doch eher Appliances? Wie funktioniert Load
Balancing mit Datenbanken?

Gibt es Mailinglisten zu dem Thema? Bestimmte Internetseiten oder Bücher
die man kennen sollte?



Du sprichst mehrere Themen auf einmal an: Fehlertoleranz, Tuning und
Skalierung. Das kann man mit allgemeinen oder speziellen Setups
erschlagen.


* allgemein *

Zunàchst mal die Fehlertoleranz:
Da kommt es auf die Ansprüche an. Wenn beim Hardwaredefekt keine
Transaktion kaputtgehen darf, kenne ich nur die Windows-Lösung
"Marathon", wo die CPUs von zwei Rechnern synchron laufen. Wenn es nur
darum geht, innerhalb einer Minute den Service wieder hinzubiegen,
reichen Failover-Cluster, wie man z.B. mit Heartbeat aufsetzen kann.
Den Zugriff auf den gemeinsamen Datenbestand kann man mit einem Single
Point of Failure gestalten, der in sich dann redundant sein muss (Netapp
& Co.) oder man nimmt das àußerst elegante DRBD (RAID1 übers Netz).

Tuning:
Immer dann, wenn sich der Webserver bei Requests müde macht, z.B. mit
Monster-CMSen die für jeden Seitenaufbau jede Menge Platten- und
Datenbankzugriffe machen, kann(!) es sinnvoll sein, einen caching Proxy
vorzuschalten (Squid), den man überredet, max. 1x pro Minute den
Webserver auf aktualisierte Inhalte abzufragen.

Skalierung:
Loadbalancer können sowohl bei der Skalierung als auch bei der
Fehlertoleranz helfen. Da kann man was Kommerzielles nehmen (Einarbeitung und
Wartungsvertrag einkalkulieren) oder man nimmt den in Linux eingebauten
"Layer 4 Switch". Weiß nicht mehr, wie der heißt. Hat einfach nur
funktioniert ohne mimimi.


* speziell *

Mit speziellen Setup meine ich anwendungsspezifische Setups. Da hàngt es
z.B vom Datenbanksystem ab, wie man mit dessen Mitteln Redundanz oder
Skalierung oder beides hinbekommt.

Am besten sammelst Du selbst Erfahrungen und baust mal einen
Failover-Cluster mit Heartbeat und DRBD auf. Und dann noch einen, auf
dem Du den Loadbalancer konfigurierst. Das kostet keine Lizenzen, weckt
keine nervigen Vertriebler, die Dich von der Arbeit abhalten, und gibt
Dir ein Gefühl, was mit Open Source machbar ist (viel!), und wo ungefàhr
die Grenzen liegen, wo es ohne spezielle Hardware nicht mehr geht.

Und noch ein Tipp, wenn es um Durchsatz geht: Wenn die Anwendung
umstàndlich programmiert ist, kann der Systemer durch sein Tuning oft
ein bisschen was machen, so richtig was reißen kann er aber nicht mehr.
Zeit, die in die Performance der Anwendung investiert wird, ist immer
gut investierte Zeit.

Ähnliche fragen