pageman262
Goto Top

Wie viele physische Kerne?

Hallo liebe Profis,

ich muss gerade ein Projekt ausarbeiten mit dessen Anforderungen ich ein wenig überfordert bin. Im speziellen geht es um die Frage wie viele Kerne ich wirklich in den Hosts brauche. Ich weis das gewisse Server so gut wie nichts benötigen und andere wieder sehr performant sein müssen.

Daher jetzt meine Frage. Grundsätzlich wenn ich 24 Kerne habe (2x 12 Kern Xeon) ist es empfehlenswert mehr Server darauf zu fahren als die Summe der virtuellen Kerne? Wenn ja muss ich (kann ich) festlegen welche Server zwingend immer die gewünschte Anzahl an Kernen haben soll/muss?

Da es hier diesmal um viel Geld geht wollte ich einfach die Frage mal einstellen um ein wenig Imput zu bekommen. Es soll ein Hyper-V Cluster mit 3 Hosts aufgebaut werden. Alle 3 mit 2 x Xeon 12 Core und 192 GB Ram. Die Auslastung wäre so, wenn ein Host ausfällt das die 2 das noch locker stemmen können. Trotzdem darf in der Performance nichts fehlen schon garnicht bei den SQL und TS Servern.

Besten Dank

Pageman

Content-ID: 285370

Url: https://administrator.de/contentid/285370

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 12.10.2015 aktualisiert um 20:01:36 Uhr
Goto Top
Zitat von @Pageman262:

Da es hier diesmal um viel Geld geht wollte ich einfach die Frage mal einstellen um ein wenig Imput zu bekommen. Es soll ein Hyper-V Cluster mit 3 Hosts aufgebaut werden. Alle 3 mit 2 x Xeon 12 Core und 192 GB Ram. Die Auslastung wäre so, wenn ein Host ausfällt das die 2 das noch locker stemmen können. Trotzdem darf in der Performance nichts fehlen schon garnicht bei den SQL und TS Servern.


Dann pack einfach mal alle Server auf eine Kiste und dimensioniere die Kiste so, daß es performant genug läuft. Dann kaufts Du Dir drei solche Kisten und schon bist Du auf der sicheren Seite. Die Server drehen dann zwar meist Däimchen udn produzieren im regelbetrieb viel heiße Luft, aber im Fehlerfall hast Du die Sicherheit, daß notfalls eine Kiste allein alles stemmen kann.

face-smile

lks
Pageman262
Pageman262 12.10.2015 um 20:06:46 Uhr
Goto Top
Es werden ja 3 solche Kisten gekauft ist nur die Frage wie viele virtuelle Kerne ich mit 24 physischen verteilen kann.
Lochkartenstanzer
Lochkartenstanzer 12.10.2015 um 20:12:46 Uhr
Goto Top
Zitat von @Pageman262:

Es werden ja 3 solche Kisten gekauft ist nur die Frage wie viele virtuelle Kerne ich mit 24 physischen verteilen kann.


Im prinzip beliebig viele. Die Frage ist doch, wie Deine Software diese Kisten ausreizt.

lks
119944
119944 12.10.2015 um 20:14:49 Uhr
Goto Top
Moin,

das kommt natürlich ganz auf deine VMs und deine Umgebung an!

Grundsätzlich kann man immer mehr Kerne zuweisen als die Maschine physisch zur Verfügung hat, wenn davon aber 24 unter voller Last laufen wird es schwierig.
Dann müsstest du bestimmte VMs priorisieren.

Meistens idlen aber viele VMs nur rum, deshalb hab ich bei mir auf einem Quadcore problemlos 12 VMs bei 10% Last laufen.

Wie das bei dir aussieht musst du selbst herausfinden.

VG
Val
Pageman262
Pageman262 12.10.2015 um 20:22:28 Uhr
Goto Top
Also gibt es keine Faustregel anscheinend. gg

Ich brauche:
2x DC als sekundären und tertiären (denke mal ist nicht so extrem wichtig da es ja noch einen physikalischen gibt)
2x IIS braucht viel Performance da hier aus dem Unternehmen etliche Webanwendung viel genutz werden. (Hat jetzt 2x4 physikalische Kerne mit 2 Ghz und könnte besser gehen)
1 x MS SQL ist jetzt eine VM mit 4 Kernen aber brechend langsam obwohl es auf einen SSD- Storage liegt
1x Fileserver
1x MS Dynamics
1x ADFS
1x einen Webserver (DMZ) hat wenig zu tun
4x TS (da sollen die Leute zügig arbeiten können) Habe 7 Mitarbeiter pro TS geplant (vielleicht blauäugig)
2x Exchange 2013

was würdet Ihr kaufen?
Dani
Dani 12.10.2015 um 22:43:42 Uhr
Goto Top
Moin,
aus meiner Sicht sind das keine genauen Informationen. Schon alleine bei "viel Performance" gehen die Meinung weit auseinander. Genauso bei Microsoft Dynamics oder den vier RDS-Hosts. Es gibt einfach in jedem Fall gewisse Abhängigkeit, bei denen du entweder auf Herstellerinfos in Abhängigkeit von Benutzeranzahl zurückgreifen musst oder ein Monitoring der Server über mehrere Wochen um belastbare Zahlen zu erhalten. Wichtig ist die Auslastung für CPU(Kerne), RAM, lokale und Storagefestplatten (Lese-Schreibzugriffe), Netzwerkverkehr, etc...
Die Dimensonierung hängt auch davon ab, wie viele Hosts ausfallen dürfen. Das spielt vorallem bei Prozessor und Arbeitsspeicher pro Host eine Rolle. Ein Host sollte unter Normalbedingungen nicht mehr als 60% ausgelastet ein. Wenn's kurzfristig zu Spitzen kommt auch kein Problem. Aber mittel- oder sogar langfristig tödlich für einen evtl. Failover. Da macht es vllt. sogar Sinn die Server auf vier Hosts zu verteilen, um so den Load gering zuhalten aber dadurch dürfen auch 2 Hosts ausfallen. Das sind lauter Bedingungen die in Abhängigkeit zu den Anforderungen stehen, welcher aber keiner von uns kennt.

Unabhängig davon besagt Regel Nr. 21: DMZ Services wie ADFS-Proxy oder Webserver haben nichts auf einem Cluster im LAN zu suchen. Gerade bei der Wichtigkeit und Zuverlässigkeit der Server, eigentlich völlig logisch. Wenn dafür kein Geld (mehr) da ist, dann läuft aber einiges schief.


Gruß,
Dani
clSchak
clSchak 12.10.2015 um 22:49:03 Uhr
Goto Top
Hi

nimm 2 Sockel á 8 Kerne á 3Ghz+ statt 12 x unter 3Ghz und RAM, jede Menge RAM. Für den SQL Server würde ich je nach DB Größe alleine 64-128Gb RAM einplanen. Unsere TS haben ~ 15-20 Leute die parallel arbeiten und sind mit 48Gb RAM ausgestattet und laufen nicht auf Last - pro MA 4Gb RAM reicht im Regelfall vollkommen aus (außer man nutzt DATEV ....)

Unsere NAV Server (6 St für 250 User) haben je nach Abteilung 12-32Gb RAM. CPU Last macht nur die BI, Sharepoint (vor allem die SearchEngine) und der Exchange, alles andere "dümpelt" vor sich hin.

Die Ausfallrate kannst ja einfach ermitteln, bei 3 Server darfst die max mit 66% Last laufen lassen, bei 4 Servern mit 75%, bei 5 mit 80% usw. (bei einer Fehlertoleranz von einer Kiste). Von VMWare gibt es eine Essential Plus Lizenz, die ist für 3 Server ausgelegt und bietet alle Funktionen einer "vollen" Version, dazu dann noch Veeam als Backuplösung (gibt es in einem ähnlichen Paket) auf einem separaten Server (z.B. HL DL180 / Dell R520 mit je 12 x 4Tb Platten als Backupstorage, dort dann eine kleine 8 Fach LTO5 oder 6 Library und damit hast dann auch das Thema erledigt).

Die nächste Frage die sich dann stellt, welches Storage? Dell bietet eine Langzeitmessung an damit man das richtig Dimensionieren kann, alles andere ist nur geraten oder vermutet und führt nicht zum Ergebnis - was soll man z.B. mit einem reinen SSD Storage wenn die 1000 IO abgefragt werden... face-wink - im Regelfall reicht ein SSD/10krpm Kombi-Storage für 99% deiner Anforderung würde ich behaupten - d.h. 8 x SSD und 16 x 10k Platten - kommt auch immer auf die Gesamtkapazität an - aber das kann dir nur eine Messung sagen und diese sollte mind. 4 Wochen laufen und auch die Ausreißer mitzubekommen, die Peak-Last dann zzgl. 50-100% (je nach Geldbeutel) und du hast auch für die Zukunft noch Spiel nach oben.

Gruß
@clSchak

PS: achja SAN: FC, FCoE oder iSCSI...das kommt ja noch additiv dazu face-smile
StefanKittel
StefanKittel 13.10.2015 um 07:36:00 Uhr
Goto Top
Moin,

wie Du ja schon festgestellt hast, gibt es keinen einfachen Weg Hardware hier zu skalieren.
Das ist immer die Krux in diesem "kleinem" Bereich. Es ist viel einfacher die gleiche Aufgabe für 1000 Server durchzuführen.

Eigentlich ist es ganz einfach face-smile
Du schätzt den Bedarf so wie es halt geht.

Also CPU Leistung in GHz, Ram in GB und IO in IOPS.
Das Storage mit SAS und SSD mischen, dazu ein paar große SATA, angebunden mit FC16 (Switche nicht vergessen).
Und HyperThreading wegdenken!

Wenn der IIS mit 4x2x2.0 zu langsam ist, kalkulieren mal 24-32 GHz.

Nach dem Schätzen kommt die eigentliche Frage: Button/Up oder Top/Down.
Also Deine Schätzung * z.B. 0,8 und dann solange Server dazukaufen bis es langt.

Oder Deine Schätzung * z.B. 2 oder 3 und man ist auf der sicheren Seite.

Deinem Chef wird Beides nicht gefallen.
Also nimm Deine Schätzung * 2, zeige irgendeine komplizierte Rechnung und alle sind glücklich.

Viele Grüße

Stefna
Chonta
Chonta 13.10.2015 um 08:41:26 Uhr
Goto Top
Hallo,

alles was du augezählt hast ist vor allem RAM und HDD(IO) Lastig (jeh nach Auslastung).
Wie schaut das Failover Sccenario aus? Ein server muss alles Stemmen können?
Wichtiger noch wie schaut es mit dem Shared Storrage für die VM-HDD aus? Wie groß wie schnell und wie an die Server angebunden?
Ist das Storrage auch Redundant?
Warum 3 Server? 3 Server bedeutet nicht automatisch auch mehr Leistung wenn die VM auf 3 Server verteilt sind und alles vom selben Stor läuft.
Ohne SharedStor auch kein Failover und und und.

Gruß

Chonta
SeaStorm
SeaStorm 13.10.2015 um 11:27:01 Uhr
Goto Top
Wie hier schon genannt wurde, gibts da keine Faustformel.
Du kannst im Grunde beliebig viele vCPUs haben, wenn diese dann jeweils alle nur am Idlen sind.
Wenn du allerdings mehrere Maschinen hast, die permanent viel CPU brauchen, dann musst du bedenken, das die VMs sich um die physischen Kerne streiten.
Je mehr vCPUs zugriff auf Leistung wollen, je mehr ist der ESX mit der Verwaltung mit den Anfragen beschäftigt.
Prinzipiell geht man davon aus, das bei Last-Systemen die physischen CPUs nicht mehr als 50% Durchschnittsbelastung haben sollten, da sonst durch das Warten auf die CPU die Leistung leidet.

Bei TS-Servern kommt es ganz stark darauf an, wie viel CPU so ein User benötigt. Wenn die User über den TS Surfen, viel GUI haben usw, dann braucht das meist mehr Leistung als man erwarten würde.


CPUs: viele Kerne sind gut bei vielen vCPUs. Sobald diese aber ausgelastet werden, kommt es fast nur noch auf die reine Leistung an. Je mehr GHZ du hast, desto mehr Dampf hast du auch.
Wenn man seine Umgebung überprovisioniert, dann bricht die die Performance dramatisch ein. Darauf also immer ein Auge haben.

RAM: Kann man nie genug haben. Am besten von Anfang an immer die grösssten RAMs nehmen, die es gibt. Will man später aufrüsten, muss man dann, um noch was dazu zu gewinnen, die alten idR austauschen. Das Geld hat man dann in den Sand gesetzt.
Deshalb von Anfang an: Maximaler Ausbau. Rein was geht. Was hier "zu viel" ist, gibt man dann lieber den Terminalservern. Hier gilt es Swapping um jeden Preis zu vermeiden.


SQL:
Ganz klare Empfehlung: NICHT Virtualisieren
Wenn es WIRKLICH auf die SQL Performance ankommt, sollte das doch besser auf einer eignen Maschine laufen. Lieber eine VM als Live-Mirror einrichten, so dass im Falle eines Ausfalles einfach auf die VM geswitcht werden kann. (Ich kann hier als Datenträger wärmstens eine FusionIO empfehlen. Auf den ersten Blick teuer, aber im Vergleich zu Enterprise-SSDs kaum ein unterschied, dafür aber eine abartige Performance).
Bedenke bei virtuellen VMs immer:
1. Virtualisierung bedeuted "Overhead"
2. Deutlicher Performanceverlust, wenn die vCPU der VM warten muss, bis sie an der Reihe ist. Hier kann man zwar mit Priorisierung etc am ESX gegensteuern, aber das bedeutet im Umkehrschluss auch, das die anderen Maschinen dann auf den SQL warten müssen.
3. SQL braucht LEISTUNG. Und zwar (je nach dem was da so alles gemacht wird) aus allen Bereichen:
RAM: Je mehr Tabellen im RAM liegen, desto schneller ist das System. -> Viel RAM Reserven benötigt.
IO: Logfile, Datafile, TempDB: Braucht alles jede Menge IO. Das sollte jeweils auf dedizierten Platten liegen. Das will man nicht mit anderen Teilen. Viel IO bedeutet viel Last für den Controler. Ein zentrales Storage hat dann evtl. schon zu kämpfen, da viele Anfragen reinkommen. Das wirkt sich auf die Performance der anderen VMs aus
CPU: Je nach Qualität der Anwendungen (also der Querys), Datenbankdesign und Indexierung kann hier durchaus viel CPU Power benötigt werden.


Das ist alles sehr schwer "pauschal" zu beurteilen und hängt eigentlich immer vom Einzelfall ab. Aber mMn ist virtualisierung nicht die Antwort auf alles.
bioperiodik
bioperiodik 13.10.2015 aktualisiert um 21:23:15 Uhr
Goto Top
Hallo Pageman262,

Wie viele Mitarbeiter hat das Unternehmen bzw. wie viele werden auf den genannten Systeme arbeiten?
Wenn ich es richtig gelesen habe, sollen auf den 3 Hosts 15 VMs mit unterschiedliche Anforderungen laufen.

Dafür halte ich die geplanten Hosts (auf meinen bisherigen Erfahrungen basierend) für überdimensioniert (außer ihr seid ein Großunternehmen oder habt ausschließlich Anwendungen die sehr hohe Performance benötigt).

Aus meinen Erfahrungen:
- CPU Leistung ist das letzte, dass an die Grenzen kommt
mit 3x 24 Cores stehen jeder VM min 3 physiklische Cores zur Verfügung, in der Regel ist es kein Problem mehr vCPUs zu verteilen als Cores/Threads real verfügbar sind. Unter VMware können Ressourcen priorisiert werden, ich geh davon aus, dass Hyper-V etwas ähnliches bietet.

- RAM kann nicht schaden
mit 3 Hosts hat jede VM min. 38GB RAM, im Fail-Modus immer noch min. 25GB!

Wir haben aktuell folgende Konfigs:
virtueller DC: 2x vCPU, 4GB Ram
IIS (Sharepoint Foundation, Intranet): 4x vCPU, 4GB Ram
MSSQL: ~4x vCPU, meist 8GB Ram
Fileserver: 2x vCPU, 4GB Ram
Webserver: 2x vCPU, 4GB Ram
TS (XenApp): 4x vCPU, 48GB Ram (für 20 Benutzer)
Exchange 2010: 8x CPU, 16GB Ram (über 500 Postfächer)

Das macht großzügig kalkuliert ~150GB Ram.
Die CPUs stellen in meinen Augen kein Problem da (es sein denn man hat zahlreiche Server die permanent auf Volllast laufen.

Das Hauptaugenmerk sollte meiner Ansicht nach auf einem vernünftig geplanten und redundanten SAN liegen. Sollte für bestimmte VMs wirklich massiv IOPS anfallen, helfen Konzepte wie PernixData deutlich besser als ein paar GB SSDs im SAN.

Wenn ihr natürlich ein Budget loswerden müsst, kauf die dickste Kiste face-smile

PS: Das man SQL Server nicht virtualisieren sollte halte ich für nicht mehr zeitgemäß, es gibt ausreichend Konzepte um relativ günstig massiv IOPS zu generieren und alle Vorteile einer VM-Umgebung nutzen zu können.

Gruß
Bio