Hallo zusammen,
ich habe hier eine kleine Umgebung die mir seit Beginn Kopfschmerzen bereitet.
Es handelt sich um eine Virtualisierungslösung.
Ich habe eine Qnap TS1279U-RP (Intel i3, 4gb RAM) mit folgender Festplattenkonfig:
5 x Festplatten Seagate ST3000NC00 (4 TB) Raid 5
6 x Seagate ST5000NM0024 (5 TB) Raid 6
1 x SSD alsRead Chache für die ISCSI LUNS
Die HDDs im Raid5 bilden den SMB Share für Netzwerkordner. Da hab ich ganz normale Performance.
Die HDDs im Raid6 bilden den Speicherpool für die HyperV 2008r2 Luns.
Ich weiß das das Raid6 nicht optimal ist, aber ich kann mir nicht vorstellen das es die Erklärung für die schlechte Performance ist.
Als Hypervisor arbeitet ein HP ProLiant DL360 G8 Server mit 2 x Xeon Prozessoren und insgesamt 64GB Ram.
Angeschlossen sind QNAP und HP Server direkt per 10gbe DAC. Die Clients die per SMB auf die QNAP zugreifen, greifen über die 1Gb Nic zu. Die beiden Netze sind in verschiedenen IP Subnetzen.
Insgesamt sind 10 HyperV Guests auf dem Hypervisor eingerichtet. Jeder Guest hat dabei seine eigene LUN auf der Qnap.
Das eigentliche Problem ist die schlechte Performance der HyperV Guests. Datenbank Applikationen laufen derart langsam, das an eine produktive arbeit nicht zu denken ist. Wenn alle Guests runtergefahren werden und gleichzeitig gestartet werden, dauert das mindestens 60 Minuten bis alle Dienste auf allen Servern aktiv sind.
Ich weiß auch das Qnap und HyperV 2008r2 nicht zertifiziert ist, aber dennoch als kompatibles Produkt aufgeführt wird.
Ich habe auch bereits einige Test gefahren. Folgende Werte kann ich euch bereitstellen:
Der Datentransfer zwischen Hypervisor und Qnap Luns ist ok. Wenn ich große Dateien kopiere komme ich auf knapp 200MB/s.
iperf zwischen Hypervisor und Qnap gibt mir 5.31Gbits/sec wieder
iperf zwischen Guest und Qnap nur 900Mbits/sec. Wobei das wohl daran liegen dürfte, das der Guest die 1Gbe Kupfer Leitung nutzt. Das dürfte ja aber egal sein, denn das Speichern per ISCSI sollte ja der Hypervisor machen, oder irre ich mich da?
Diskspeed vom Hypervisor auf die Qnap Luns bringen relativ schlechte Ergebnisse. Ganz komisch ist die extrem hohe Lat. beim WriteIO
diskspd.exe -c512M -d60 -r -w30 -b8k -t4 -o8 -h -L r:\Test.dat (vollständiges Ergebnis im Anhang)
thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file
-----------------------------------------------------------------------------------------------------
0 | 21159936 | 2583 | 0.34 | 43.04 | 19.596 | 69.381 | r:\Test.dat (512MB)
1 | 21200896 | 2588 | 0.34 | 43.13 | 21.035 | 70.132 | r:\Test.dat (512MB)
2 | 20946944 | 2557 | 0.33 | 42.61 | 21.671 | 73.705 | r:\Test.dat (512MB)
3 | 20840448 | 2544 | 0.33 | 42.39 | 21.308 | 69.562 | r:\Test.dat (512MB)
-----------------------------------------------------------------------------------------------------
total: 84148224 | 10272 | 1.34 | 171.17 | 20.899 | 70.718
Write IO
thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file
-----------------------------------------------------------------------------------------------------
0 | 9019392 | 1101 | 0.14 | 18.35 | 390.876 | 188.754 | r:\Test.dat (512MB)
1 | 8962048 | 1094 | 0.14 | 18.23 | 389.788 | 180.805 | r:\Test.dat (512MB)
2 | 8806400 | 1075 | 0.14 | 17.91 | 395.749 | 190.953 | r:\Test.dat (512MB)
3 | 8724480 | 1065 | 0.14 | 17.75 | 400.936 | 186.989 | r:\Test.dat (512MB)
-----------------------------------------------------------------------------------------------------
total: 35512320 | 4335 | 0.56 | 72.24 | 394.281 | 186.950
und Iometer (60%Rand-65%Read) bringt folgende Werte zum Vorschein:
IOps 248.692.200 | Read IOps 161.311.604 | Write IOps 87.380.596 | MiBps (Binary) 1.942.908
Read MiBps (Binary) 1.260.247 | Write MiBps (Binary) 0.682661 | MBps (Decimal) 2.037.287
Read MBps (Decimal) 1.321.465 |Write MBps (Decimal) 0.715822|Transactions per Second 248.692.200 |
Connections per Second |0.497391 | Average Response Time 237.952.690 |Average Read Response Time 239.224.623
Average Write Response Time 235.604.600 | Average Transaction Time 237.952.690
Ich hoffe wirklich ihr seht einen Fehler oder Verbesserungspunkt.