VDS_HINTS-Struktur (vdshwprv.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API abgelöst.]
Definiert die automagischen Hinweise für einen LUN- oder LUN-Plex.
Syntax
typedef struct _VDS_HINTS {
ULONGLONG ullHintMask;
ULONGLONG ullExpectedMaximumSize;
ULONG ulOptimalReadSize;
ULONG ulOptimalReadAlignment;
ULONG ulOptimalWriteSize;
ULONG ulOptimalWriteAlignment;
ULONG ulMaximumDriveCount;
ULONG ulStripeSize;
BOOL bFastCrashRecoveryRequired;
BOOL bMostlyReads;
BOOL bOptimizeForSequentialReads;
BOOL bOptimizeForSequentialWrites;
BOOL bRemapEnabled;
BOOL bReadBackVerifyEnabled;
BOOL bWriteThroughCachingEnabled;
BOOL bHardwareChecksumEnabled;
BOOL bIsYankable;
SHORT sRebuildPriority;
} VDS_HINTS, *PVDS_HINTS;
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.
ullExpectedMaximumSize
Die maximale Größe, auf die die LUN in Bytes anwachsen soll. Der Wert kann gleich, größer oder kleiner als der in ullSizeInBytes angegebene Wert sein, wenn die IVdsSubSystem::CreateLun-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 an, dass keine optimale Leseausrichtung vorhanden ist.
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 Laufwerksanzahl an. Dieser Wert kann verwendet werden, um die Anzahl der Stripe-Interleaves in einem Stripesatz zu begrenzen.
ulStripeSize
Die Spiegel- oder Paritätsstreifen-Interleave-Größe in Bytes. Null lässt die Streifengröße nicht angegeben.
bFastCrashRecoveryRequired
Wenn dieser Member TRUE ist, ist die Wiederherstellungszeit begrenzt. Legen Sie das VDS_HINT_FASTCRASHRECOVERYREQUIRED-Flag im ullHintMask-Element fest, um interesse an diesem Member 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
Legen Sie dieses Element auf TRUE fest, um ein Verwendungsmuster für sequenzielle Lesevorgä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_OPTIMIZEFORSEQUENTIALREADS-Flag im ullHintMask-Element fest, um Interesse an diesem Member anzuzeigen.
bOptimizeForSequentialWrites
Legen Sie für 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 Laufwerkserweiterungen 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 auf TRUE festgelegt ist, überprüft der Anbieter die Schreibvorgänge in die LUN durch Readback. Wenn er auf 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 für die 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.
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 IVdsSubSystem::CreateLun-Methode übergibt diese Struktur als Parameter, um Hinweise zum Erstellen einer LUN bereitzustellen. Es wird als Parameter in der ApplyHints-Methode sowohl auf der IVdsLun - als auch auf der IVdsLunPlex-Schnittstelle übergeben, um einen neuen Satz von Hinweisen auf einen LUN- bzw. LUN-Plex anzuwenden. Darüber hinaus wird sie von der QueryHints-Methode sowohl auf der IVdsLun - als auch auf der IVdsLunPlex-Schnittstelle 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
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | vdshwprv.h |