Suche Rat beim Serverkauf

Gawan

Cadet 1st Year
Registriert
Nov. 2004
Beiträge
13
Hallo,

ich hab momentan eine HP Workstation Z420 im Einsatz.
Intel Xeon E5-1650 3,2 GHz mit 16 GB Ram

Auf der Maschine laufen 4 VMs in einer VMWare Workstation, eine davon ein SQL 2008 Datenbankserver mit ca. 10 GB RAM-Bedarf. Alle VMs mit ca. 10-20 parallel Usern, das meiste davon HTTP-Traffic, nix aufregendes.

Im Großen und Ganzen ist alles ok, aber so richtig viel Power hat die Workstation dann doch nicht - grad wenn viel Netzwerklast anliegt.

Ich möchte deshalb nun einen "vollwertigen" HP Server kaufen und hab angesichts der riesigen Auswahl echt KEINEN Schimmer wie man das am besten angeht.

Es sollen irgendwann anstatt der 4 VMs am Ende ca. 8 VMs laufen und gerade die Datenbankgeschichte kann ruhig etwas flotter werden.

Ich weiß, sehr vage Beschreibung, aber kann mir basierend darauf jemand einen Tipp gehen wonach ich Ausschau halten soll ??

lG
Gawan
 
Ich würde dann ja mal schwer wetten, dass deine eigentliche Probleme beim Storage liegen. Wie sieht der denn im Moment aus, worauf liegen die VMs?
Wie sind die VMs gesized und wie ist die Auslastung beim Host?
 
Hallo Gawan,

in Bezug zu den genannten Voraussetzungen gehe ich mal von einem professionellen Umfeld aus.
Daher mein Ratschlag, suche Dir bitte einen IT-Dienstleister, der auch einen Support bietet.

Eigenständige Konfiguration, Realisierung mit Support scheidet wohl aus,
sonst würdest Du hier nicht fragen.


mfG
 
@DunklerRabe

Ich habe die drei "kleineren" VMs zusammen auf einer 120 GB SSD liegen (jeweils Windows 7, jeweils 30 GB)
Die Datenbank liegt auf einer eigenen 256GB SSD mit massig freiem Platz drauf.
Die Plattenzugriffe sind eigentlich recht moderat ...

Das ganze System läuft selten unter Volllast ... eigentlich nie, aber ich würd mir speziell für den SQL-Server und im Hinblick auf weitere VMs etwas mehr CPU Power wünschen und ein Mainboard das mehr Parallelisierung verkraftet (bin mir nicht sicher wie weit der Z420 da mitspielt)

@ludi
Danke für den Hinweis, ist aber hier nicht zweckdienlich
 
Ok, dann dröseln wir das doch mal ein wenig auf.

Erstmal generell der Tipp einen richtigen Hypervisor zu installieren, also nen ESX. Der performt grundsätzlich besser als die Workstation.

Paar Fragen für dich:

Was für SSDs hast du verbaut, welche Modelle?
Worauf läuft das OS der Z420 und die VMWare Workstation?
Wie sehen die VMs aus bezüglich CPUs, Kerne pro CPU, RAM?
Wie kommst du darauf, dass du mehr CPU Power brauchst? Ist Power für dich dann mehr Kerne oder höherer Takt?
Wie sieht die Auslastung der Z420 und der VMs, in Zahlen, während einer typischen Lastsituation aus? CPU Auslastung, RAM Auslastung, ggf. Storage Durchsatz?
Wenn die Plattenzugriffe moderat sind, hast du dann eine Vorstellung davon wie viele IOPS da so unterwegs sind? Oder anders, was ist für dich moderat?

Diese ganzen Fragen sind leider notwendig und da kommen womöglich auch noch mehr. Um mir ein Bild von deiner Umgebung zu machen sind die notwendig, ich sitz ja nich bei dir an dem Rechner :)
 
Kein Problem - deswegen frag ich ja :)
Meinen allerbesten Dank für die Zeit die du da meinem Problem opferst !!

Soweit ich das auf die Schnelle sehe ist ein Hypervisor (z.B. VMWare vSphere) ja eine Softwarelösung.
Ist das sozusagen grundsätzlich die optimale Lösung egal auf welcher Hardwareplattform ?
Ich hab beim Kauf der Z420 damals drauf geachtet dass sie die gängigen VM-Hardware-Tools mitbringt (Intel VT, Intel TXT,...)

Derzeit sind eine 256 GB Corsair Force GT und eine 128 GB Samsung SSD 840 Pro verbaut.
Als OS nutze ich Windows 7 Pro mit VMWare Workstation 9
Die VMs sind wie folgt konfiguriert:
VM 1: Wiki 1 GB Ram, 2 Processors
VM 2: Fileshare für Maschinendaten 2 GB Ram, 2 Procs.
VM 3: Kasperspy Suite Server 2 GB Ram, 1 Proc.
VM 4: Datenbank, SQL 2008, 8 GB Ram, 8 Procs

d.h. in Summe 13 GB Ram (von 16 physisch verfügbar) verteilt
die Procs hab ich eher nach Gefühl verteilt, laut Task Manager der Workstation hab ich 12 Instanzen, ich hab 13 verteilt seh ich grad :)

Die Gesamt-CPU-Auslastung der Workstation liegt i.d.R. bei ca. 20%, in konstruierten Lastsituationen läuft sie dann mit 12 CPU-Instanzen auf 100%.
Der RAM ist eigentlich pausenlos randvoll - gerade eben hab ich 300 MB physisch frei von 16 GB. Da werde ich aber kurzfristig sowieso schon mal um 24 GB auf 40 GB aufstocken nächste Woche.
Ich merke dann bei der SQL DB, dass speziell parallele Aufgaben gefühlt sehr sehr viel länger auf sich warten lassen als auf dem "richtigen" Firmen-Server (professionell aufgesetzte und skalierte VM im Rechenzentrum, die sich aber aus diversen Gründen nicht für meine Zwecke nutzen lässt).
Wenn ich die gleichen Queries gegen eine DB auf meinem Laptop absetze, geht sogar das schneller.
Ich vermute daher, dass eine größere Anzahl von CPU-Instanzen schon ein Stück weit helfen würde - in Kombination mit dem vergrößerten RAM.

Der gesamte Datendurchsatz aller Platten beträgt im Schnitt 15 MB / sec
Aktuell gehen davon ca. 10 MB über die SSD mit der VM und der Rest verteilt sich über die zweite SSD und eine 1 TB-Platte für Sicherungs- und Sharing-zwecke.


Ich hab natürlich grundsätzlich mal ein beschränktes Budget, aber eine sinnvolle Lösung kann schon was kosten.
Ich werde allerdings aus meinen bisherigen Recherchen nicht ganz schlau - einen "kleinen" VM-Server kann ich mir um 3000 EUR oder um 10.000 EUR kaufen und ich seh keine wirklich großartigen Unterschiede die den Preissprung rechtfertigen würden.
Daher eigentlich meine ganze Fragerei :)
 
Gawan schrieb:
Meinen allerbesten Dank für die Zeit die du da meinem Problem opferst !!

Gerne doch! Neben dem ganzen Consumer/Desktop Quatsch sind das hier doch die wirklich spannenden Fragen. Macht viel mehr Spaß sowas zu lösen, denn da geht es halt wirklich in Richtung richtige IT.

Gawan schrieb:
Soweit ich das auf die Schnelle sehe ist ein Hypervisor (z.B. VMWare vSphere) ja eine Softwarelösung.
Ist das sozusagen grundsätzlich die optimale Lösung egal auf welcher Hardwareplattform ?

Ein Hypervisor wie ESX (bzw. jetzt vSphere) ist ein eigenes Betriebssystem, das direkt auf der Hardware läuft. Die VMs laufen dann direkt auf dem Hypervisor. Im Moment hast du eine Hardware, darauf läuft Windows, da drin läuft die VMWare Workstation und da drin laufen deine VMs. Da rennt also ein vollwertiges Betriebssystem, obwohl du das meiste davon für den Betrieb der VMs garnicht bräuchtest. Mit dem ESX fällt das komplett weg.
So eine Lösung mit der VMWare Workstation hat natürlich trotzdem ihre Daseinsberechtigung für gewisse Fälle. Fürs erste kannst du das also lassen, aber in Zukunft kannst du bei neuen Projekten vielleicht mal darüber nachdenken, ob du nicht lieber einen ESX installierst.

Gawan schrieb:
Die VMs sind wie folgt konfiguriert:
VM 1: Wiki 1 GB Ram, 2 Processors
VM 2: Fileshare für Maschinendaten 2 GB Ram, 2 Procs.
VM 3: Kasperspy Suite Server 2 GB Ram, 1 Proc.
VM 4: Datenbank, SQL 2008, 8 GB Ram, 8 Procs

d.h. in Summe 13 GB Ram (von 16 physisch verfügbar) verteilt
die Procs hab ich eher nach Gefühl verteilt, laut Task Manager der Workstation hab ich 12 Instanzen, ich hab 13 verteilt seh ich grad :)

An der Stelle dann mal ein kurzer Ausflug in die Basics der Virtualisierung :)

Deine Virtualisierungslösung (egal ob Workstation oder richtiger Hypervisor) nimmt die physikalischen CPUs (pCPU) bzw. Kerne und verteilt Slots mit CPU Rechenzeit an die VMs.

Die pCPU ist einer der limitierenden Faktoren, denn sie hat, in dem Fall, nur sechs Kerne und daran kann man auch erstmal nichts weiter ändern. Dank HT kommen sechs weitere Threads dazu, sodass die CPU zwölf Threads insgesamt bearbeiten kann. Das ist auch das was dir mit den zwölf Instanzen angezeigt wird. HT ist aber nicht nur ein Vorteil, je nach Workload bringt das nicht viel und du bleibst bei den sechs Threads der sechs echten Kerne.

Man braucht jedoch nicht immer die komplette Leistung eines Kerns für eine Aufgabe. Durch Virtualisierung kann man jetzt mehrere virtuelle CPUs (vCPU) auf einer pCPU unterbringen. Das mögliche Verhältnis von pCPU zu vCPU, mit dem man arbeiten kann, schwankt je nach Workload. In extrem CPU-lastigen Szenarien kann man nicht mehr als 1:1 machen. 1:2 und 1:3 sind gute Richtwerte für allgemeine Aufgaben und bei Szenarien mit extrem niedrigen Anforderungen kann man auch mal 1:5 versuchen.
Für deine CPU sind also so 12 bis 18 vCPUs schon machbar. HT ignorieren wir mal vorerst. Das ist auch wichtig, weil man es nutzen kann, aber es bringt eine weitere Schicht an Komplexität in den Fall, daher lassen wir das erstmal zum Großteil weg.

Wichtig zu wissen ist jetzt aber, dass die vCPU der VM erst dann rechnet, wenn für alle ihre konfigurierten Kerne auch je ein Slot auf der pCPU zugeteilt sind. Wenn das nicht der Fall ist, dann wird halt so lange gewartet bis genügend Slots frei sind. Für eine VM mit acht vCPUs kann das schonmal schwierig werden, wenn es nur sechs pCPUs (+sechs HT) gibt.

Das Problem ist also garnicht die Menge der vergebenen vCPUs, sondern deren Verteilung. Es kommt nicht selten vor, dass eine VM langsamer wird, wenn man ihr mehr vCPUs gibt, weil seltener genug Slots zur selben Zeit frei sind. Du musst außerdem bedenken, dass du permanent gut eine pCPU verlierst, weil Windows zwischendurch ja auch mal bisschen was macht.

Ich würde also mal folgendes machen:

VM1: Um ein Wiki zu hosten braucht man nichts, hier muss eine CPU reichen.
VM2: Für einen Fileserver gilt das gleiche, stell auch hier erstmal nur eine CPU ein.
VM3: Kann bleiben.
VM4: Fang mal mit einer oder zwei CPUs an. Bei Bedarf kann man ja noch etwas höher gehen, aber acht vCPUs sind erstmal nicht so sonderlich gut in diesem Setup.

Gawan schrieb:
Der RAM ist eigentlich pausenlos randvoll - gerade eben hab ich 300 MB physisch frei von 16 GB. Da werde ich aber kurzfristig sowieso schon mal um 24 GB auf 40 GB aufstocken nächste Woche.

Windows nimmst sich den Rest zum cachen. Dein RAM ist also garnicht voll. Du hast 13 GB vergeben, bleiben drei GB für Windows. Das ist ok so, da würd ich erstmal nicht einfach so aufrüsten.

Gawan schrieb:
Ich hab natürlich grundsätzlich mal ein beschränktes Budget, aber eine sinnvolle Lösung kann schon was kosten.
Ich werde allerdings aus meinen bisherigen Recherchen nicht ganz schlau - einen "kleinen" VM-Server kann ich mir um 3000 EUR oder um 10.000 EUR kaufen und ich seh keine wirklich großartigen Unterschiede die den Preissprung rechtfertigen würden.

Preise schwanken je nach Ausstattung und Händler. Darüber kann man sich Gedanken machen, wenn du entschieden hast einen Server zu kaufen :)
 
Hallo,

besten Dank für die Einführung ! Ich verwende diese Technologie zwar so gut wie möglich, aber hatte bisher noch nicht viel Möglichkeit mich mit den Hintergründen zu befassen. :( Ich arbeite in einem Konzern, in dem man froh sein muss, wenn man nach der Anforderung einer neuen VM im Rechenzentrum innerhalb von 3 Monaten was geliefert bekommt und deshalb muss ich mich da wohl oder übel selbst damit beschäftigen :p

Die Sache mit vSphere klingt grundsätzlich recht interessant, aber habe ich dann noch zumindest die Grundzüge eines Betriebssystems zur Verfügung ?
Derzeit nutze ich die Workstation als Master für Teamviewer-Sitzungen (falls die TVs in den VMs mal nicht erreichbar sind) und für die Sicherungen der VMs (da mache ich derzeit tägliche Full-Backups der vier Instanzen). Wäre das dann noch möglich bzw. habe ich da überhaupt ein von außen erreichbares Filesystem ?

Frage am Rande (ich vermute mal du weißt da auch Bescheid :)): Ich sichere momentan einfach die gesamten Files einer VM, inklusive des mehrere GB großen VMEM-Files - das ja meiner Meinung nach nur ein Abbild des VM-RAM ist. Ist das notwendig ?

Zur Zuteilung der pCPU-Slots:
Angenommen ich gebe jetzt jeder VM nur eine vCPU. Bedeutet das einfach nur, dass die VM bei Bedarf auf den nächsten freien Slot wartet und darin dann arbeitet ? Ohne jegliche fixe Zuteilung von vCPUs zu pCPUs ?
Und wenn ich 4 vCPUs zuteile bedeutet das im Umkehrschluss, dass ich auf 4 pCPUs einen Slot freihaben muss bis die VM was arbeiten kann ? Oder mache ich mir das zu einfach ? :)
Denn - aus welchem Grund würde ich denn dann (außer bei Anwendungen die wirklich massiv auf Parallelisierung angewiesen sind) - mehr als eine vCPU zuteilen ?
Oder könnte ich, wenn ich 16 pCPUs hab, jeweils 3 VMS 4 vCPUs zuteilen und einer VM die restlichen 3 (weil wie du ja sagst genötigt das Betriebssysstem der Workstation auch einen) und mich darauf verlassen, dass die wirklich FIX zugeteilt und sich nicht gegenseitig in die Quere kommen ?

Zur Belegung des RAM:
Ich hab mir das irgendwann aus irgendeinem nicht mehr nachvollziehbaren Grund zur Angewohnheit gemacht, dass ich einem SQL-Server immer mindestens 4 GB RAM mehr gebe, als sich die Datenbank maximal genehmigt.
Derzeit schwankt der sqlserver-PRozess zwischen 4 und 7,5 GB, bei 8 GB ist leider Schluss, da fangen dann die Page Faults an, die ich mit dem Upgrade zu vermeiden versuche.
Ist nicht ganz verkehrt und bei den heutigen RAM-Preisen sowieso irrelevant, oder ?


Ich weiß momentan einfach nicht ob es Argumente für den Kauf eines Servers gibt. Bzw. was kann der besser als die Workstation ?
Abgesehen von den üblichen Themen - Dual-Hardware, Hotplug, Raids, etc., schon klar
Mir gehts aber vorrangig um die VMs - was ändert sich großartig wenn ich mir jetzt irgendeinen Proliant Server von der Stange um 3000 EUR kaufe ?
 
Gawan schrieb:
Die Sache mit vSphere klingt grundsätzlich recht interessant, aber habe ich dann noch zumindest die Grundzüge eines Betriebssystems zur Verfügung ?
Derzeit nutze ich die Workstation als Master für Teamviewer-Sitzungen (falls die TVs in den VMs mal nicht erreichbar sind) und für die Sicherungen der VMs (da mache ich derzeit tägliche Full-Backups der vier Instanzen). Wäre das dann noch möglich bzw. habe ich da überhaupt ein von außen erreichbares Filesystem ?

Der vSphere hat einen ganz minimalen Footprint. Ich weiß nicht genau wie groß eine Installation einer aktuellen Version ist, aber viel mehr als einige hundert MB werden es nicht sein. Das ist kein Betriebssystem, an dem ein Mensch noch direkt arbeiten kann. Die Administration erfolgt remote und das System selbst kann nur VMs laufen lassen.
Deswegen hab ich auch gesagt, dass die VMWare Workstation durchaus eine Existenzberechtigung hat, je nach Use Case. Hab schon vermutet, dass du sowas in der Art machst. vSphere ist dann erstmal keine Alternative für dich.

Gawan schrieb:
Frage am Rande (ich vermute mal du weißt da auch Bescheid :)): Ich sichere momentan einfach die gesamten Files einer VM, inklusive des mehrere GB großen VMEM-Files - das ja meiner Meinung nach nur ein Abbild des VM-RAM ist. Ist das notwendig ?

Wenn du die Maschine von außen sicherst, dann sollte es im Prinzip reichen die vmdk zu sichern. Die kannst du bei Bedarf irgendwie wieder anhängen. Zusätzlich kannst du auch noch die vmx Datei mitnehmen, in der die Konfiguration der Maschine abgelegt ist.
Für was die anderen Dateien so da sind steht hier: http://pubs.vmware.com/workstation-...UID-A968EF50-BA25-450A-9D1F-F8A9DEE640E7.html


Gawan schrieb:
Zur Zuteilung der pCPU-Slots:
Angenommen ich gebe jetzt jeder VM nur eine vCPU. Bedeutet das einfach nur, dass die VM bei Bedarf auf den nächsten freien Slot wartet und darin dann arbeitet ? Ohne jegliche fixe Zuteilung von vCPUs zu pCPUs ?
Und wenn ich 4 vCPUs zuteile bedeutet das im Umkehrschluss, dass ich auf 4 pCPUs einen Slot freihaben muss bis die VM was arbeiten kann ? Oder mache ich mir das zu einfach ? :)
Denn - aus welchem Grund würde ich denn dann (außer bei Anwendungen die wirklich massiv auf Parallelisierung angewiesen sind) - mehr als eine vCPU zuteilen ?
Oder könnte ich, wenn ich 16 pCPUs hab, jeweils 3 VMS 4 vCPUs zuteilen und einer VM die restlichen 3 (weil wie du ja sagst genötigt das Betriebssysstem der Workstation auch einen) und mich darauf verlassen, dass die wirklich FIX zugeteilt und sich nicht gegenseitig in die Quere kommen ?

Du hast es richtig verstanden, genau so funktioniert das! :)
Das ist der Grund, warum eine VM mit vier vCPUs eventuell langsamer ist als mit zwei. Die VM kriegt nämlich immer nur CPU Zeit zugewiesen, wenn für jede ihrer vCPUs ein Slot frei ist. Und vier freie Slots hat man eben seltener als zwei, vorallem wenn man mehrere Maschinen hat, für die diese Geschichte ja gleichermaßen gilt.
Es gibt erstmal keinen guten Grund Maschinen mit mehr als einer vCPU zu erstellen, wenn ich nicht schon von Anfang an weiß, dass der Workload dieser Maschine zwei oder drei oder x vCPUs erfordert.

Eine fixe Zuordnung erfolgt standardmäßig nicht, soweit ich weiß. Aber bei 16 pCPUs vs. 3x4+3 vCPUs ist es schon rein mathematisch auch kein Problem mehr. Du hast weniger vCPUs als pCPUs und die VMs haben viel weniger vCPUs als pCPUs da sind. Damit ist es nicht weiter schwierig genug freie Slots zu finden. Andererseits würde das natürlich nicht so richtig im Sinne der Virtualisierung sein, es sei denn die VMs machen richtig Action auf den CPUs.

Gawan schrieb:
Zur Belegung des RAM:
Ich hab mir das irgendwann aus irgendeinem nicht mehr nachvollziehbaren Grund zur Angewohnheit gemacht, dass ich einem SQL-Server immer mindestens 4 GB RAM mehr gebe, als sich die Datenbank maximal genehmigt.
Derzeit schwankt der sqlserver-PRozess zwischen 4 und 7,5 GB, bei 8 GB ist leider Schluss, da fangen dann die Page Faults an, die ich mit dem Upgrade zu vermeiden versuche.
Ist nicht ganz verkehrt und bei den heutigen RAM-Preisen sowieso irrelevant, oder ?

Ja klar, wenn du jetzt der VM noch mehr RAM geben willst, dann brauchst du bald mehr RAM im Host :)

Gawan schrieb:
Ich weiß momentan einfach nicht ob es Argumente für den Kauf eines Servers gibt. Bzw. was kann der besser als die Workstation ?
Abgesehen von den üblichen Themen - Dual-Hardware, Hotplug, Raids, etc., schon klar
Mir gehts aber vorrangig um die VMs - was ändert sich großartig wenn ich mir jetzt irgendeinen Proliant Server von der Stange um 3000 EUR kaufe ?

Eigentlich ändert sich nicht viel. Genau genommen: Nichts, außer das dein neuer Server vermutlich dann langsamer ist als die Z420 :)
Für 3000 Euro kriegst du einen DL360p oder DL380p Gen8 mit zwei mittleren Xeons und 16 GB RAM, ohne Storage.
 
Zurück
Oben