VDS_HINTS2 Struktur (vds.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]
Enthält die automagic-Hinweise für eine LUN in einem Speicherpool.
Syntax
typedef struct _VDS_HINTS2 {
ULONGLONG ullHintMask;
ULONGLONG ullExpectedMaximumSize;
ULONG ulOptimalReadSize;
ULONG ulOptimalReadAlignment;
ULONG ulOptimalWriteSize;
ULONG ulOptimalWriteAlignment;
ULONG ulMaximumDriveCount;
ULONG ulStripeSize;
ULONG ulReserved1;
ULONG ulReserved2;
ULONG ulReserved3;
BOOL bFastCrashRecoveryRequired;
BOOL bMostlyReads;
BOOL bOptimizeForSequentialReads;
BOOL bOptimizeForSequentialWrites;
BOOL bRemapEnabled;
BOOL bReadBackVerifyEnabled;
BOOL bWriteThroughCachingEnabled;
BOOL bHardwareChecksumEnabled;
BOOL bIsYankable;
BOOL bAllocateHotSpare;
BOOL bUseMirroredCache;
BOOL bReadCachingEnabled;
BOOL bWriteCachingEnabled;
BOOL bMediaScanEnabled;
BOOL bConsistencyCheckEnabled;
VDS_STORAGE_BUS_TYPE BusType;
BOOL bReserved1;
BOOL bReserved2;
BOOL bReserved3;
SHORT sRebuildPriority;
} VDS_HINTS2, *PVDS_HINTS2;
Member
ullHintMask
Die LUN-Hinweismaske. Jedes BOOL-Element dieser Struktur verfügt über ein entsprechendes Hinweisflag, das in der Maske festgelegt werden kann. Wenn das Hinweisflag festgelegt ist, wird der entsprechende Hinweis berücksichtigt. Wenn das Hinweisflag nicht festgelegt ist, wird der Hinweis ignoriert. Die Hinweisflags werden in der folgenden Tabelle beschrieben.
Wert | Bedeutung |
---|---|
|
Der Anbieter begrenzt die für die Wiederherstellung erforderliche Zeit. Zur Unterstützung der schnellen Wiederherstellung verwendet der Anbieter ein Änderungsprotokoll, mit dem der Anbieter die LUN wiederherstellen kann, ohne den gesamten Inhalt der LUN zu vergleichen. |
|
Der Anbieter optimiert die LUN für ein lesefähiges Nutzungsmuster, in der Regel durch Spiegelung anstelle von Paritätsstriping. |
|
Der Anbieter optimiert die LUN für ein sequenzielles Lesenutzungsmuster. Wenn dieses Flag nicht festgelegt ist und VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES ebenfalls nicht festgelegt ist, ist die LUN für zufällige E/A-Vorgänge optimiert. |
|
Der Anbieter optimiert die LUN für ein Sequenzielles Schreibverhalten. Wenn dieses Flag nicht festgelegt ist und VDS_HINT_OPTIMIZEFORSEQUENTIALREADS auch nicht festgelegt ist, wird die LUN für zufällige E/A-Vorgänge optimiert. |
|
Der Anbieter überprüft die Schreibvorgänge in die LUN mithilfe des Readbacks. |
|
Die Zuordnung von LUN-Erweiterungen zu Laufwerksausweitungen wird automatisch vom Anbieter erstellt und aktualisiert. Wenn dieses Flag nicht festgelegt ist, bleibt die Zuordnung nach der Konfiguration behoben, es sei denn, es werden proaktive Aktionen ergriffen, um Laufwerksfehler zu vermeiden. |
|
Der Anbieter aktiviert die Write-Through-Zwischenspeicherungsrichtlinie für die LUN. |
|
Der Anbieter aktiviert eine Hardwareprüfsumme für die LUN. |
|
Der Anbieter konfiguriert die LUN so, dass die Laufwerke, die dazu beitragen, physisch mit minimalen Systemunterbrechungen entfernt werden können. Dies wird normalerweise erreicht, indem sichergestellt wird, dass die LUN so wenige Laufwerke wie möglich belegt. |
|
Der Anbieter weist ein Hot Spare für die LUN zu. Weitere Informationen finden Sie unter Hot Sparing, VDS_DRIVE_FLAG und VDS_DISK_FLAG. |
|
Der Anbieter verwendet den angegebenen Bustyp für die LUN. Weitere Informationen finden Sie unter VDS_STORAGE_BUS_TYPE. |
|
Der Anbieter verwendet einen gespiegelten Cache auf der LUN. Sehen Sie sich den VDS_SF_SUPPORTS_MIRRORED_CACHE Wert der VDS_SUB_SYSTEM_FLAG-Enumeration an. |
|
Der Anbieter aktiviert die Lesezwischenspeicherung auf der LUN. Sehen Sie sich den VDS_LF_READ_CACHE_ENABLED-Wert der VDS_LUN_FLAG-Enumeration und den VDS_SF_READ_CACHING_CAPABLE Wert der VDS_SUB_SYSTEM_FLAG-Enumeration an. |
|
Der Anbieter aktiviert die Schreibzwischenspeicherung auf der LUN. Sehen Sie sich den VDS_LF_WRITE_CACHE_ENABLED-Wert der VDS_LUN_FLAG-Enumeration und den VDS_SF_WRITE_CACHING_CAPABLE-Wert der VDS_SUB_SYSTEM_FLAG-Enumeration an. |
|
Der Anbieter ermöglicht die Medienüberprüfung für die LUN. Sehen Sie sich den VDS_LF_MEDIA_SCAN_ENABLED-Wert der VDS_LUN_FLAG-Enumeration und den VDS_SF_MEDIA_SCAN_CAPABLE-Wert der VDS_SUB_SYSTEM_FLAG-Enumeration an. |
|
Der Anbieter aktiviert die Konsistenzprüfung für die LUN. Sehen Sie sich den VDS_LF_CONSISTENCY_CHECK_ENABLED-Wert der VDS_LUN_FLAG-Enumeration und den VDS_SF_CONSISTENCY_CHECK_CAPABLE Wert der VDS_SUB_SYSTEM_FLAG-Enumeration an. |
ullExpectedMaximumSize
Die maximale Größe, auf die die LUN voraussichtlich wachsen wird, in Bytes. Der Wert kann gleich, größer oder kleiner als der im ullSizeInBytes-Parameter angegebene Wert sein, wenn die IVdsHwProviderStoragePools::CreateLunInStoragePool-Methode aufgerufen wird. Einige Anbieter verwenden diesen Wert, um Speicherplatz für die LUN zu reservieren. Anbieter, die keinen Speicherplatz reservieren können, ignorieren diesen Parameter in der Regel.
ulOptimalReadSize
Die optimale Lesegröße für die LUN in Bytes. Null gibt keine optimale Lesegröße an.
ulOptimalReadAlignment
Die optimale Leseausrichtung in Bezug auf den ersten logischen Block der LUN. Null gibt keine optimale Leseausrichtung an.
ulOptimalWriteSize
Die optimale Schreibgröße für die LUN in Bytes. Null gibt keine optimale Schreibgröße an.
ulOptimalWriteAlignment
Die optimale Schreibausrichtung in Bezug auf den ersten logischen Block der LUN. Null gibt keine optimale Schreibausrichtung an.
ulMaximumDriveCount
Die maximale Anzahl von Laufwerken, die zur LUN beitragen sollen. Null gibt keine maximale Laufwerkanzahl an. Dieser Wert kann verwendet werden, um die Anzahl der Stripe-Interleaves in einem Stripesatz zu begrenzen.
ulStripeSize
Die Größe des Spiegel- oder Paritätsstreifens in Bytes. Null lässt die Streifengröße nicht angegeben.
ulReserved1
Dieses Element ist für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.
ulReserved2
Dieses Element ist für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.
ulReserved3
Dieses Element ist für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.
bFastCrashRecoveryRequired
Wenn dieser Member TRUE ist, ist die Wiederherstellungszeit begrenzt. Legen Sie das VDS_HINT_FASTCRASHRECOVERYREQUIRED-Flag im ullHintMask-Element fest, um das Interesse an diesem Element anzuzeigen.
bMostlyReads
Legen Sie dieses Element auf TRUE fest, um für ein Verwendungsmuster mit meist gelesenen Lesevorgängen (z. B. durch Spiegelung anstelle von Paritätsstreifen) zu optimieren. Legen Sie andernfalls auf FALSE fest. Legen Sie das VDS_HINT_MOSTLYREADS-Flag im ullHintMask-Element fest, um das Interesse an diesem Member anzuzeigen.
bOptimizeForSequentialReads
Um für ein Verwendungsmuster sequenzieller Lesevorgänge zu optimieren, legen Sie dieses Element auf TRUE fest. Legen Sie andernfalls auf FALSE fest. Das Festlegen der Elemente bOptimizeForSequentialReads und bOptimizeForSequentialWrites auf FALSE optimiert für zufällige E/A-Vorgänge. Legen Sie das VDS_HINT_OPTIMIZEFORSEQUENTIALREADS-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bOptimizeForSequentialWrites
Legen Sie dieses Element auf TRUE fest, um ein Verwendungsmuster für sequenzielle Schreibvorgänge zu optimieren. Legen Sie andernfalls auf FALSE fest. Das Festlegen der Elemente bOptimizeForSequentialReads und bOptimizeForSequentialWrites auf FALSE optimiert für zufällige E/A-Vorgänge. Legen Sie das VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bRemapEnabled
Wenn dieser Member TRUE ist, ordnet der Anbieter LUN-Blöcke automatisch zu Laufwerksblöcken zu. Wenn es FALSE ist, bleibt die Zuordnung von LUN-Blöcken zu Laufwerksblöcken nach der LUN-Konfiguration behoben, es sei denn, Blöcke werden explizit neu zugeordnet, um beschädigte Blöcke zu vermeiden. Legen Sie das VDS_HINT_REMAPENABLED-Flag im ullHintMask-Element fest, um das Interesse an diesem Member anzuzeigen.
bReadBackVerifyEnabled
Wenn dieser Member TRUE ist, überprüft der Anbieter die Schreibvorgänge in die LUN durch Readback. Wenn false festgelegt ist, überprüft der Anbieter keine Schreibvorgänge. Legen Sie das VDS_HINT_READBACKVERIFYENABLED-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bWriteThroughCachingEnabled
Wenn dieser Member TRUE ist, aktiviert der Anbieter das Zwischenspeichern von Schreibvorgängen auf der LUN. Wenn false festgelegt ist, aktiviert der Anbieter das Zwischenspeichern von Schreibvorgängen nicht. Legen Sie das VDS_HINT_WRITETHROUGHCACHINGENABLED-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bHardwareChecksumEnabled
Wenn dieser Member TRUE ist, aktiviert der Anbieter eine Prüfsumme für die LUN. Legen Sie das VDS_HINT_HARDWARECHECKSUMENABLED-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bIsYankable
Wenn dieser Member TRUE ist, können die Laufwerke, die zur LUN beitragen, physisch entfernt werden, ohne dass das System erheblich beeinträchtigt wird (dies gilt in der Regel, wenn die LUN aus Blöcken von nur wenigen Laufwerken besteht). Wenn der Wert FALSE ist, kann die LUN nicht entfernt werden, ohne dass das System erheblich beeinträchtigt wird. Legen Sie das VDS_HINT_ISYANKABLE Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bAllocateHotSpare
TRUE , wenn der Client ein Hot-Spare-Laufwerk für diese LUN zuweisen möchte, oder andernfalls FALSE . Legen Sie das VDS_HINT_ALLOCATEHOTSPARE-Flag im ullHintMask-Element fest, um interesse an diesem Member anzuzeigen.
bUseMirroredCache
TRUE , wenn der Client möchte, dass diese LUN einen gespiegelten Cache verwendet, oder andernfalls FALSE . Legen Sie das flag VDS_HINT_USEMIRROREDCACHE im ullHintMask-Element fest, um interesse an diesem Member anzuzeigen.
bReadCachingEnabled
TRUE , wenn der Client möchte, dass die LUN die Lesezwischenspeicherung verwendet, oder andernfalls FALSE . Legen Sie das VDS_HINT_READCACHINGENABLED-Flag im ullHintMask-Element fest, um interesse an diesem Member anzuzeigen.
bWriteCachingEnabled
TRUE , wenn der Client möchte, dass die LUN Schreibzwischenspeicherung verwendet, oder andernfalls FALSE . Legen Sie das VDS_HINT_WRITECACHINGENABLED-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bMediaScanEnabled
TRUE , wenn der Client die Medienüberprüfung für diese LUN aktivieren möchte, oder andernfalls FALSE . Legen Sie das VDS_HINT_MEDIASCANENABLED-Flag im ullHintMask-Element fest, um das Interesse an diesem Member anzuzeigen.
bConsistencyCheckEnabled
TRUE , wenn der Client die Konsistenzüberprüfung für diese LUN aktivieren möchte, oder andernfalls FALSE . Legen Sie das VDS_HINT_CONSISTENCYCHECKENABLED-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
BusType
Ein VDS_STORAGE_BUS_TYPE Enumerationswert, der den Bustyp für die LUN angibt. Legen Sie das flag VDS_HINT_BUSTYPE im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bReserved1
Dieses Element ist für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.
bReserved2
Dieses Element ist für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.
bReserved3
Dieses Element ist für die zukünftige Verwendung reserviert. Darf nicht verwendet werden.
sRebuildPriority
Die Neuerstellungspriorität für die LUN. Der Wert kann zwischen 0 (niedrigste Priorität) und 15 (höchste Priorität) liegen.
Hinweise
Die IVdsHwProviderStoragePools::CreateLunInStoragePool-Methode übergibt diese Struktur als Parameter, um Hinweise zum Erstellen einer LUN in einem Speicherpool bereitzustellen. Es wird als Parameter in der IVdsLun2::ApplyHints2-Methode übergeben, um einen neuen Satz von Hinweisen auf eine LUN anzuwenden. Darüber hinaus wird es von der IVdsLun2::QueryHints2-Methode zurückgegeben, um Hinweise zu melden, die derzeit auf einen LUN- bzw. LUN-Plex angewendet werden.
Hinweise sind keine Anweisungen für Implementierer. Von Implementierern wird zwar im Allgemeinen erwartet, dass sie ihr Bestes tun, um Hinweise zu berücksichtigen, aber sie sind nicht verpflichtet, diese zu befolgen. Implementierer können sich für Alternativen entscheiden, wenn sie den angegebenen Hinweisen aus technischen Gründen nicht folgen können oder wenn Sie ihnen folgen, kann dies zu einer schlechten Konfiguration führen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Kopfzeile | vds.h |