Virtuelle HDDs unter Windows extrem langsam

Tom7320

Member
Jan 2, 2019
73
8
8
50
Moin!

Seit ein paar Tagen habe ich einen virtualisierten Windows Server 2016 laufen. Proxmox und die System-HDD des Windows Servers liegen auf einer Samsung SSD und laufen ganz ordentlich. Jetzt sollte der Server noch Storage bekommen. Hier die Hardware:
  • HP Microserver Gen 8, 16 GB ECC RAM
  • HP Smart Array P410 RAID Controller, 512 MB BBWC, keine BBU
  • RAID 5 mit 3x 4 TB WD Red und 1x 2 TB WD Red (Netto ca. 6 TB)
LVM Thinpool erstellt und darauf virtuelle HDDs eingerichtet:

2019-03-08_18h06_35.png

In Windows Server partitioniert und mit NTFS formatiert und ich bekomme diese Performance:

2019-03-08_18h08_16.png

Vor allem die Schreibperformance ist ja schrecklich! Unter Windows ist der "latest" virtIO SCSI Treiber installiert (virtio-win-0.1.164 bzw. Treiberversion 100.77.104.16400 vom 02.02.2019).

Mit Cache "writeback" bekomme ich mit CrystalDiskMark Mondwerte, die nicht der Realität entsprechen, da man wohl Cacheeffekte misst aber nicht die reale Geschwindigkeit. Beim Kopieren großer Dateien (z.B. ISO Images) stockt der Kopiervorgang dann immer für 10 bis 20 s mit einem IO delay von 98%, was ja auch nicht im Sinne des Erfinders ist.

Zu Testzwecken habe ich dann probehalber ein Ubuntu installiert und per dd mal getestet:

Code:
root@Xubuntu:~# dd if=/dev/zero of=/dev/sdb bs=1G count=1 oflag=direct
1+0 Datensätze ein
1+0 Datensätze aus
1073741824 Bytes (1,1 GB, 1,0 GiB) kopiert, 9,59253 s, 112 MB/s

Auch nicht überragend schnell und sicher auch nicht direkt vergleichbar, aber zumindest der Größenordnung nach in etwa das, was ich erwartet hätte...

Jetzt bin ich - nachdem ich etliche Stunden rumprobiert habe - mit meinem Latein am Ende und ein klein wenig frustriert.

Daher meine Fragen hier: Kann das sein? Was geht hier schief? Wie bekomme ich vernünftige Schreibraten zustande? An welchen Schräubchen kann ich noch drehen? Anderer RAID Controller? Welcher? Anderer virtiIO Treiber?

Für ein paar Anregungen wäre ich sehr, sehr dankbar!

Beste Grüße

Thorsten
 
Last edited:
Nachtrag:

Hier noch ein paar Messwerte:

1. Proxmox direkt:

Code:
root@pve:~# dd if=/dev/zero of=/dev/storage/vm-102-disk-1 bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 28.6322 s, 37.5 MB/s
root@pve:~# dd if=/dev/zero of=/dev/storage/vm-102-disk-1 bs=1G count=1 oflag=direct
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 10.7814 s, 99.6 MB/s
root@pve:~# hdparm -tT --direct /dev/storage/vm-102-disk-1

/dev/storage/vm-102-disk-1:
 Timing O_DIRECT cached reads:   1366 MB in  2.00 seconds = 682.84 MB/sec
 Timing O_DIRECT disk reads: 1186 MB in  3.00 seconds = 395.32 MB/sec

2. Ubuntu virtualisiert:

Code:
root@Xubuntu:~# dd if=/dev/zero of=/dev/sda bs=1G count=1 oflag=direct
1+0 Datensätze ein
1+0 Datensätze aus
1073741824 Bytes (1,1 GB, 1,0 GiB) kopiert, 12,8009 s, 83,9 MB/s
root@Xubuntu:~# dd if=/dev/zero of=/dev/sda bs=1G count=1 oflag=direct
1+0 Datensätze ein
1+0 Datensätze aus
1073741824 Bytes (1,1 GB, 1,0 GiB) kopiert, 11,8542 s, 90,6 MB/s
root@Xubuntu:~#  hdparm -tT --direct /dev/sda

/dev/sda:
 Timing O_DIRECT cached reads:   496 MB in  2.01 seconds = 247.21 MB/sec
 Timing O_DIRECT disk reads: 718 MB in  3.01 seconds = 238.81 MB/sec
 
Moin, welche anbieter hast du? Welche festplatten und hardware ist verbaut?

Was sagt deine Festplatte Auslastung wenn du das machst im proxmox system.?
 
Du brauchst unbedingt eine BBU im RAID controller um den write cache zu aktiveren.
RAID5 machts auch nicht schneller - würde mal mit RAID10 testen...
 
Hier das gesamte Array:

Code:
=> ctrl all show config detail

Smart Array P410 in Slot 1
   Bus Interface: PCI
   Slot: 1
   Serial Number: PACCR0L9VZ01QL5
   Cache Serial Number: PAAVP9SZ89D0
   RAID 6 (ADG) Status: Enabled
   Controller Status: OK
   Hardware Revision: C
   Firmware Version: 6.64-0
   Rebuild Priority: Medium
   Expand Priority: Medium
   Surface Scan Delay: 3 secs
   Surface Scan Mode: Idle
   Parallel Surface Scan Supported: No
   Queue Depth: Automatic
   Monitor and Performance Delay: 60  min
   Elevator Sort: Enabled
   Degraded Performance Optimization: Disabled
   Inconsistency Repair Policy: Disabled
   Wait for Cache Room: Disabled
   Surface Analysis Inconsistency Notification: Disabled
   Post Prompt Timeout: 15 secs
   Cache Board Present: True
   Cache Status: OK
   Cache Ratio: 100% Read / 0% Write
   Drive Write Cache: Disabled
   Total Cache Size: 0.5
   Total Cache Memory Available: 0.4
   No-Battery Write Cache: Disabled
   SATA NCQ Supported: True
   Number of Ports: 2 Internal only
   Encryption: Not Set
   Driver Name: hpsa
   Driver Version: 3.4.20
   Driver Supports SSD Smart Path: True
   PCI Address (Domain:Bus:Device.Function): 0000:07:00.0
   Port Max Phy Rate Limiting Supported: False
   Host Serial Number: CZ151900E5
   Sanitize Erase Supported: False
   Primary Boot Volume: None
   Secondary Boot Volume: None


   Port Name: 1I
         Port ID: 0
         Port Connection Number: 0
         SAS Address: 50014380092A5E90
         Port Location: Internal

   Port Name: 2I
         Port ID: 1
         Port Connection Number: 1
         SAS Address: 50014380092A5E94
         Port Location: Internal

   Array: A
      Interface Type: SATA
      Unused Space: 0 MB (0.00%)
      Used Space: 7.28 TB (100.00%)
      Status: OK
      Array Type: Data
      Smart Path: disable


      Logical Drive: 1
         Size: 5.46 TB
         Fault Tolerance: 5
         Heads: 255
         Sectors Per Track: 32
         Cylinders: 65535
         Strip Size: 256 KB
         Full Stripe Size: 768 KB
         Status: OK
         Unrecoverable Media Errors: None
         Caching:  Enabled
         Parity Initialization Status: Initialization Completed
         Unique Identifier: 600508B1001CE227E0D6D42F0F53C8AF
         Disk Name: /dev/sda
         Mount Points: None
         Logical Drive Label: AC6EB1B2PACCR0L9VZ01QL50D2A
         Drive Type: Data
         LD Acceleration Method: Controller Cache


      physicaldrive 1I:0:1
         Port: 1I
         Box: 0
         Bay: 1
         Status: OK
         Drive Type: Data Drive
         Interface Type: SATA
         Size: 4 TB
         Drive exposed to OS: False
         Logical/Physical Block Size: 512/4096
         Rotational Speed: 5400
         Firmware Revision: 82.00A82
         Serial Number: WD-WCC7K1PU5TP1
         WWID: 3000000000000000
         Model: ATA     WDC WD40EFRX-68N
         SATA NCQ Capable: True
         SATA NCQ Enabled: True
         Current Temperature (C): 30
         Maximum Temperature (C): 45
         PHY Count: 1
         PHY Transfer Rate: 3.0Gbps
         Sanitize Erase Supported: False
         Shingled Magnetic Recording Support: None

      physicaldrive 1I:0:2
         Port: 1I
         Box: 0
         Bay: 2
         Status: OK
         Drive Type: Data Drive
         Interface Type: SATA
         Size: 4 TB
         Drive exposed to OS: False
         Logical/Physical Block Size: 512/4096
         Rotational Speed: 5400
         Firmware Revision: 82.00A82
         Serial Number: WD-WCC7K3UR1X0Z
         WWID: 3000000000000001
         Model: ATA     WDC WD40EFRX-68N
         SATA NCQ Capable: True
         SATA NCQ Enabled: True
         Current Temperature (C): 30
         Maximum Temperature (C): 41
         PHY Count: 1
         PHY Transfer Rate: 3.0Gbps
         Sanitize Erase Supported: False
         Shingled Magnetic Recording Support: None

      physicaldrive 1I:0:3
         Port: 1I
         Box: 0
         Bay: 3
         Status: OK
         Drive Type: Data Drive
         Interface Type: SATA
         Size: 2 TB
         Drive exposed to OS: False
         Logical/Physical Block Size: 512/512
         Rotational Speed: 7200
         Firmware Revision: MN6OA800
         Serial Number: MN3220F33TJVAE
         WWID: 3000000000000002
         Model: ATA     Hitachi HDS72302
         SATA NCQ Capable: True
         SATA NCQ Enabled: True
         Current Temperature (C): 33
         Maximum Temperature (C): 46
         PHY Count: 1
         PHY Transfer Rate: 3.0Gbps
         Sanitize Erase Supported: False
         Shingled Magnetic Recording Support: None

      physicaldrive 1I:0:4
         Port: 1I
         Box: 0
         Bay: 4
         Status: OK
         Drive Type: Data Drive
         Interface Type: SATA
         Size: 4 TB
         Drive exposed to OS: False
         Logical/Physical Block Size: 512/4096
         Rotational Speed: 5900
         Firmware Revision: SC44
         Serial Number: Z302C91V
         WWID: 3000000000000003
         Model: ATA     ST4000VN000-1H41
         SATA NCQ Capable: True
         SATA NCQ Enabled: True
         Current Temperature (C): 31
         Maximum Temperature (C): 46
         PHY Count: 1
         PHY Transfer Rate: 3.0Gbps
         Sanitize Erase Supported: False
         Shingled Magnetic Recording Support: None


   SEP (Vendor ID PMCSIERA, Model  SRC 8x6G) 250
      Device Number: 250
      Firmware Version: RevC
      WWID: 50014380092A5E9F
      Vendor ID: PMCSIERA
      Model: SRC 8x6G

=>
 
Cache Ratio: 100% Read / 0% Write
Typisches HP Problem nach Firmwareupdates. Da gabs mal nen Bug vor nem Jahr der die Werte so setzte. Kann natürlich net gehen. Und ja Raid5 für Virtualisierung ist genau für garnix, ausser Kopfweh... :eek::)

Drive Write Cache: Disabled
Von der Batterie ist nur das abhängig. Und ja wenn man da auf Enabled setzt gehts merklich besser. Ist halt ein Risiko.
 
:):):):):)

Ich rüste mal den Cache etwas auf und ändere die Cache Ratio auf 75/25? oder 50/50?
Das RAID ist nur für die Daten. Die VMs liegen auf SSD. Wäre RAID 10 sinnvoller als RAID 5?
 
Typisches HP Problem nach Firmwareupdates. Da gabs mal nen Bug vor nem Jahr der die Werte so setzte. Kann natürlich net gehen. Und ja Raid5 für Virtualisierung ist genau für garnix, ausser Kopfweh... :eek::)


Von der Batterie ist nur das abhängig. Und ja wenn man da auf Enabled setzt gehts merklich besser. Ist halt ein Risiko.
Hi,
ähh - ich glaube Du bist in der Zeile verrutscht.
Code:
 No-Battery Write Cache: Disabled
der Raid-Controller-Cache ist von der Batterie abhängig, der Cache von den HDDs nicht - der Kram ist weg bei Stromausfall, egal ob eine Batterie am Raidcontroller hängt.

@Tom7320 wenn Dir deine Daten nicht so wichtig sind, Du aber Speed haben möchtest, schalte No-Battery Write Cache auf enabled, Disk Cache auf Enabled und beim Verhältnis Read/Write kommt es drauf an, wie oft Sachen mehrfach gelesen werden (wahrscheinlich nicht sehr oft).
Bei schreibintensiven Sachen würde ich 50/50 wählen.
Wenn Dir die Daten was bedeuten, besorg Dir eine BBU und schalte den HDD-Cache aus.

Udo
 
Ich besorge mir jetzt eine BBU und noch eine HDD, baue ein RAID 10 damit, konfiguriere den Controller wie vorgeschlagen und melde mich dann wieder....

Danke für Eure Hilfe!

Schönes Wochenende an Alle!
 
  • Like
Reactions: fireon
habe den befehl
dd if=/dev/zero of=/dev/sdb bs=1G count=1 oflag=direct
ausgeführt und keiner hat gesagt das die festplatte gelöscht wird kann mir einer da helfen wie ich die daten wieder herstelle
 
Das dürfte schwierig werden. Der Befehl löscht nicht einfach Dateien sondern überschreibt das erste GB auf Blockebene mit Nullen. Genau das macht man auch mit dem Befehl, wenn man etwas unwiederbringlich löschen möchte.
 
Hoffe dein Backup ist aktuell. Der Befehl sollte auch die Partitionstabelle überschrieben haben also gehen keine Snapshots mehr. Mit glück kannst du mit Datenrettungstools ein paar Dateien aus dem ersten GB wiederherstellen und alles hinter dem ersten GB aber alles ungeschenen machen wird nichts.Vielleicht solltest du noch schreiben ob sdb teil von einem raid war, was für ein Dateisystem drauf war und was für Arten von Daten.
 
Backups auf der selben Festplatte wie die VMs selbst? Autsch.
Wenn da echt nur VMs drauf waren hätte ich gesagt Platte neu formatieren, kurz die VMs aus Backups einspielen und die Sache wäre im Null-Komma-Nichts wie vorher. Wenn deine einzigen Backups von den VMs mit auf der Platte waren hast du echt ein Problem. Sorry :(
Wenn die VMs wirklich wichtig sind und du keine anderen Backups hast, dann solltest du das lieber von einem Profi erledigen lassen (was sehr teuer wird). Mit selbst herumtesten machst du die verbleibenden Daten eher noch kaputter. Oder wenigstens mit dd oder ähnlichem eine 1:1 Kopie der Festplatte machen und dann an der Kopie herumexperimentieren und nicht an der Platte selbst um nicht ausversehen noch mehr zu überschreiben.

Wirklich verloren ist wie gesagt nur das erste GB der Platte, nur hast du dir damit halt das ganze Dateisystem zerschossen und kommst so ohne weiteres nicht mehr an die verbleibenden Daten ran, da es ja auch keine Partitionen usw mehr gibt. Wenn du die Partitionstabelle irgendwie neu erstellen könntest, so das alle Partitionen wie vorher wären, dann sollten ja im Prinzip wenigstens 3 VMs komplett wiederherstellbar sein. Vielleicht gibt es da auch Datenrettungtools, welche irgendwie anhand der Rohdaten auf der Platte die Signatur eines Header einer Partition oder so erkennen und die PArtitionstabelle entsprechend neuschreiben können.

Hast du grob eine IDee wie deine Partitionierung der Platte aussah? GPT oder MBR? Wieviele Partitionen, wie groß, welche Reihenfolge, welche Dateisysteme? Wenn du das weißt findest du bestimmt deutlich leichter ein passendes Rettungstool, da diese meist für spezielle Fälle gedacht sind.
Aber wie gesagt, nie an der Platte selbst rumexperimentieren, sondern immer an 1:1 Kopien auf einer neuen leeren Festplatte.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!