Manchmal wollen Kunden ihren eigenen Web-Apache- und LAMP-Server als gehosteten virtuellen Server betreiben. In letzter Zeit hatten wir die Aufgabe, solche Server unter Opensuse 12.2 und Opensuse 12.3 beim Hoster Strato aufzusetzen. Hier ein mehrteiliger Bericht dazu, wie wir dabei vorgegangen sind. Ich kann dabei allerdings nicht auf Details des LAMP- und des Sicherheits-Setups eingehen und verweise an passender Stelle auf passende frühere Artikel dieses Blogs oder andere Beiträge im Netz.
Vorbemerkungen zum V-Server-Paket
Ein paar Anmerkungen vorweg zum Strato-Angebot, das unsere Kunden typischerweise nutzen. Ich beziehe mich hier auf ein Strato V-Server-Paket des Typs “V-Server Linux Level 3”. Beworben wird dieses Paket wie folgt:
V-Server Linux Level 3 (Stand 02.10.2013)
- zwei zugewiesene CPU-Cores,
- ein garantierter RAM von 4 GB (dynam. max. 6 GB),
- Plattenplatz: 200 GB.
Interessanterweise findet man in den aktuellen Informationen (02.10.2013) der Hauptwebseite zu diesem Paket keine Aussage zu den 2 zugewiesenen Cores. Enthalten ist eine entsprechende Feststellung aber auf folgender Seite
https://www.strato-pro.com/ ger/ virtual-server/#/ linux/
Strato hält diese etwas versteckte Zusage von 2 CPU-Cores jedenfalls ein. Auch bzgl. des RAMs hat sich die Zuteilung in den von uns betreuten Verträgen bislang als großzügig erwiesen. Im Schnitt standen uns mehr als die zugesagten 4 GB zur Verfügung. Als Virtualisierungsplattform wird Parallels eingesetzt. Als Admin hat man die Möglichkeit, die Web-Oberfläche “Plesk” für 10 Domainen einzusetzen
AMD Opteron CPU und Linux als 32-Bit Gast begrenzen die Leistungsfähigkeit des V-Server-Systems
Als CPU wird ein “AMD Opteron(tm) Processor 6128” eingesetzt. Infos zu den Eigenschaften des kostengünstigen und bereits betagten Prozessors sowie zu seiner Performance findet man z.B. unter folgenden Links :
http://www.cpubenchmark.net/ cpu.php?cpu=AMD+Opteron+6128
http://www.jaxbeachtech.com/ content/ processor-performance-rank
http://browser.primatelabs.com/ geekbench2/391840
Diese schon etwas ältere CPU hat 8 Cores (16 Threads unter Linux) und wird normalerweise mit 2 GHz getaktet. Im Normalbetrieb läuft der Core bei Strato allerdings mit 1.725 GHz. Linux Opensuse Guests kommen nur in 32-Bit Versionen zum Einsatz. Zusammen begrenzt das das Leistungsvermögen. Man darf hinsichtlich der Performance also wirklich keine Wunder erwarten.
Um einen eigenen Überblick zu erhalten, haben wir uns verschiedene eigene PHP/MySQL-Programme auf virtuellen Servern unter KVM auf eigenen Systemen im Vergleich zum Strato-V-Server angesehen. Das Spektrum reichte dabei von einfachen CMS-Anwendungen zur Generierung von Webseiten
bis hin zu CPU-intensiven Simulationen. Zusammenfassend kamen wir zu folgendem Ergebnis :
Auf einem meiner eigenen älteren Server-Systeme schlägt ein virtueller 64-Bit Gast mit Opensuse 12.3,
- der unter KVM mit virtio-Treibern und direkten Zugriff auf Raid10-Partitionen genutzt wird und
- dem nur ein (!) CPU Core einer Intel Quad 9550 CPU zugewiesen wurde,
das Strato-V-Server-System bei etlichen CPU- und datenbankintensiven LAMP-Aufgaben klar, wenn auch nur mit Faktoren zwischen 1.2 bis 1.5. Ein Grund ist sicher das eigene, sehr gut gepufferte Plattensystem.
Deutlich schlechter sieht der Vergleich allerdings bei Einsatz aktueller Intel i7-CPUs und SSD-Platten aus. Hier sehen wir im Schnitt Faktoren > 2 – 3 – vor allem bei CPU-intensiven Prozessen.
Aber wir wollen nicht klagen. Ein großer Provider muss sich um ganz andere Dinge kümmern, als wir mit unseren Haus-Serverchen. Für den Betrieb normaler PHP-generierter Webseiten reicht das Paket in der Regel durchaus aus :
Typische Dinge, die bei uns 80-90 msec mit unserem eigenen PHP-basierten CM-Framework dauern, nehmen auf dem Strato-Server 200 msec in Anspruch. Typische totale Antwortzeiten (ohne Caching-Verfahren, inkl. Internet-Transfer der Daten ) – die wir mit Browser-Tools für einzelne, durch unser CMS generierte Seiten gemessen haben – liegen dauerhaft im Bereich von 350 msec. Das ist aus meiner Sicht OK und deutlich besser als für billige Web-Hosting-Pakete bei anderen Providern, wie z.B. 1&1. Dort schwankt die Antwortzeit für PHP-basierte Sites tagsüber deutlich und um Faktoren; sie ist zudem stark vom Preis des Hosting-Pakets abhängig.
Einer unserer Kunden betreibt CPU-intensive aber auch datenbank-lastige Simulationen von Supply Chain Netzwerken – er muss im direkten Vergleich zu Systemen mit aktueller HW einen Faktor 2,5 an schlechterer Performance als auf KVM-Guests auf Servern mit aktueller HW hinnehmen.
Nebenbei : Bei 1&1 erhält man aktuell zwar 64-Bit-Gast-Systeme, zahlt aber gemessen an garantiertem RAM und Plattenplatz deutlich mehr. U.a. aus diesem Grund haben wir Strato gewählt. Hinzu kommt die kurze Kündigungsfrist von 1 Monat bei Strato. An Support erwarte ich von beiden Providern nach schlechten Erfahrungen beim Webhosting und auch bei DSL (1&1) schlicht wenig bis nichts. Plesk als Server-Verwaltungsoberfläche nutze ich nicht. Wer eine echte Backup-Strategie fahren muss, sollte sich ein Verfahren überlegen, bei dem man mit Rsync-basierten Tools wesentliche Bereiche auf eigene Serverplatten abgleicht – oder aber gegen Aufpreis eine der möglichen avancierteren Backup-Zusatzpakete bestellen.
Schritt 1: Blick in die schlichte Web-Verwaltungsoberfläche zum Strato-Server
Nach der Bestellung seines V-Server-Paketes erhält man seine Zugangsdaten zum Server per E-Mail und das zugehörige Passwort per SMS. Lobenswert ist die Trennung. Das zeigt zumindest an, dass man sich (ISO 27000 Zertifizierung der Strato-Rechenzentren) um Sicherheit grundsätzlich Gedanken macht. (Ob die aber in Zeiten wie diesen wirklich viel hilft, sei mal dahingestellt. Warum verwenden solche Provider eigentlich nie Verschlüsselungsverfahren oder bieten deren Nutzung im Zusammenhang mit dem Austausch von Zugangsdaten zumindest an?).
Mit Hilfe der übermittelten Daten meldet man sich unter folgender Oberfläche an.
Dort erwartet einen ein schlichtes Verwaltungsmenü, das
bei genauerem Hinsehen mit vielen Links zu Zusatzpaketen gespickt ist. Auch wird man mit aktuellen Werbe-Nachrichten und Nachrichten zu Sicherheitslücken in Plesk/Parallels konfrontiert. Letzteres finde ich allerdings nicht schlecht. Was bieten die Menüpunkte? Ich picke nur die wichtigsten heraus:
- Zugangsdaten : Hier ändert man den Zugang zu eben dieser Verwaltungsoberfläche.
- Traffic Control : Infos und Grafiken zum ein- und ausgehenden Netzwerkverkehr. Das ist durchaus von Bedeutung – sollte man ab und zu einen Blick hinein werfen. Denn wirklich frei ist der Traffic nicht : Ab 1000 GB / Monat wird die Anbindungsgeschwindigkeit auf 10 MBit/sek – also Unbrauchbarkeit – gedrosselt. Siehe hierzu das Kleingedruckte am Ende der oben angegebenen Webseite zu Details des V-Server-Pakets. Dies ist insbesondere dann interessant, wenn – wie in einem unserer Fälle – der LAMP-Server Simulationen mit erheblichem Output für Downloads durchführen soll.
Die Grafiken kann man sich in verschiedenen Varianten anzeigen lassen – eine hinreichende Analyse in Kombination mit anderen eigenen Tools wie vnstat, cacti etc. ist damit möglich.
- Serverkonfiguration : Hier erhält man relevante Submenüpunkte:
- Backup Control: Schlichte Liste über tägliche, automatisch angelegte Backups. Für komplexere Backups, die einer Backupstrategie folgen sollen, ist ein zahlungspflichtiges Upgrade erforderlich. Spätestens hier fängt man an, über eigene Backup-Verfahren für wichtige System- und Datenbereiche (u.a. /etc, /srv, /var …) nachzudenken.
- Serverdaten: relevante Daten wie das intiale root Passwort, IP-Adresse des Servers
- Neuinstallation: Wichtig, wenn man – wie wir – initial ein anderes Betriebssystem als das vorinstallierte Ubuntu haben möchte. Interessant aber auch in einem ernsten Schadensfall.
- Revovery Manager: Möglichkeit zum Reboot oder Starten eines Notfall-Systems. Hier denkt man nicht nur an ein aus irgendeinem Grunde hängendes System. Im Auge haben sollte man auch so hübsche Dinge wie ein sich selbst Aussperren bei Experimenten mit einer Firewall. Ein durchaus interessantes Thema, das einen später zu der Frage führt, in welchen restriktiven Zustand eine Firewall nach einem Restart hochfahren soll. Dies ist deswegen von Bedeutung, weil auch Strato ab und zu Neustarts der Systeme vornimmt.
- IP-Adressen: Zuschalten einer IPV6-Adresse bei Bedarf.
- Optionen: Regeln von Quotas / automatischen Backups / resolv.conf-Politik
Im nächsten Teil
Strato-V-Server mit Opensuse 12.3 – II – Installation / SSH-Port ändern
beschreiben wir kurz den SSH-Zugang, eine Verlagerung des SSH-Ports und das Starten einer ersten einfachen SuSE-Firewall mit relativ restriktiver Einstellung.