Heino Tiedemann wrote:
> Wie machen es denn Firmen, die FreeBSD als Webserver einsetzen?
> Wenn da mal ein Port-Upgrade ansteht muss der "vom Netz" oder?
Ach du meine Güte, nein. Eine Firma kann es sich in der
Regel nicht leisten, die Webserver für ein Update komplett
vom Netz zu nehmen.
Bei Firmen, die einen eigenen Webserver betreiben, besteht
dieser im allgemeinen aus mehreren physikalischen Servern,
die hinter einem Load-Balancer (LB) stehen. Der LB hat
erstens die Aufgabe, die Last möglichst gleichmäßig zu ver-
teilen, und zweitens, bei einem Ausfall dafür zu Sorgen,
dass die restlichen Server den Dienst sicherstellen (Stich-
wort HA = High Availability).
Wenn ein Update ansteht, gibt es mehrere Möglichkeiten.
Häufig wird das Update zunächst auf einem internen Test-
Server durchgeführt, der genau so aufgebaut und installiert
ist wie die produktiven Server. Es könnte sich z.B. auch
um einen Cold- oder Hot-Standby-Server handeln.
Wenn die Last-Lage es zulässt, kann das Test-Update auch
auf einem der produktiven Server durchgeführt werden, der
dafür vorübergehend aus dem LB genommen wird.
Erst wenn der Test erfolgreich war, wird das Update auf
den produktiven Servern durchgeführt, und zwar einer nach
dem anderen, so dass zu keinem Zeitpunkt ein Ausfall des
Services auftritt.
Es gibt Ausnahmefälle, wo aus bestimmten Gründen trotzdem
ein Herunterfahren des gesamten Dienstes notwendig wird.
In so einem Fall muss es eine "geplante Downtime" geben,
möglichst zu einem Zeitpunkt, zu dem nur wenige Benutzer
auf dem Dienst zu erwarten sind (4 Uhr morgens oder so).
Zu diesem Zeipunkt wird eine Wartungsseite vorgeschaltet,
damit die Benutzer wissen, warum und wie lange der Dienst
nicht verfügbar ist. Bei wichtigen Diensten (z.B. Online-
Banking) werden solche geplanten Downtimes auch im voraus
angekündigt.
Das Thema ist natürlich sehr umfangreich; ich habe hier
nur ein paar Aspekte angerissen. Es gibt etliche Bücher
zu den Themen LB, HA, Redundanz, Servicemanagement usw.
> Zumindest ist mein PC beim Portbau nicht mehr für was andereres fähig.
Das kann verschiedene Gründe haben. Mit nice(1) kann man
dafür sorgen, dass der Prozessor eine geringere Priorität
für das Portbauen vergibt. Das hilft aber nur bedingt,
da I/O-Vorgänge dadurch nicht beeinflusst werden, und wenn
die Festplatte durch das Portbauen ausgelastet ist, merkt
man das natürlich deutlich bei anderen Dingen, die auf
Dateien zugreifen wollen.
Eine SSD hilft hier sehr viel. Auch das physikalische
Trennen hilft (d.h. Basis-System mit /usr/local und Ports
auf eine eigene Platte als den ganzen Rest).
Ich habe auch festgestellt, dass der neue ada(4)-Treiber
(mit ahci(4)) in 8-stable eine positive Wirkung auf die
Priorisierung von I/O-Last hat. Wahrscheinlich liegt das
am NCQ-Support. Auf jedenfall würde ich empfehlen, es
mal damit zu versuchen, von ad(4) auf ada(4) umzustellen
(das erfordert natürlich, dass man SATA-Festplatten und
einen passenden Controller hat; im BIOS muss man den
Controller auf AHCI-Modus einstellen).
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "When your hammer is C++, everything begins to look like a thumb." -- Steve Haflich, in comp.lang.c++ To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Sat 19 Mar 2011 - 14:55:15 CET