[sage-ka] Virtualisierung als Sparmaßnahme

Andreas Jellinghaus aj at dungeon.inka.de
Fr Mär 27 16:18:37 CET 2009


"Wenn sie nichts tun, wird's teuer!"

ja, dem kann man zustimmen. Ein passendes Scenario kann dann
eine Alternative natürlich sehr günstig sein. Aber es bleibt
die Frage, ob andere Alternativen nicht auch gut aussehen?

Modernisieren, Virtualisieren, Konsolidieren, Vereinheitlichen,
Diversifizieren fallen mir auf Anhieb ein, waren in der IT
Geschichte bestimmt alle mal "In", oder?

kurz: bin auch skeptisch.

> Hat jemand von Euch Erfahrung, mit dem "migrieren" von physikalisch
> laufenden Diensten und Systemen auf virtuelle. Wenn ja,

ein simples scenario kenn ich: alter server gibt den geist auf.
das schnellste was man machen kann, ist die platte auszulesen
und den server fast unverändert in einer virtuellen instanz
laufen zu lassen. ist jedenfalls deutlich schneller, als den
server zu reparieren, zu modernisieren, und, den modernen
server mit freien resourcen vorausgesetzt, fast keine kosten
gegenüber unwägbaren kosten. auch fürs personal ist das kurzfristig wenig
admin aufwand, und wenig wartezeit für nutzer.

aber: aus solchen gründen virtualisierte server bleiben leicht
unbeachtet, dabei sollte man die weiter sauber warten, also 
security updates, patches, backups, modernisieren auf neue
betriebsystem- und anwendungsversionen etc. kann leicht sein,
das man die virtualisierten server vergisst und somit einen
sumpf erzeugt, den später keiner mehr anfassen will.
(frei nach benedikt "never change a running system - besser
warten bis gar nichts mehr geht").

> - ging das virtualisieren auf Kosten der Performance ?

beim chroot() einsatz nicht, bei kvm/xen/vmware natürlich.

virtualisieren würde ich ja nur
* wenn die performance nicht kritisch ist
* und der dienst nicht disk i/o gebunden ist

andere einsatzmöglichkeit von virtualisierung:
software testen, bis hin zu installations medien.
ganz ohne echte tests geht es nicht, aber eine
installations cd mit kvm testen geht so viel
schneller, als wenn man das iso brennen müsste,
zum echten rechner gehen und da echt booten - incl.
dem ganzen bios wartezeit, und dem langsamen grub
und laden von cd (alles was noch im 16 bit modus
geschieht).

spart unglaublich viel zeit, zudem kann ein gut
ausgerüsteter server diverse test rechner parallel
simulieren (zumindet wenns keine speicher oder i/o
probleme/grenzen gibt).

> - macht es ein virtuelles RZ wirklich einfacher Updates und Fehler zu
> finden und zu fixen ? (ich kann mir z.B. nicht vorstellen eine Oracle DB zu
> virtualisieren, die "Oracle Images" auf diverse VM's zu kopieren, und dazu
> noch eine Datenintagrität zu gewährleisten.

wie immer ist eher die frage "wie" etwas gemacht wird. wenn man möglichst
viele dienste auf einen server packen soll, um geld für weitere server zu 
sparen, dann kann das eine sehr komplexer rechner werden, den keiner warten
kann, und dessen ausfall sehr schlimm wäre. da würde ich, wenn möglich, eher
virtualisiert mehrere server aufsetzen, die nur wenige dienste haben, damit
es überschaubar bleibt.

aber: jeder server, real und virtuell, braucht wartung, backups und 
sicherheitsupdates etc. mehr server heist mehr arbeit, auch wenn die
arbeit am einzelnen server evtl. viel einfacher ist, weil man einen
server mit einem simplen dienst mit weniger probleme warten kann.
ich denke mir, hier kann jeder sein scenario so zurecht basteln,
das man in der einen oder anderen richtung geld spart.

andere scenario: du hast fünf systeme, die schnelles i/o brauchen.
stadt 5 schnelle i/o systeme ging auch ein server damit, auf dem
alle fünf laufen. spart geld? würde auch ein san oder nas reichen,
das ein schnelles i/o system an 5 server anbindet? wieviel spart
(oder kostet) die virtualisierung noch, wenn man das vergleicht?

zudem sollte man seinen speicherbedarf mal großzügig hochrechnen,
zwei dienste auf einem server brauchen weniger speicher, als wenn
man einen hypervisor / basissystem mit zwei virtuellen servern 
laufen lässt, und manche software vielleicht in jedem virtuellen
server laufen lassen muss (snmp, ssh, cron, backup, ...).

habt ihr server mit speicher im überfluss, server die man günstig
aufrüsten kann, oder nur server, bei denen weiteres ram richtig
teuer wird oder gar nicht mehr möglich ist? teilweise sind zwei
echte server mit maximalem ram billiger als ein neuer, der richtig
teure ram module braucht um die gleiche menge zu erhalten. oder man
bräuchte gleich viele cpu's und bänke in beiden fällen - und das
macht einen 4cpu server eher teurer als zwei 2cpu server, oder?
(klar, weniger material wie gehäuse und netzteile etc. aber
die mainboards etc. werden viel teurer sein und solche einsparung
auffressen, oder?)

wieviele software lizenzen, braucht man, wenn man mehrere virtuelle
server, statt einem dicken server mit vielen diensten laufen lässt?

weitere gründe für milch-mädchen-rechnungen findet man in diversen
TCO studien. wobei solche oft sehr gute informationen haben, an
die sich nur leider wenige halten (beispiel: wenige, standardisierte
hardware modelle zu haben, und diese nach ablauf der geplanten
lebenszeit austauschen - viele firmen haben stadtdessen einen zoo
an hardware, und tauschen einen voll funktionstüchtigen server
nicht aus, um die investition herauszuschieben, auch wenn er schon
3 oder 5 jahre alt ist. lieber warten bis der server sich mitten
am tag verschluckt, verabschiedet und der admin hexen muss).
je nach prämisse, kann man gute alte tco studien aufgreifen und
die virtualisierung einbauen ohne alzuviel zu ändern, denk ich mir.

> Sparen weil:
> - weniger Personalkosten

wo soll das her kommen? wegen arbeit, die pro hardware anfällt?
wieviel prozent der tätigkeit soll das ausmachen?

> - weniger Betriebskosten, da man "errechnet" hat 16 physikalische Server auf 
> einen (mit 2 Quadcores ausgerüsteten) Host passen würden (Performance lässt 
> grüssen)

alle eier in einem korb? und was wenn der runter fällt? wieviel geld wurde als
risiko prämie angesetzt?

16 auf fünf (davon drei betrieb, einer standby, einer test) würde ich mir ja
noch gefallen lassen, aber mit einem server für alles argumentieren, das ist 
unglaubwürdig. nagut, erinnert mich an ibm zSeries diskussionen etc.

> - Updates und Fehlersuche schneller und einfacher durch "tauschen" von
> Images zwischen Entwicklung und Admins

die entwicklung soll images inclusive betriebsystem liefern, die der admin
betreiben soll? die arbeit "server image aufsetzen und tunen" muss dann
doch auch gemacht werden, und der laie ist weder schneller noch liefert 
bessere qualität, als der spezialist. und wohl auch nicht günstiger.

> - schnellere Inbetriebnahme von neuen Projekten durch "einfaches"
> Imageaufspielen

das kann ich bestätigen. server systeme mit auto-installation sind aber auch
was feines, richtig gemacht kann man damit z.B. server aus dem vorbereiteten
installer in wenigen minuten passend genau konfigurieren. ein image, das mit
security updates gepflegt werden muss etc. ist da eventuell auch nicht besser.

aber die image gegen auto-installation diskussion ist schon seit 10 jahren 
oder mehr bekannt, und je nach scenario hat eine seite einen vorteil. gewinner
für alle fälle gibts da nicht. man kann aber ganz allgemein sagen: eines von
beidem sollte man mindestens vorbereitet haben, um wiederkehrende arbeit zu
vermeiden. lohnt aber nur, wenn man genügend rechner hat, das sich der betrieb
solcher komplexität lohnt. grundwissen kann der admin aber nicht outsourcen
(beispiel windows server: SID, namen, domain aufnahme etc.)

interessanter wäre eher backup/role-back mit images. aber wenn man komplexe
systeme hat, geht das vielleicht nicht, bzw. eine eingriff in die server 
software macht mehr sinn. beispiel mail server: alle mails in der queue 
nochmal rausschicken? unter welchem scenario würde das sinn machen?

hmm, greift man bei schlecht entscheidbaren nicht gerne zu einem kriterien
katalog, vergibt punkte, und schaut sich damit dann jeden dienst an?
performance/kritisch oder disk i/o wichtig wären gute punkte dagegen,
cpus und festplatte die nicht ausgelastet sind dafür, alte server dafür,
neue nicht, und so weiter. wäre das eine idee? wird aber schwer, alle 
scenarien die einem einfallen in ein bewertungsschema zu pressen, oder?
zudem müsste man mal richtig viel messen: welche server dienste brauchen
eher gleichzeitig CPU, welche eher abwechselnd? und sicherheit: beide dns
und dhcp server auf ein virutelles gerät schieben war nicht im sinne des
erfinders. hmm, ich glaub eine saubere bewertung wäre viel aufwand. wie
detailiert war denn das, was man euch vorgelegt hat?

Tschüss, Andreas