108399
Apr 28, 2013
4416
15
0
VMWare vSphere ESX 5.1 in Verbindung mit NFS auf Windows 2012 Storage Server Basis
Liebe Community
Bei meinem neuen Projekt bin ich im Moment auf ein etwas nerviges Problem gestossen. In erster Linie möchte ich nun jedoch kurz den aktuellen Aufbau beschreiben:
Hypervisor: VMWare vSphere ESX 5.1 Essential
Storage Server: Windows Storage Server 2012 Standard, 2x RAID10 mit je 4TB WD HDDs zu einem Storage Pool zusammengenommen.
Netzwerk: 2x24 Port Gbit Zyxel Switchs, 2x 8 Port 10GBits Netgear Switch.
Verbindungen: Internet per GBit über einen Zyxel Switch, Storage per 10Gbit dedicated auf einem Netgear Switch.
Der NFS Storagepool konnte ohne Probleme im VMware Server eingebunden werden. Als erster Test wollte ich eine virtuelle Maschine auf den neuen Storage übertragen, hierbei erreiche ich jedoch nur einen Speed von 80-500MBit/s, wobei die Übertragung scheinbar sehr instabil ist (Geschwindigkeit schwankend). Übertragung findet vom VMware Server mit einer Intel X540 10Gbit Karte zum 10 Gbit Netgear Switch, dann vom Netgear Switch weiter auf den Intel X540 (on board) Controller des Supermicro Storage Servers.
So, virtuelle Maschine verschieben ging leider mal garnicht. Nächster Test war das Aufsetzen eines neuen Servers (Windows Server 2008 R2), wobei hier nun der Storage Server - sobald die Installation beginnt (Daten werden kopiert (0%)...) hängts dann auch und der Storage "schwirrt" ab und wird als inaktiv markiert.
Die Kommunikation findet im Moment bewusst nur über eine Leitung statt, damit ich Fehler in der Kommunikation verhindern kann. Später soll die Kommunikation dann auf 20 Gbit/s Redundant erhöht werden, was aber im Moment nicht priorität hat.
Ebenfalls gibt das Log von VMWare zum Zeitpunkt des Fehlers (inaktivität des NFS Datenspeichers) keine weiterführenden Informationen aus, welche ich als Anhaltspunkt verwenden könnte.
Hat jemand von euch noch eine Idee?
Freue mich auf eure Antwort!
Liebe Grüsse
Raphael S.
Bei meinem neuen Projekt bin ich im Moment auf ein etwas nerviges Problem gestossen. In erster Linie möchte ich nun jedoch kurz den aktuellen Aufbau beschreiben:
Hypervisor: VMWare vSphere ESX 5.1 Essential
Storage Server: Windows Storage Server 2012 Standard, 2x RAID10 mit je 4TB WD HDDs zu einem Storage Pool zusammengenommen.
Netzwerk: 2x24 Port Gbit Zyxel Switchs, 2x 8 Port 10GBits Netgear Switch.
Verbindungen: Internet per GBit über einen Zyxel Switch, Storage per 10Gbit dedicated auf einem Netgear Switch.
Der NFS Storagepool konnte ohne Probleme im VMware Server eingebunden werden. Als erster Test wollte ich eine virtuelle Maschine auf den neuen Storage übertragen, hierbei erreiche ich jedoch nur einen Speed von 80-500MBit/s, wobei die Übertragung scheinbar sehr instabil ist (Geschwindigkeit schwankend). Übertragung findet vom VMware Server mit einer Intel X540 10Gbit Karte zum 10 Gbit Netgear Switch, dann vom Netgear Switch weiter auf den Intel X540 (on board) Controller des Supermicro Storage Servers.
So, virtuelle Maschine verschieben ging leider mal garnicht. Nächster Test war das Aufsetzen eines neuen Servers (Windows Server 2008 R2), wobei hier nun der Storage Server - sobald die Installation beginnt (Daten werden kopiert (0%)...) hängts dann auch und der Storage "schwirrt" ab und wird als inaktiv markiert.
Die Kommunikation findet im Moment bewusst nur über eine Leitung statt, damit ich Fehler in der Kommunikation verhindern kann. Später soll die Kommunikation dann auf 20 Gbit/s Redundant erhöht werden, was aber im Moment nicht priorität hat.
Ebenfalls gibt das Log von VMWare zum Zeitpunkt des Fehlers (inaktivität des NFS Datenspeichers) keine weiterführenden Informationen aus, welche ich als Anhaltspunkt verwenden könnte.
Hat jemand von euch noch eine Idee?
Freue mich auf eure Antwort!
Liebe Grüsse
Raphael S.
Please also mark the comments that contributed to the solution of the article
Content-Key: 205781
Url: https://administrator.de/contentid/205781
Printed on: April 19, 2024 at 19:04 o'clock
15 Comments
Latest comment
Hallo Raphael
1tens Raid 10 mit 4TB Festplatten (4kb) sehe ich schon mal nicht als Performance an.
2tens Raidcontroller ?? oder nur über die neuen Storage Spaces?? wenn 2tes Sehr Mutig von Dir.
Wenn Du noch am testen bist Könnstes mal ein kleines Linux installieren und das ganze dort über NFS testen ob der Speed der Hardware reicht und Du nur ein Problem mit dem Windows 2012 hast.
Ich habe hier auch ein 2012 Server Standard der auch NFS für nen ESX i 5.1 macht. Dort habe ich nur ISO Dateien abgelegt.
Performance für Installation nicht ausreichend.
gruass affabanana
1tens Raid 10 mit 4TB Festplatten (4kb) sehe ich schon mal nicht als Performance an.
2tens Raidcontroller ?? oder nur über die neuen Storage Spaces?? wenn 2tes Sehr Mutig von Dir.
Wenn Du noch am testen bist Könnstes mal ein kleines Linux installieren und das ganze dort über NFS testen ob der Speed der Hardware reicht und Du nur ein Problem mit dem Windows 2012 hast.
Ich habe hier auch ein 2012 Server Standard der auch NFS für nen ESX i 5.1 macht. Dort habe ich nur ISO Dateien abgelegt.
Performance für Installation nicht ausreichend.
gruass affabanana
Sers,
könntest du bitte genauer auf die HDD Aufstellung eingehen? Was sind das für Platten? Sind das 4 Platten à 4 TB je RAID10 Array, oder wie genau ist das aufgebaut?
Wie steht es um den Storage Pool den du drüber gelegt hast? Wie gibt der das ganze weiter?
Und vor allen Dingen, wenn du Journaling (für Parity) in dem Pool nutzt, läuft das Journal auch auf dem Pool?
An was für einem Controller hängen die Platten, wie steht es um die Konfiguration vom SSD Cache?
Was du sonst noch tun kannst:
Dafür sollte der Server dann natürlich mit jenen schönen BBU und USV ausgerüstet sein, Konsequenzen sollten bekannt sein!
Code ist natürlich für Powershell.
Das einfach mal so vorn weg.
4kB Sektoren machen aus Microsoft-Sicht durchaus Sinn, da VHDX-Containerdateien in 4kB organisiert sind.
Grüße,
Philip
könntest du bitte genauer auf die HDD Aufstellung eingehen? Was sind das für Platten? Sind das 4 Platten à 4 TB je RAID10 Array, oder wie genau ist das aufgebaut?
Wie steht es um den Storage Pool den du drüber gelegt hast? Wie gibt der das ganze weiter?
Und vor allen Dingen, wenn du Journaling (für Parity) in dem Pool nutzt, läuft das Journal auch auf dem Pool?
An was für einem Controller hängen die Platten, wie steht es um die Konfiguration vom SSD Cache?
Was du sonst noch tun kannst:
- Den Storage Pool als "mit BBU und USV gesichert" markieren damit Caches genutzt werden:
Set-StoragePool -FriendlyName <Storage Pool Name> -IsPowerProtected $True
- SSD als Journal Disk verwenden:
Add-PhysicalDisk -StoragePoolFriendlyName "<your storage pool name>" -PhysicalDisks <physical disk name> -Usage Journal
Code ist natürlich für Powershell.
Das einfach mal so vorn weg.
Zitat von @affabanana:
1tens Raid 10 mit 4TB Festplatten (4kb) sehe ich schon mal nicht als Performance an.
1tens Raid 10 mit 4TB Festplatten (4kb) sehe ich schon mal nicht als Performance an.
4kB Sektoren machen aus Microsoft-Sicht durchaus Sinn, da VHDX-Containerdateien in 4kB organisiert sind.
Grüße,
Philip
Ok, Platten wären damit bekannt. Bleiben noch die Controller. Details bitte. CacheCade gibt es als v1.x und v2, wobei nur die v2 auch als Schreibcache benutzt werden kann.
Um ehrlich zu sein steig ich immer noch nicht hinter den Grund für dein Anliegen nen Storage Pool aufzumachen. Aber naja.
Es geht auf jeden Fall gegen die Best Practice. Die lautet nämlich Raid Controller in den HBA Modus zu setzen. Was dir aber wiederum deine SSD Caching Pläne zunichte macht.
Ja, du willst die Cache-Nutzung für den Storage Pool auf True setzen.
Nein, da du den Simple-Mode fährst hast du kein Journal. Brauchst das ergo also auch nicht zu konfigurieren.
Storage Spaces selbst sind ja für NTFS und ReFS optimiert, das darfst du nicht vergessen wenn du NFS auf das Volume legst.
Welche Stripe Size hast du in den Raid10 eingestellt? Dir ist klar dass du die noch verdoppelst?
Um ehrlich zu sein steig ich immer noch nicht hinter den Grund für dein Anliegen nen Storage Pool aufzumachen. Aber naja.
Es geht auf jeden Fall gegen die Best Practice. Die lautet nämlich Raid Controller in den HBA Modus zu setzen. Was dir aber wiederum deine SSD Caching Pläne zunichte macht.
Ja, du willst die Cache-Nutzung für den Storage Pool auf True setzen.
Nein, da du den Simple-Mode fährst hast du kein Journal. Brauchst das ergo also auch nicht zu konfigurieren.
Storage Spaces selbst sind ja für NTFS und ReFS optimiert, das darfst du nicht vergessen wenn du NFS auf das Volume legst.
Welche Stripe Size hast du in den Raid10 eingestellt? Dir ist klar dass du die noch verdoppelst?
Sers,
Eine Frage vorweg: waren die Raids auf den LSIs schon komplett initialisiert, oder lief da noch die Background Initialisierung?
Hast du mal nen Performancetest auf dein Konstrukt ohne Storage Spaces gemacht?
Schön auf jeden Fall dass deine Controller CacheCade 2.0 unterstützen, sprich wenn du es aktiviert hast auch Schreibcaching können. Ist nur die Frage ob dir dabei auch die SSDs durchhalten. Aber das ist ein anderes Thema.
Zwecks Stripe Size: Wie lautet die Einstellung auf den Raidcontrollern? Die 128kB sind hoffentlich das Stripe Set und nicht die Stripe Size (bzw Chunk Size), sonst hast du ein Problem (sprich: jede Schreib/Leseoperation müsste je Platte 128 / 4 = 32 Sektoren bearbeiten).
Versuch mal folgendes: Stell einen der Controller in den HBA Modus, häng 8 von den HDDs dran und bau dir damit nen Storage Pool. Nimmst erst vier je und baust dir Simples draus und schnappst dir dann die zwei Simples und legst ein Mirror drüber. Dabei dann nicht vergessen Caching für die Pools via PowerShell zu aktivieren.
Und wenn das Ding steht dann teste mal die Performance.
Aber egal was, die Storage Spaces werden nicht auf die Performance von deinen LSI Controllern kommen. Storage Spaces ist eigentlich eher als Ersatz für teure Raid Controller gedacht. Wenn du direkt deine 4er RAID10s samt SSD Cache als NFS Volumes bereit stellst fährst du von der Performance her wesentlich besser.
Alternativ kannst ja auch 8 von den SAS HDDs über nen Expander mit 4 SSDs auf einen Controller hängen. Die anderen 4 SSDs langweilen sich dann eben. CacheCade unterstützt derzeit insgesamt leider nur max. 512 GB SSD Kapazität.
Grüße,
Philip
Eine Frage vorweg: waren die Raids auf den LSIs schon komplett initialisiert, oder lief da noch die Background Initialisierung?
Hast du mal nen Performancetest auf dein Konstrukt ohne Storage Spaces gemacht?
Schön auf jeden Fall dass deine Controller CacheCade 2.0 unterstützen, sprich wenn du es aktiviert hast auch Schreibcaching können. Ist nur die Frage ob dir dabei auch die SSDs durchhalten. Aber das ist ein anderes Thema.
Zwecks Stripe Size: Wie lautet die Einstellung auf den Raidcontrollern? Die 128kB sind hoffentlich das Stripe Set und nicht die Stripe Size (bzw Chunk Size), sonst hast du ein Problem (sprich: jede Schreib/Leseoperation müsste je Platte 128 / 4 = 32 Sektoren bearbeiten).
Versuch mal folgendes: Stell einen der Controller in den HBA Modus, häng 8 von den HDDs dran und bau dir damit nen Storage Pool. Nimmst erst vier je und baust dir Simples draus und schnappst dir dann die zwei Simples und legst ein Mirror drüber. Dabei dann nicht vergessen Caching für die Pools via PowerShell zu aktivieren.
Und wenn das Ding steht dann teste mal die Performance.
Aber egal was, die Storage Spaces werden nicht auf die Performance von deinen LSI Controllern kommen. Storage Spaces ist eigentlich eher als Ersatz für teure Raid Controller gedacht. Wenn du direkt deine 4er RAID10s samt SSD Cache als NFS Volumes bereit stellst fährst du von der Performance her wesentlich besser.
Alternativ kannst ja auch 8 von den SAS HDDs über nen Expander mit 4 SSDs auf einen Controller hängen. Die anderen 4 SSDs langweilen sich dann eben. CacheCade unterstützt derzeit insgesamt leider nur max. 512 GB SSD Kapazität.
Grüße,
Philip
hier mal IOmeter
http://communities.vmware.com/docs/DOC-3961
http://communities.vmware.com/message/1712931
gruass affabanana
http://communities.vmware.com/docs/DOC-3961
http://communities.vmware.com/message/1712931
gruass affabanana
Zitat von @108399:
Die RAIDs wurden Fast Initialisiert - soll ich eher ein Full machen?
'Tschuldigung, bitte was? Fast heisst das im Hintergrund das Array initialisiert wird, üblicherweise mit einer Geschwindigkeit von etwa 30%. Bei der Arraygröße kann das gut und gern 1-2 Tage dauern während du dicke Performanceeinbußen hinnehmen musst.Die RAIDs wurden Fast Initialisiert - soll ich eher ein Full machen?
Initialisiert werden muss immer. Der Vorteil an "Fast" aka "Background Initialisierung" ist einfach dass du nach etwa 30sec schon mit dem Array arbeiten kannst statt darauf zu warten dass die Initialisierung abgeschlossen ist.
Da darst du dich also überhaupt nicht über miese Performance wundern. Speziell wenn oben drüber noch ein Storage Pool liegt.
Dass dir Intel 520er als Schreibcache empfohlen werden... nunja. Intel garantiert für die Teile eine Write Endurance von 20 GB je Tag für 5 Jahre. Sprich Garantie gibt es nur für etwa 36 TB Writes (20Gb/Tag über 5 Jahre). Und da die Garantie von Intel über 5 Jahre eine Limited Warranty ist wird dir Intel, wenn die 36 TB nach 3 Wochen geschrieben wurden und die Platte dir drauf geht, auch keine neue Platte geben, sondern dir eine neue verkaufen.
Als Lesecache? Schicke SSDs, aber als Schreibcache? Nie im Leben...
Zum Vergleich: Eine aktuelle SM843T mit 120GB garantiert dir im Worst Case 500GB/Tag über 3 Jahre, also grob 450 TB. Preislich sind beide nicht weit auseinander.
Wie hattest du eigentlich SSDs für den "Raid-Cache" konfiguriert? Raid 0, 1 oder 10? Und falls 1 bzw. 10 als "Write Through" oder "Always Write Through"?
Wenn man es mal durchrechnet... könntest eigentlich auch alle 8 HDDs und 8 SSDs an einen Controller hängen. Jeweils eben mit Expander. Mit dem SSD Caching als Raid1 oder Raid10 konfiguriert kämst immernoch bei 480 GB effektivem Cache raus, wärst also noch innerhalb des Limits von 512 GB.
:edit:
Zur Performancemessung kann ich keine Tools empfehlen. Das Problem ist ja dass dir der Cache die Werte verfälschen wird bzw. teils erst nach einer Lernperiode mitarbeitet. Eine Möglichkeit wäre wohl eine massig Daten aufs Volume zu legen und dann diese unterschiedlich oft wiederholt zu lesen. Dadurch kriegst mit der Zeit semiakkurate Werte zur Leseleistung mit und ohne SSD-Cache. Wichtig dabei wäre auf jeden Fall dass mehr Daten auf dem Volume liegen und gelesen werden als total in den Cache passen. Grob 4-5 TB Daten bei 480GB Cache wären mal mein Richtwert.
Grüße,
Philip
Zitat von @108399:
Hi Philip
*Hust, hust...* man lernt nie aus...
Die Fast Initialisation ist schon einige Tage her, somit können wir den Punkt eigentlich ausschliessen...
Hi Philip
*Hust, hust...* man lernt nie aus...
Die Fast Initialisation ist schon einige Tage her, somit können wir den Punkt eigentlich ausschliessen...
Schau bitte im Raid Manager Utility nach. Dort siehst du ob der Vorgang abgeschlossen ist oder nicht. Fakten schaffen, weisst schon ;)
Das mit den SSDs schaue ich mir etwas später nochmals im Detail an - danke für den Hinweis!
CacheCade ist auf RAID1 konfiguriert (hatte kein RAID10 zur Auswahl), Write Policy ist auf Write Back gestellt.
CacheCade ist auf RAID1 konfiguriert (hatte kein RAID10 zur Auswahl), Write Policy ist auf Write Back gestellt.
Wenn du den SSD-Schreibcache aktiviert haben willst ist das die richtige Einstellung. Wichtig dazu: Sobald der Raid1 aus den SSDs degraded ist stellt der Controller den Schreibcache ab und arbeitet nur noch als Lesecache. Bis der Degradedzustand behoben wurde.
Die SAS RAID10 (beide) laufen auf Write Through, da kein BBU montiert ist und bereits über die SSDs gecachet wird - oder ist dies eine falsche Überlegung meinerseits?
Das kannst du so machen. Musst aber bedenken dass auch deine SSDs bzw. der Controllercache nicht wirklich gesichert sind. Write-Back wäre also auch eine Möglichkeit. Das solltest du für dich entscheiden. Deine Variante ist auf jeden Fall die sicherere.
Soll der Server denn Produktiv eingesetzt werden, oder ist das "nur" eine Spielewiese? Wenn produktiv würde ich auf jeden Fall das BBU in Betracht ziehen. Die sicherlich vorhandene USV nehm ich jetzt einfach mal als gegeben.
Grüße,
Philip