Datenbankserver auf virtuellem Stripeset Volume
Hallo zusammen,
folgendes Szenario für einen Microsoft SQL Server:
Virtueller Windows Server 2016 auf ESXi-Umgebung, VMDKs auf Netapp Storage, Datenträger im RAID4
Ich habe als Datenspeicher in der Virtuellen Maschine folgende Konfiguration gebaut:
A = virtueller SCSI-Controller
B = virtueller SCSI-Controller
C = virtueller SCSI-Controller
An jedem Controller zwei virtuelle Datenträger
A:0 , A:1
B:0 , B:1
C:0 , C:1
In der Windows Datenträgerveraltung folgende Volumes erstellt
D:\ = Stripeset über A:0, B:0, C:0 (Volume für Datenbank)
L:\ = Stripeset über A:1, B:1, C:1 (Volume für Logfiles)
Mit IOMeter habe ich in dieser Konfiguration durchschnittlich etwa 70.000 IOPS gemessen.
Wenn ich alternativ für D:\ und L:\ jeweils einen Basisdatenträger mit jeweils einem virtuellen Datenträger auf einem separaten SCSI-Controller erstelle, komme ich auf knapp 6000 IOPS
Fragen dazu:
Ein Stripeset unter Windows ist an sich nicht fehlertolerant. Wird dieser Nachteil durch das physische RAID im Hintergrund aufgehoben?
Welche anderen Nachteile ergeben sich dadurch?
Erreiche ich durch die Stripesets in der Praxis mit einem SQL Server tatsächlich diesen enormen Performancegewinn oder ist das nur mit solchen Benchmarks messbar?
Hat jemand Erfahrung mit solchen Setups gemacht?
Schonmal vorab vielen Dank für Euren Input![face-smile face-smile](/images/icons/fa/light/face-smile.svg)
Grüßle
folgendes Szenario für einen Microsoft SQL Server:
Virtueller Windows Server 2016 auf ESXi-Umgebung, VMDKs auf Netapp Storage, Datenträger im RAID4
Ich habe als Datenspeicher in der Virtuellen Maschine folgende Konfiguration gebaut:
A = virtueller SCSI-Controller
B = virtueller SCSI-Controller
C = virtueller SCSI-Controller
An jedem Controller zwei virtuelle Datenträger
A:0 , A:1
B:0 , B:1
C:0 , C:1
In der Windows Datenträgerveraltung folgende Volumes erstellt
D:\ = Stripeset über A:0, B:0, C:0 (Volume für Datenbank)
L:\ = Stripeset über A:1, B:1, C:1 (Volume für Logfiles)
Mit IOMeter habe ich in dieser Konfiguration durchschnittlich etwa 70.000 IOPS gemessen.
Wenn ich alternativ für D:\ und L:\ jeweils einen Basisdatenträger mit jeweils einem virtuellen Datenträger auf einem separaten SCSI-Controller erstelle, komme ich auf knapp 6000 IOPS
Fragen dazu:
Ein Stripeset unter Windows ist an sich nicht fehlertolerant. Wird dieser Nachteil durch das physische RAID im Hintergrund aufgehoben?
Welche anderen Nachteile ergeben sich dadurch?
Erreiche ich durch die Stripesets in der Praxis mit einem SQL Server tatsächlich diesen enormen Performancegewinn oder ist das nur mit solchen Benchmarks messbar?
Hat jemand Erfahrung mit solchen Setups gemacht?
Schonmal vorab vielen Dank für Euren Input
Grüßle
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 556148
Url: https://administrator.de/forum/datenbankserver-auf-virtuellem-stripeset-volume-556148.html
Ausgedruckt am: 20.02.2025 um 01:02 Uhr
6 Kommentare
Neuester Kommentar
Moin,
wirklich ein RAID _4_ ? Macht man das bei Netapps so?
Ansonsten bin ich folgender Meinung:
- Solange immer das gleiche LUN "unter" den VMDKs liegt, kannst du die echten IOPs nicht wirklich durch die VM Konfiguration im positiven beeinflussen.
- Wenn du separate LUNs hast, die aus autarken RAID Verbünden bestehen hast, sieht die Sache anders aus. (Aber das geht aus deinem Post nicht hervor)
lg,
Slainte
wirklich ein RAID _4_ ? Macht man das bei Netapps so?
Ansonsten bin ich folgender Meinung:
- Solange immer das gleiche LUN "unter" den VMDKs liegt, kannst du die echten IOPs nicht wirklich durch die VM Konfiguration im positiven beeinflussen.
- Wenn du separate LUNs hast, die aus autarken RAID Verbünden bestehen hast, sieht die Sache anders aus. (Aber das geht aus deinem Post nicht hervor)
lg,
Slainte
Hi,
Dadurch habe ich schon so manche VM schneller bekommen, obwohl die Datenblöcke im Endeffekt auf der selben Physik lagen.
Ich kann es jetzt nicht belegen, aber aus Erfahrung weiß ich, dass das SCSI-Protokoll an sich gewissermaßen auch einen Flaschenhals darstellt. Dem zur Folge kann man mit mehreren parallelen Queues u.U. einen höheren Datendurchsatz erzielen.
E.
Zitat von @SlainteMhath:
- Solange immer das gleiche LUN "unter" den VMDKs liegt, kannst du die echten IOPs nicht wirklich durch die VM Konfiguration im positiven beeinflussen.
Doch, das geht schon. Jedes Laufwerk (VMDK) bedeutet im Gast-OS eine eigene SCSI-Queue. Jeder virtuelle SCSI-Controller sowieso.- Solange immer das gleiche LUN "unter" den VMDKs liegt, kannst du die echten IOPs nicht wirklich durch die VM Konfiguration im positiven beeinflussen.
Dadurch habe ich schon so manche VM schneller bekommen, obwohl die Datenblöcke im Endeffekt auf der selben Physik lagen.
Ich kann es jetzt nicht belegen, aber aus Erfahrung weiß ich, dass das SCSI-Protokoll an sich gewissermaßen auch einen Flaschenhals darstellt. Dem zur Folge kann man mit mehreren parallelen Queues u.U. einen höheren Datendurchsatz erzielen.
E.
Hi,
Zitat von @feadin:
Ein Stripeset unter Windows ist an sich nicht fehlertolerant. Wird dieser Nachteil durch das physische RAID im Hintergrund aufgehoben?
Nein. Nur gegen physischen Ausfall. Nicht gegen logischen.Ein Stripeset unter Windows ist an sich nicht fehlertolerant. Wird dieser Nachteil durch das physische RAID im Hintergrund aufgehoben?
Welche anderen Nachteile ergeben sich dadurch?
Wodurch? Ich meine, außer der Nicht-Absicherung gegen logischen Ausfälle.Erreiche ich durch die Stripesets in der Praxis mit einem SQL Server tatsächlich diesen enormen Performancegewinn oder ist das nur mit solchen Benchmarks messbar?
Hat jemand Erfahrung mit solchen Setups gemacht?
Siehe meine Antwort an @SlainteMhathHat jemand Erfahrung mit solchen Setups gemacht?