Hyper-V-Speicher-e/a-LeistungHyper-V Storage I/O Performance

In diesem Abschnitt werden die verschiedenen Optionen und Überlegungen zum Optimieren der Speicher-e/a-Leistung auf einem virtuellen Computer beschrieben.This section describes the different options and considerations for tuning storage I/O performance in a virtual machine. Der Speicher-e/a-Pfad erstreckt sich vom Gast Speicher Stapel, über die hostvirtualisierungsebene, auf den Host Speicher Stapel und dann auf den physischen Datenträger.The storage I/O path extends from the guest storage stack, through the host virtualization layer, to the host storage stack, and then to the physical disk. Im folgenden finden Sie Erläuterungen dazu, wie Optimierungen in jeder dieser Phasen möglich sind.Following are explanations about how optimizations are possible at each of these stages.

Virtuelle ControllerVirtual controllers

Hyper-V bietet drei Arten von virtuellen Controllern: IDE, SCSI und virtuelle Hostbus Adapter (HBAs).Hyper-V offers three types of virtual controllers: IDE, SCSI, and Virtual host bus adapters (HBAs).

IDEIDE

IDE-Controller machen IDE-Datenträger für den virtuellen Computer verfügbar.IDE controllers expose IDE disks to the virtual machine. Der IDE-Controller wird emuliert, und er ist der einzige Controller, der für Gast-VMS verfügbar ist, auf denen eine ältere Version von Windows ausgeführt wird, ohne dass der virtuelle Computer Integration Services.The IDE controller is emulated, and it is the only controller that is available for guest VMs running older version of Windows without the Virtual Machine Integration Services. Datenträger-e/a, die mit dem IDE-Filtertreiber ausgeführt werden, der mit dem virtuellen Computer Integration Services bereitgestellt wird, ist erheblich besser als die Datenträger-e/a-Leistung, die mit dem emulierten IDE-Controller bereitgestellt wird.Disk I/O that is performed by using the IDE filter driver that is provided with the Virtual Machine Integration Services is significantly better than the disk I/O performance that is provided with the emulated IDE controller. Es wird empfohlen, IDE-Datenträger nur für die Betriebssystem Datenträger zu verwenden, da Sie aufgrund der maximalen e/a-Größe, die für diese Geräte ausgegeben werden kann, Leistungseinschränkungen aufweisen.We recommend that IDE disks be used only for the operating system disks because they have performance limitations due to the maximum I/O size that can be issued to these devices.

SCSI (SAS-Controller)SCSI (SAS controller)

SCSI-Controller machen SCSI-Datenträger für den virtuellen Computer verfügbar, und jeder virtuelle SCSI-Controller kann bis zu 64 Geräte unterstützen.SCSI controllers expose SCSI disks to the virtual machine, and each virtual SCSI controller can support up to 64 devices. Für eine optimale Leistung empfiehlt es sich, mehrere Datenträger an einen einzelnen virtuellen SCSI-Controller anzufügen und zusätzliche Controller nur dann zu erstellen, wenn Sie die Anzahl der Datenträger, die mit dem virtuellen Computer verbunden sind, Skalieren müssen.For optimal performance, we recommend that you attach multiple disks to a single virtual SCSI controller and create additional controllers only as they are required to scale the number of disks connected to the virtual machine. Der SCSI-Pfad wird nicht emuliert und macht ihn als bevorzugten Controller für jeden anderen Datenträger als den Betriebssystem Datenträger fest.SCSI path is not emulated which makes it the preferred controller for any disk other than the operating system disk. Tatsächlich ist es bei VMS der Generation 2 die einzige Art von Controller.In fact with Generation 2 VMs, it is the only type of controller possible. Dieser Controller wurde in Windows Server 2012 R2 eingeführt und wird als SAS gemeldet, um freigegebene vhdx zu unterstützen.Introduced in Windows Server 2012 R2, this controller is reported as SAS to support shared VHDX.

Virtuelle Fibre Channel HBAsVirtual Fibre Channel HBAs

Virtuelle Fibre Channel HBAs können so konfiguriert werden, dass Sie den direkten Zugriff auf virtuelle Computer Fibre Channel und Fibre Channel over Ethernet (FCoE) LUNs ermöglichen.Virtual Fibre Channel HBAs can be configured to allow direct access for virtual machines to Fibre Channel and Fibre Channel over Ethernet (FCoE) LUNs. Virtuelle Fibre Channel Datenträger umgehen das NTFS-Dateisystem in der Stamm Partition, wodurch die CPU-Auslastung der Speicher-e/a reduziert wird.Virtual Fibre Channel disks bypass the NTFS file system in the root partition, which reduces the CPU usage of storage I/O.

Große Daten Laufwerke und Laufwerke, die von mehreren virtuellen Computern gemeinsam genutzt werden (für Gastclustering-Szenarien), sind die wichtigsten Kandidaten für virtuelle Fibre Channel-Datenträger.Large data drives and drives that are shared between multiple virtual machines (for guest clustering scenarios) are prime candidates for virtual Fibre Channel disks.

Für virtuelle Fibre Channel Datenträger muss mindestens ein Fibre Channel Hostbus Adapter (HBAs) auf dem Host installiert sein.Virtual Fibre Channel disks require one or more Fibre Channel host bus adapters (HBAs) to be installed on the host. Jeder Host-HBA ist erforderlich, um einen HBA-Treiber zu verwenden, der die virtuellen Fibre Channel/NPIV-Funktionen von Windows Server 2016 unterstützt.Each host HBA is required to use an HBA driver that supports the Windows Server 2016 Virtual Fibre Channel/NPIV capabilities. Das SAN-Fabric sollte NPIV unterstützen, und die HBA-Ports, die für die virtuelle Fibre Channel verwendet werden, sollten in einer Fibre Channel Topologie eingerichtet werden, die NPIV unterstützt.The SAN fabric should support NPIV, and the HBA port(s) that are used for the virtual Fibre Channel should be set up in a Fibre Channel topology that supports NPIV.

Zum Maximieren des Durchsatzes auf Hosts, die mit mehr als einem HBA installiert werden, empfiehlt es sich, mehrere virtuelle HBAs innerhalb des virtuellen Hyper-V-Computers zu konfigurieren (bis zu vier HBAs können für jeden virtuellen Computer konfiguriert werden).To maximize throughput on hosts that are installed with more than one HBA, we recommend that you configure multiple virtual HBAs inside the Hyper-V virtual machine (up to four HBAs can be configured for each virtual machine). Mit Hyper-V wird automatisch ein ausgewogenes Verhältnis zwischen virtuellen HBAs und Host-HBAs unternommen, die auf dasselbe virtuelle SAN zugreifen.Hyper-V will automatically make a best effort to balance virtual HBAs to host HBAs that access the same virtual SAN.

Virtuelle DatenträgerVirtual disks

Datenträger können für die virtuellen Computer über die virtuellen Controller verfügbar gemacht werden.Disks can be exposed to the virtual machines through the virtual controllers. Diese Datenträger können virtuelle Festplatten sein, bei denen es sich um Datei Abstraktionen eines Datenträgers oder einen Pass-Through-Datenträger auf dem Host handelt.These disks could be virtual hard disks that are file abstractions of a disk or a pass-through disk on the host.

Virtuelle FestplattenVirtual hard disks

Es gibt zwei virtuelle Festplattenformate: VHD und vhdx.There are two virtual hard disk formats, VHD and VHDX. Jedes dieser Formate unterstützt drei Arten von virtuellen Festplatten Dateien.Each of these formats supports three types of virtual hard disk files.

VHD-FormatVHD format

Das VHD-Format war das einzige Format der virtuellen Festplatte, das in früheren Versionen von Hyper-V unterstützt wurde.The VHD format was the only virtual hard disk format that was supported by Hyper-V in past releases. Das VHD-Format wurde in Windows Server 2012 eingeführt, um eine bessere Ausrichtung zu ermöglichen. Dies führt zu einer deutlich besseren Leistung bei neuen Datenträgern mit großen Sektoren.Introduced in Windows Server 2012, the VHD format has been modified to allow better alignment, which results in significantly better performance on new large sector disks.

Jede neue virtuelle Festplatte, die auf einem Windows Server 2012 oder neuer erstellt wird, weist die optimale Ausrichtung von 4 KB auf.Any new VHD that is created on a Windows Server 2012 or newer has the optimal 4 KB alignment. Dieses ausgerichtete Format ist vollständig mit früheren Windows Server-Betriebssystemen kompatibel.This aligned format is completely compatible with previous Windows Server operating systems. Allerdings wird die Alignment-Eigenschaft bei neuen Zuordnungen von Parsern, die nicht 4-KB-Ausrichtungs fähig sind (z. b. ein VHD-Parser aus einer früheren Version von Windows Server oder einem nicht-Microsoft-Parser), nicht unterstützt.However, the alignment property will be broken for new allocations from parsers that are not 4 KB alignment-aware (such as a VHD parser from a previous version of Windows Server or a non-Microsoft parser).

Alle virtuellen Festplatten, die von einer vorherigen Version verschoben werden, werden nicht automatisch in dieses neue, verbesserte VHD-Format konvertiert.Any VHD that is moved from a previous release does not automatically get converted to this new improved VHD format.

Führen Sie den folgenden Windows PowerShell-Befehl aus, um in das neue VHD-Format zu konvertieren:To convert to new VHD format, run the following Windows PowerShell command:

Convert-VHD –Path E:\vms\testvhd\test.vhd –DestinationPath E:\vms\testvhd\test-converted.vhd

Sie können die Alignment-Eigenschaft für alle VHDs im System überprüfen, und Sie sollte in die optimale Ausrichtung von 4 KB konvertiert werden.You can check the alignment property for all the VHDs on the system, and it should be converted to the optimal 4 KB alignment. Sie erstellen eine neue virtuelle Festplatte mit den Daten aus der ursprünglichen VHD mithilfe der Option " Create-from-Source ".You create a new VHD with the data from the original VHD by using the Create-from-Source option.

Um die Ausrichtung mithilfe von Windows PowerShell zu überprüfen, überprüfen Sie die Ausrichtungslinie, wie unten dargestellt:To check for alignment by using Windows Powershell, examine the Alignment line, as shown below:

Get-VHD –Path E:\vms\testvhd\test.vhd

Path                    : E:\vms\testvhd\test.vhd
VhdFormat               : VHD
VhdType                 : Dynamic
FileSize                : 69245440
Size                    : 10737418240
MinimumSize             : 10735321088
LogicalSectorSize       : 512
PhysicalSectorSize      : 512
BlockSize               : 2097152
ParentPath              :
FragmentationPercentage : 10
Alignment               : 0
Attached                : False
DiskNumber              :
IsDeleted               : False
Number                  :

Um die Ausrichtung mithilfe von Windows PowerShell zu überprüfen, überprüfen Sie die Ausrichtungslinie, wie unten dargestellt:To verify alignment by using Windows PowerShell, examine the Alignment line, as shown below:

Get-VHD –Path E:\vms\testvhd\test-converted.vhd

Path                    : E:\vms\testvhd\test-converted.vhd
VhdFormat               : VHD
VhdType                 : Dynamic
FileSize                : 69369856
Size                    : 10737418240
MinimumSize             : 10735321088
LogicalSectorSize       : 512
PhysicalSectorSize      : 512
BlockSize               : 2097152
ParentPath              :
FragmentationPercentage : 0
Alignment               : 1
Attached                : False
DiskNumber              :
IsDeleted               : False
Number                  :

VHDX-FormatVHDX format

Vhdx ist ein neues Format der virtuellen Festplatte, das in Windows Server 2012 eingeführt wurde, mit dem Sie robuste hochleistungsfähige virtuelle Festplatten mit bis zu 64 Terabytes erstellen können.VHDX is a new virtual hard disk format introduced in Windows Server 2012, which allows you to create resilient high-performance virtual disks up to 64 terabytes. Zu den Vorteilen dieses Formats gehören:Benefits of this format include:

  • Unterstützung für die Speicherkapazität virtueller Festplatten mit bis zu 64 Terabyte.Support for virtual hard disk storage capacity of up to 64 terabytes.

  • Schutz gegen Datenbeschädigung durch Stromausfälle durch Protokollieren der Aktualisierungen an den VHDX-Metadatenstrukturen.Protection against data corruption during power failures by logging updates to the VHDX metadata structures.

  • Die Möglichkeit, benutzerdefinierte Metadaten zu einer Datei zu speichern, die ein Benutzer möglicherweise aufzeichnen möchte, z. b. die Betriebssystemversion oder die angewendeten Patches.Ability to store custom metadata about a file, which a user might want to record, such as operating system version or patches applied.

Das vhdx-Format bietet außerdem die folgenden Leistungsvorteile:The VHDX format also provides the following performance benefits:

  • Verbesserte Ausrichtung des virtuellen Festplattenformats zur Unterstützung von Festplatten mit großen Sektoren.Improved alignment of the virtual hard disk format to work well on large sector disks.

  • Größere Blockgrößen für dynamische und differenzielle Datenträger, sodass diese Datenträger den Anforderungen der Arbeitsauslastung gerecht werden können.Larger block sizes for dynamic and differential disks, which allows these disks to attune to the needs of the workload.

  • virtueller Datenträger mit einer Größe von 4 KB, der eine bessere Leistung ermöglicht, wenn Sie von Anwendungen und Workloads verwendet wird, die für 4-KB-Sektoren entwickelt wurden4 KB logical sector virtual disk that allows for increased performance when used by applications and workloads that are designed for 4 KB sectors.

  • Effizienz bei der Darstellung von Daten, was zu einer geringeren Dateigröße führt und es dem zugrunde liegenden physischen Speichergerät ermöglicht, nicht verwendeten Speicherplatz freizugeben.Efficiency in representing data, which results in smaller file size and allows the underlying physical storage device to reclaim unused space. (Für Trim sind Pass-Through-oder SCSI-Datenträger und Trim-kompatible Hardware erforderlich.)(Trim requires pass-through or SCSI disks and trim-compatible hardware.)

Wenn Sie ein Upgrade auf Windows Server 2016 durchführen, empfiehlt es sich, dass Sie alle VHD-Dateien in das vhdx-Format konvertieren.When you upgrade to Windows Server 2016, we recommend that you convert all VHD files to the VHDX format due to these benefits. Das einzige Szenario, in dem es sinnvoll wäre, die Dateien im VHD-Format beizubehalten, ist, wenn ein virtueller Computer in eine frühere Version von Hyper-V verschoben werden kann, die das vhdx-Format nicht unterstützt.The only scenario where it would make sense to keep the files in the VHD format is when a virtual machine has the potential to be moved to a previous release of Hyper-V that does not support the VHDX format.

Typen von virtuellen Festplatten DateienTypes of virtual hard disk files

Es gibt drei Arten von VHD-Dateien.There are three types of VHD files. In den folgenden Abschnitten werden die Leistungsmerkmale und Kompromisse zwischen den-Typen beschrieben.The following sections are the performance characteristics and trade-offs between the types.

Die folgenden Empfehlungen sollten hinsichtlich der Auswahl eines VHD-Dateityps berücksichtigt werden:The following recommendations should be taken into consideration with regards to selecting a VHD file type:

  • Wenn Sie das VHD-Format verwenden, empfiehlt es sich, den Fixed-Typ zu verwenden, da er im Vergleich zu den anderen VHD-Dateitypen eine bessere Resilienz und Leistungsmerkmale aufweist.When using the VHD format, we recommend that you use the fixed type because it has better resiliency and performance characteristics compared to the other VHD file types.

  • Wenn Sie das vhdx-Format verwenden, empfiehlt es sich, den dynamischen Typ zu verwenden, da er zusätzlich zu den Speicherplatz Einsparungen, die mit der Zuweisung von Speicherplatz verbunden sind, auch bei Bedarf zu Speicherplatz Einsparungen führen kann.When using the VHDX format, we recommend that you use the dynamic type because it offers resiliency guarantees in addition to space savings that are associated with allocating space only when there is a need to do so.

  • Der Typ "Fixed" wird auch unabhängig vom Format empfohlen, wenn der Speicher auf dem hostingvolume nicht aktiv überwacht wird, um sicherzustellen, dass ausreichend Speicherplatz vorhanden ist, wenn die VHD-Datei zur Laufzeit erweitert wird.The fixed type is also recommended, irrespective of the format, when the storage on the hosting volume is not actively monitored to ensure that sufficient disk space is present when expanding the VHD file at run time.

  • Mit Momentaufnahmen eines virtuellen Computers wird eine differenzierende VHD erstellt, um Schreibvorgänge auf den Datenträgern zu speichern.Snapshots of a virtual machine create a differencing VHD to store writes to the disks. Wenn nur einige Momentaufnahmen vorhanden sind, kann die CPU-Auslastung von Speicher-e/a-Vorgängen erhöht werden, aber die Leistung wird möglicherweise nicht merklich beeinträchtigt, außer in hochgradig e/a-intensiven Server ArbeitslastenHaving only a few snapshots can elevate the CPU usage of storage I/Os, but might not noticeably affect performance except in highly I/O-intensive server workloads. Eine große Anzahl von Momentaufnahmen kann sich jedoch deutlich auf die Leistung auswirken, da das Lesen der virtuellen Festplatte die Überprüfung der angeforderten Blöcke in vielen differenzierenden VHDs erfordern kann.However, having a large chain of snapshots can noticeably affect performance because reading from the VHD can require checking for the requested blocks in many differencing VHDs. Die Beibehaltung von Momentaufnahme Ketten ist wichtig, um eine gute e/a-Leistung zu gewährleisten.Keeping snapshot chains short is important for maintaining good disk I/O performance.

Typ der virtuellen Festplatte mit fester GrößeFixed virtual hard disk type

Der Speicherplatz für die virtuelle Festplatte wird zuerst zugewiesen, wenn die VHD-Datei erstellt wird.Space for the VHD is first allocated when the VHD file is created. Diese Art von VHD-Datei wird weniger wahrscheinlich fragmentieren. Dadurch wird der e/a-Durchsatz reduziert, wenn eine einzelne e/a in mehrere e/a-Vorgänge aufgeteilt wird.This type of VHD file is less likely to fragment, which reduces the I/O throughput when a single I/O is split into multiple I/Os. Sie hat den geringsten CPU-Aufwand der drei VHD-Dateitypen, da Lese-und Schreibvorgänge nicht die Zuordnung des Blocks nachschlagen müssen.It has the lowest CPU overhead of the three VHD file types because reads and writes do not need to look up the mapping of the block.

Typ der dynamischen virtuellen FestplatteDynamic virtual hard disk type

Der Speicherplatz für die virtuelle Festplatte wird bei Bedarf zugewiesen.Space for the VHD is allocated on demand. Die Blöcke im Datenträger beginnen als nicht zugeordnete Blöcke und werden nicht von einem tatsächlichen Speicherplatz in der Datei unterstützt.The blocks in the disk start as unallocated blocks and are not backed by any actual space in the file. Beim ersten Schreiben eines Blocks in muss der Virtualisierungsstapel Platz in der VHD-Datei für den Block zuordnen und dann die Metadaten aktualisieren.When a block is first written to, the virtualization stack must allocate space within the VHD file for the block, and then update the metadata. Dies erhöht die Anzahl der erforderlichen Datenträger-e/a-Vorgänge für den Schreibvorgang und steigert die CPU-Auslastung.This increases the number of necessary disk I/Os for the Write and increases CPU usage. Lese-und Schreibvorgänge für vorhandene Blöcke verursachen Datenträger Zugriff und CPU-Overhead beim Suchen der Blockierung in den Metadaten.Reads and writes to existing blocks incur disk access and CPU overhead when looking up the blocks' mapping in the metadata.

Typ der differenzierenden virtuellen FestplatteDifferencing virtual hard disk type

Die VHD verweist auf eine übergeordnete VHD-Datei.The VHD points to a parent VHD file. Alle Schreibvorgänge in Blöcke, die nicht so geschrieben wurden, dass in der VHD-Dateispeicher Platz zugeordnet wird, wie bei einer dynamisch erweiterbaren virtuellen Festplatte.Any writes to blocks not written to result in space being allocated in the VHD file, as with a dynamically expanding VHD. Lesevorgänge werden von der VHD-Datei aus verarbeitet, wenn auf den Block geschrieben wurde.Reads are serviced from the VHD file if the block has been written to. Andernfalls werden Sie von der übergeordneten VHD-Datei gewartet.Otherwise, they are serviced from the parent VHD file. In beiden Fällen werden die Metadaten gelesen, um die Zuordnung des Blocks zu ermitteln.In both cases, the metadata is read to determine the mapping of the block. Lese-und Schreibvorgänge für diese VHD können mehr CPU verbrauchen und zu mehr e/a-Vorgängen führen als eine VHD-Datei mit fester Größe.Reads and Writes to this VHD can consume more CPU and result in more I/Os than a fixed VHD file.

Überlegungen zur Block GrößeBlock size considerations

Die Block Größe kann sich erheblich auf die Leistung auswirken.Block size can significantly impact performance. Es ist optimal, die Blockgröße mit den Zuordnungs Mustern der Arbeitsauslastung zu vergleichen, die den Datenträger verwendet.It is optimal to match the block size to the allocation patterns of the workload that is using the disk. Wenn eine Anwendung z. b. in Blöcken von 16 MB zugeordnet ist, wäre es optimal, eine virtuelle Festplatten Blockgröße von 16 MB zu haben.For example, if an application is allocating in chunks of 16 MB, it would be optimal to have a virtual hard disk block size of 16 MB. Eine Blockgröße von > 2 MB ist nur auf virtuellen Festplatten im vhdx-Format möglich.A block size of >2 MB is possible only on virtual hard disks with the VHDX format. Wenn eine größere Blockgröße als das Zuordnungs Muster für eine zufällige e/a-Arbeitsauslastung vorhanden ist, erhöht sich die Speicherauslastung auf dem Host erheblich.Having a larger block size than the allocation pattern for a random I/O workload will significantly increase the space usage on the host.

Auswirkungen auf SektorgrößeSector size implications

Der größte Teil der Softwarebranche ist von den Datenträger Sektoren von 512 Bytes abhängig, aber der Standardwert für Datenträger Sektoren mit 4 KB.Most of the software industry has depended on disk sectors of 512 bytes, but the standard is moving to 4 KB disk sectors. Um Kompatibilitätsprobleme zu vermeiden, die durch eine Änderung der Sektorgröße entstehen können, stellen Hersteller von Festplattenherstellern eine Übergangs Größe mit 512-Emulations Laufwerken (512 e) dar.To reduce compatibility issues that might arise from a change in sector size, hard drive vendors are introducing a transitional size referred to as 512 emulation drives (512e).

Diese Emulations Laufwerke bieten einige der Vorteile, die in nativen Laufwerken mit 4-KB-Datenträger Sektoren angeboten werden, z. b. eine verbesserte Format Effizienz und ein verbessertes Schema für Fehlerkorrekturcodes.These emulation drives offer some of the advantages that are offered by 4 KB disk sector native drives, such as improved format efficiency and an improved scheme for error correction codes (ECC). Es treten weniger Kompatibilitätsprobleme auf, die durch die Bereitstellung einer Sektorgröße von 4 KB an der Datenträger Schnittstelle auftreten würden.They come with fewer compatibility issues that would occur by exposing a 4 KB sector size at the disk interface.

Unterstützung für 512 e-FestplattenSupport for 512e disks

Ein 512 e-Datenträger kann Schreibvorgänge nur im Hinblick auf einen physischen Sektor ausführen – das heißt, er kann nicht direkt einen für ihn ausgegebenen 512-Byte-Sektor schreiben.A 512e disk can perform a write only in terms of a physical sector—that is, it cannot directly write a 512byte sector that is issued to it. Der interne Prozess auf dem Datenträger, der diese Schreibvorgänge ermöglicht, folgt den folgenden Schritten:The internal process in the disk that makes these writes possible follows these steps:

  • Der Datenträger liest den physischen Sektor mit 4 KB in seinen internen Cache, der den logischen 512-Byte-Sektor enthält, auf den der Schreibvorgang verweist.The disk reads the 4 KB physical sector to its internal cache, which contains the 512-byte logical sector referred to in the write.

  • Die Daten im 4-KB-Puffer werden geändert, sodass sie den aktualisierten 512-Byte-Sektor einschließen.Data in the 4 KB buffer is modified to include the updated 512-byte sector.

  • Das Laufwerk schreibt den Inhalt des aktualisierten 4-KB-Puffers zurück auf den physischen Sektor auf dem Laufwerk.The disk performs a write of the updated 4 KB buffer back to its physical sector on the disk.

Dieser Vorgang wird als "Read-Modify-Write" (RMW) bezeichnet.This process is called read-modify-write (RMW). Die Auswirkungen auf die Gesamtleistung des RMW-Prozesses sind abhängig von den Arbeits Auslastungen.The overall performance impact of the RMW process depends on the workloads. Der RMW-Prozess verursacht aus folgenden Gründen eine Leistungsminderung bei virtuellen Festplatten:The RMW process causes performance degradation in virtual hard disks for the following reasons:

  • Dynamische und differenzierende virtuelle Festplatten verfügen über eine 512-Byte-sektorbitmap vor Ihrer Daten Nutzlast.Dynamic and differencing virtual hard disks have a 512-byte sector bitmap in front of their data payload. Außerdem werden Fußzeilen-, Header-und übergeordnete Locators an einem 512-Byte-Sektor ausgerichtet.In addition, footer, header, and parent locators align to a 512-byte sector. Es kommt häufig vor, dass der virtuelle Festplattentreiber 512-Byte-Schreib Befehle ausgibt, um diese Strukturen zu aktualisieren, was zu dem zuvor beschriebenen RMW-Prozess führt.It is common for the virtual hard disk driver to issue 512-byte write commands to update these structures, resulting in the RMW process described earlier.

  • Anwendungen geben häufig Lese-und Schreibvorgänge in Vielfachen von 4-KB-Größen aus (die Standard Clustergröße von NTFS).Applications commonly issue reads and writes in multiples of 4 KB sizes (the default cluster size of NTFS). Da sich vor dem Daten Nutz Last Block dynamischer und differenzierender virtueller Festplatten eine 512-Byte-sektorbitmap befindet, sind die 4-KB-Blöcke nicht an der physischen 4-KB-Grenze ausgerichtet.Because there is a 512-byte sector bitmap in front of the data payload block of dynamic and differencing virtual hard disks, the 4 KB blocks are not aligned to the physical 4 KB boundary. Die folgende Abbildung zeigt einen VHD-Block mit 4 KB (hervorgehoben), der nicht an der physischen Grenze von 4 KB ausgerichtet ist.The following figure shows a VHD 4 KB block (highlighted) that is not aligned with physical 4 KB boundary.

VHD 4 KB-Block

Jeder 4-KB-Schreibbefehl, der vom aktuellen Parser zum Aktualisieren der Nutzlastdaten ausgegeben wird, führt zu zwei Lesevorgängen für zwei Blöcke auf dem Datenträger, die dann aktualisiert und anschließend auf die beiden Datenträger Blöcke zurückgeschrieben werden.Each 4 KB write command that is issued by the current parser to update the payload data results in two reads for two blocks on the disk, which are then updated and subsequently written back to the two disk blocks. Hyper-V in Windows Server 2016 reduziert einige Leistungs Effekte auf 512 e-Datenträgern im VHD-Stapel, indem die zuvor erwähnten Strukturen für die Ausrichtung auf 4-KB-Begrenzungen im VHD-Format vorbereitet werden.Hyper-V in Windows Server 2016 mitigates some of the performance effects on 512e disks on the VHD stack by preparing the previously mentioned structures for alignment to 4 KB boundaries in the VHD format. Dies vermeidet den RMW-Effekt beim Zugriff auf die Daten in der virtuellen Festplatten Datei und beim Aktualisieren der Metadatenstrukturen der virtuellen Festplatten.This avoids the RMW effect when accessing the data within the virtual hard disk file and when updating the virtual hard disk metadata structures.

Wie bereits erwähnt, werden VHDs, die aus früheren Versionen von Windows Server kopiert wurden, nicht automatisch auf 4 KB ausgerichtet.As mentioned earlier, VHDs that are copied from previous versions of Windows Server will not automatically be aligned to 4 KB. Sie können Sie manuell konvertieren, indem Sie die Option aus Quell Datenträger kopieren verwenden, die in den VHD-Schnittstellen verfügbar ist.You can manually convert them to optimally align by using the Copy from Source disk option that is available in the VHD interfaces.

VHDs werden standardmäßig mit einer physischen Sektorgröße von 512 Bytes verfügbar gemacht.By default, VHDs are exposed with a physical sector size of 512 bytes. Dadurch wird sichergestellt, dass abhängige Anwendungen von physischer Sektorgröße nicht beeinträchtigt werden, wenn die Anwendung und die VHDs aus einer früheren Version von Windows Server verschoben werden.This is done to ensure that physical sector size dependent applications are not impacted when the application and VHDs are moved from a previous version of Windows Server.

Standardmäßig werden Datenträger mit dem vhdx-Format mit der physischen Sektorgröße 4 KB erstellt, um Ihre Leistungsprofile für reguläre Datenträger und große sektordatenträger zu optimieren.By default, disks with the VHDX format are created with the 4 KB physical sector size to optimize their performance profile regular disks and large sector disks. Zum vollständigen Einsatz von 4-KB-Sektoren empfiehlt es sich, das vhdx-Format zu verwenden.To make full use of 4 KB sectors it's recommended to use VHDX format.

Unterstützung für Native 4-KB-DatenträgerSupport for native 4 KB disks

Hyper-V in Windows Server 2012 R2 und darüber hinaus unterstützt native Datenträger mit 4 KB.Hyper-V in Windows Server 2012 R2 and beyond supports 4 KB native disks. Es ist jedoch weiterhin möglich, VHD-Datenträger auf einem nativen 4-KB-Datenträger zu speichernBut it is still possible to store VHD disk on 4 KB native disk. Zu diesem Zweck wird ein RMW-Software Algorithmus in der virtuellen Speicher Stapel Ebene implementiert, der den 512-Byte-Zugriff und Update Anforderungen in entsprechende 4-KB-Zugriffe und-Updates konvertiert.This is done by implementing a software RMW algorithm in the virtual storage stack layer that converts 512-byte access and update requests to corresponding 4 KB accesses and updates.

Da sich die VHD-Datei nur als Datenträger mit einer Größe von 512 Byte-logischen Sektoren verfügbar machen kann, ist es sehr wahrscheinlich, dass Anwendungen, die e/a-Anforderungen mit 512 Bytes ausgeben, vorhanden sind.Because VHD file can only expose themselves as 512-byte logical sector size disks, it is very likely that there will be applications that issue 512-byte I/O requests. In diesen Fällen erfüllt die RMW-Schicht diese Anforderungen und führt zu Leistungseinbußen.In these cases, the RMW layer will satisfy these requests and cause performance degradation. Dies gilt auch für einen Datenträger, der mit der vhdx-Datei mit einer logischen Sektorgröße von 512 Bytes formatiert ist.This is also true for a disk that is formatted with VHDX that has a logical sector size of 512 bytes.

Es ist möglich, eine vhdx-Datei so zu konfigurieren, dass Sie als Datenträger mit einer logischen Sektorgröße von 4 KB verfügbar gemacht wird. Dies ist eine optimale Konfiguration für die Leistung, wenn der Datenträger auf einem nativen physischen Gerät mit 4 KB gehostet wird.It is possible to configure a VHDX file to be exposed as a 4 KB logical sector size disk, and this would be an optimal configuration for performance when the disk is hosted on a 4 KB native physical device. Es muss darauf geachtet werden, dass der Gast und die Anwendung, die den virtuellen Datenträger verwendet, durch die logische Sektorgröße von 4 KB gestützt werden.Care should be taken to ensure that the guest and the application that is using the virtual disk are backed by the 4 KB logical sector size. Die vhdx-Formatierung funktioniert ordnungsgemäß auf einem Gerät mit einer Größe von 4 KB.The VHDX formatting will work correctly on a 4 KB logical sector size device.

Pass-Through-DatenträgerPass-through disks

Die virtuelle Festplatte auf einem virtuellen Computer kann direkt einem physischen Datenträger oder einer logischen Gerätenummer (Logical Unit Number, LUN) anstelle einer VHD-Datei zugeordnet werden.The VHD in a virtual machine can be mapped directly to a physical disk or logical unit number (LUN), instead of to a VHD file. Der Vorteil ist, dass diese Konfiguration das NTFS-Dateisystem in der Stamm Partition umgeht, wodurch die CPU-Auslastung der Speicher-e/a reduziert wird.The benefit is that this configuration bypasses the NTFS file system in the root partition, which reduces the CPU usage of storage I/O. Das Risiko besteht darin, dass physische Datenträger oder LUNs schwieriger zwischen Computern verschoben werden können als VHD-Dateien.The risk is that physical disks or LUNs can be more difficult to move between machines than VHD files.

Pass-Through-Datenträger sollten aufgrund der Einschränkungen bei der Migration virtueller Computer vermieden werden.Pass-through disks should be avoided due to the limitations introduced with virtual machine migration scenarios.

Erweiterte Speicher FeaturesAdvanced storage features

Quality of Service (QoS) für SpeicherStorage Quality of Service (QoS)

Ab Windows Server 2012 R2 bietet Hyper-V die Möglichkeit, bestimmte QoS-Parameter (Quality of Service) für den Speicher auf den virtuellen Computern festzulegen.Starting in Windows Server 2012 R2, Hyper-V includes the ability to set certain quality-of-service (QoS) parameters for storage on the virtual machines. Quality of Service für Speicher stellt eine Speicherleistungsisolierung in einer mehrinstanzenfähigen Umgebung und Mechanismen bereit, um Sie zu benachrichtigen, wenn die Speicher-E/A-Leistung den definierten Schwellenwert nicht erfüllt, der erforderlich ist, damit die Arbeitsauslastungen Ihres virtuellen Computers effizient ausgeführt werden.Storage QoS provides storage performance isolation in a multitenant environment and mechanisms to notify you when the storage I/O performance does not meet the defined threshold to efficiently run your virtual machine workloads.

Mit Quality of Service für Speicher kann ein maximaler IOPS-Wert (Input/Output Operations per Second, Eingabe-/Ausgabevorgänge pro Sekunde) für Ihre virtuelle Festplatte festgelegt werden.Storage QoS provides the ability to specify a maximum input/output operations per second (IOPS) value for your virtual hard disk. Ein Administrator kann den Speicher-E/A drosseln, um einen Mandanten daran zu hindern, sehr umfangreiche Speicherressourcen zu beanspruchen, wenn dadurch ein anderer Mandant beeinflusst wird.An administrator can throttle the storage I/O to stop a tenant from consuming excessive storage resources that may impact another tenant.

Sie können auch einen minimalen IOPS-Wert festlegen.You can also set a minimum IOPS value. Er wird benachrichtigt, wenn der IOPS-Wert für eine angegebene virtuelle Festplatte unter einem Schwellenwert liegt, der für die optimale Leistung erforderlich ist.They will be notified when the IOPS to a specified virtual hard disk is below a threshold that is needed for its optimal performance.

Die Infrastruktur der Metriken des virtuellen Computers wird auch mit speicherbezogenen Parametern aktualisiert, damit der Administrator die Leistung überwachen und zugehörige Parameter rückbelasten kann.The virtual machine metrics infrastructure is also updated, with storage related parameters to allow the administrator to monitor the performance and chargeback related parameters.

Maximale und minimale Werte werden in Bezug auf normalisierte IOPS-Werte angegeben, wobei alle 8 KB Daten als e/a gezählt werden.Maximum and minimum values are specified in terms of normalized IOPS where every 8 KB of data is counted as an I/O.

Folgende Einschränkungen sind zu beachten:Some of the limitations are as follows:

  • Nur für virtuelle FestplattenOnly for virtual disks

  • Differenzierender Datenträger darf keinen übergeordneten virtuellen Datenträger auf einem anderen Volume aufweisenDifferencing disk cannot have parent virtual disk on a different volume

  • Replikat-QoS für Replikat Standort, separat vom primären Standort konfiguriertReplica - QoS for replica site configured separately from primary site

  • Freigegebene vhdx wird nicht unterstützt.Shared VHDX is not supported

Weitere Informationen zu Speicher Quality of Service finden Sie unter Storage Quality of Service für Hyper-V.For more info on Storage Quality of Service, see Storage Quality of Service for Hyper-V.

NUMA-e/aNUMA I/O

Windows Server 2012 und darüber hinaus unterstützen große virtuelle Computer, und jede große VM-Konfiguration (z. b. eine Konfiguration mit Microsoft SQL Server mit 64 virtuellen Prozessoren) benötigt auch Skalierbarkeit im Hinblick auf den e/a-Durchsatz.Windows Server 2012 and beyond supports large virtual machines, and any large virtual machine configuration (for example, a configuration with Microsoft SQL Server running with 64 virtual processors) will also need scalability in terms of I/O throughput.

Die folgenden wichtigen Verbesserungen, die zuerst in den Windows Server 2012-Speicher Stapel und Hyper-V eingeführt wurden, stellen die e/a-Skalierbarkeits Anforderungen großer virtueller Computer dar:The following key improvements first introduced in the Windows Server 2012 storage stack and Hyper-V provide the I/O scalability needs of large virtual machines:

  • Eine Erhöhung der Anzahl der zwischen den Gast Geräten und dem Host Speicher Stapel erstellten Kommunikationskanäle.An increase in the number of communication channels created between the guest devices and host storage stack.

  • Ein effizienterer e/a-Abschlussmechanismus zur Unterbrechung der Verteilung zwischen den virtuellen Prozessoren, um teure interprozessorunterbrechungen zu vermeiden.A more efficient I/O completion mechanism involving interrupt distribution amongst the virtual processors to avoid expensive interprocessor interruptions.

In Windows Server 2012 wurden einige Registrierungseinträge in der Datei "HKLM \ System \ CurrentControlSet \ Enum \ VMBus \ {Device ID} \ {instance ID}" gespeichert, mit \ denen die Anzahl der Kanäle angepasst werden kann.Introduced in Windows Server 2012, there are a few registry entries, located at HKLM\System\CurrentControlSet\Enum\VMBUS\{device id}\{instance id}\StorChannel, that allow the number of channels to be adjusted. Außerdem richten Sie die virtuellen Prozessoren, die die e/a-Vervollständigung verarbeiten, an die virtuellen CPUs aus, die von der Anwendung als e/a-Prozessoren zugewiesen werden.They also align the virtual processors that handle the I/O completions to the virtual CPUs that are assigned by the application to be the I/O processors. Die Registrierungs Einstellungen werden auf Adapter Basis mit dem Hardwareschlüssel des Geräts konfiguriert.The registry settings are configured on a per-adapter basis on the device's hardware key.

  • ChannelCount (DWORD) Die Gesamtanzahl der zu verwendenden Kanäle mit maximal 16.ChannelCount (DWORD) The total number of channels to use, with a maximum of 16. Standardmäßig wird eine Obergrenze verwendet. Dies ist die Anzahl der virtuellen Prozessoren/16.It defaults to a ceiling, which is the number of virtual processors/16.

  • Channelmask (QWORD) Die Prozessor Affinität für die Kanäle.ChannelMask (QWORD) The processor affinity for the channels. Wenn Sie nicht festgelegt oder auf 0 festgelegt ist, wird standardmäßig der vorhandene Kanal Verteilungs Algorithmus verwendet, den Sie für den normalen Speicher oder für Netzwerk Kanäle verwenden.If it is not set or is set to 0, it defaults to the existing channel distribution algorithm that you use for normal storage or for networking channels. Dadurch wird sichergestellt, dass Ihre Speicherkanäle nicht mit Ihren Netzwerk Kanälen in Konflikt stehen.This ensures that your storage channels won't conflict with your network channels.

Offloaded Datenübertragung IntegrationOffloaded Data Transfer integration

Wichtige Wartungsaufgaben für virtuelle Festplatten (z. b. zusammenführen, verschieben und komprimieren) hängen von dem Kopieren großer Datenmengen ab.Crucial maintenance tasks for VHDs, such as merge, move, and compact, depend copying large amounts of data. Die aktuelle Methode zum Kopieren von Daten erfordert, dass die Daten an unterschiedlichen Standorten eingelesen und geschrieben werden, was sehr zeitaufwändig sein kann.The current method of copying data requires data to be read in and written to different locations, which can be a time-consuming process. Außerdem werden CPU-und Arbeitsspeicher Ressourcen auf dem Host verwendet, die möglicherweise zum Bedienen virtueller Maschinen verwendet wurden.It also uses CPU and memory resources on the host, which could have been used to service virtual machines.

SAN-Hersteller (Storage Area Network) arbeiten daran, Kopiervorgänge für große Datenmengen nahezu in Echtzeit zu ermöglichen.Storage area network (SAN) vendors are working to provide near-instantaneous copy operations of large amounts of data. Dieser Speicher ist so konzipiert, dass dem System oberhalb der Festplatten das Verschieben eines bestimmten Datasets von einem Speicherort zu einem anderen ermöglicht wird.This storage is designed to allow the system above the disks to specify the move of a specific data set from one location to another. Diese Hardware Funktion wird als offloaded Datenübertragung bezeichnet.This hardware feature is known as an Offloaded Data Transfer.

Hyper-V in Windows Server 2012 und höher unterstützt die Offload-Datenübertragung (ODX), sodass diese Vorgänge vom Gast Betriebssystem an die Host Hardware übermittelt werden können.Hyper-V in Windows Server 2012 and beyond supports Offload Data Transfer (ODX) operations so that these operations can be passed from the guest operating system to the host hardware. Dadurch wird sichergestellt, dass die Arbeitsauslastung ODX-fähigen Speicher verwenden kann, wie dies bei der Ausführung in einer nicht virtualisierten Umgebung der Fall wäre.This ensures that the workload can use ODX-enabled storage as it would if it were running in a non-virtualized environment. Der Hyper-V-Speicher Stapel gibt auch ODX-Vorgänge bei Wartungs Vorgängen für virtuelle Festplatten aus, z. b. zum Zusammenführen von Datenträgern und Speicher Migrationen, bei denen große Datenmengen verschoben werden.The Hyper-V storage stack also issues ODX operations during maintenance operations for VHDs such as merging disks and storage migration meta-operations where large amounts of data are moved.

Zuordnung der Zuordnung aufhebenUnmap integration

Dateien für virtuelle Festplatten sind als Dateien auf einem Speicher Volume vorhanden, und Sie geben verfügbaren Speicherplatz für andere Dateien frei.Virtual hard disk files exist as files on a storage volume, and they share available space with other files. Da die Größe dieser Dateien tendenziell groß ist, kann der von Ihnen belegte Speicherplatz schnell zunehmen.Because the size of these files tends to be large, the space that they consume can grow quickly. Der Bedarf an physischem Speicher wirkt sich auf das IT-Hardware Budget aus.Demand for more physical storage affects the IT hardware budget. Es ist wichtig, die Verwendung von physischem Speicher so weit wie möglich zu optimieren.It's important to optimize the use of physical storage as much as possible.

Vor Windows Server 2012 hatte der Windows-Speicher Stapel im Gast Betriebssystem und auf dem Hyper-V-Host Einschränkungen, wenn Anwendungen Inhalt auf einer virtuellen Festplatte löschen, wodurch der Speicherplatz des Inhalts tatsächlich abgebrochen wurde. Dies hat zur Folge, dass diese Informationen nicht an die virtuelle Festplatte und das physische Speichergerät übermittelt werden konnten.Before Windows Server 2012, when applications delete content within a virtual hard disk, which effectively abandoned the content's storage space, the Windows storage stack in the guest operating system and the Hyper-V host had limitations that prevented this information from being communicated to the virtual hard disk and the physical storage device. Dies verhindert, dass der Hyper-V-Speicher Stapel die Speicherplatz Auslastung durch die VHD-basierten virtuellen Festplatten Dateien optimiert.This prevented the Hyper-V storage stack from optimizing the space usage by the VHD-based virtual disk files. Außerdem wurde das zugrunde liegende Speichergerät daran gehindert, den Speicherplatz freizugeben, der zuvor durch die gelöschten Daten belegt war.It also prevented the underlying storage device from reclaiming the space that was previously occupied by the deleted data.

Ab Windows Server 2012 unterstützt Hyper-V das Aufheben der Zuordnung von Benachrichtigungen, die es ermöglichen, dass vhdx-Dateien bei der Darstellung der darin enthaltenen Daten effizienter sind.Starting from Windows Server 2012, Hyper-V supports unmap notifications, which allow VHDX files to be more efficient in representing that data within it. Dies führt zu einer geringeren Größe von Dateien und ermöglicht dem zugrunde liegenden physischen Speichergerät, nicht verwendeten Speicherplatz freizugeben.This results in smaller files size, and it allows the underlying physical storage device to reclaim unused space.

Nur Hyper-V-spezifische SCSI-, aktivierte IDE-und virtuelle Fibre Channel Controller ermöglichen dem Befehl zum Aufheben der Zuordnung vom Gast, den virtuellen Speicher Stapel des Hosts zu erreichen.Only Hyper-V-specific SCSI, enlightened IDE, and Virtual Fibre Channel controllers allow the unmap command from the guest to reach the host virtual storage stack. Auf den virtuellen Festplatten unterstützen nur virtuelle Datenträger, die als vhdx formatiert sind, die Zuordnung von Befehlen des Gasts.On the virtual hard disks, only virtual disks formatted as VHDX support unmap commands from the guest.

Aus diesen Gründen wird empfohlen, dass Sie vhdx-Dateien verwenden, die an einen SCSI-Controller angeschlossen sind, wenn keine virtuellen Fibre Channel-Datenträger verwendet werden.For these reasons, we recommend that you use VHDX files attached to a SCSI controller when not using Virtual Fibre Channel disks.

Weitere VerweiseAdditional References