struttura VDS_HINTS2 (vds.h)
[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]
Contiene i suggerimenti automagic per un LUN in un pool di archiviazione.
Sintassi
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;
Members
ullHintMask
Maschera di hint LUN. Ogni membro BOOL di questa struttura ha un flag di hint corrispondente che può essere impostato nella maschera. Se il flag di hint è impostato, viene considerato l'hint corrispondente. Se il flag di hint non è impostato, l'hint viene ignorato. I flag di hint sono descritti nella tabella seguente.
Valore | Significato |
---|---|
|
Il provider limita il tempo necessario per il ripristino. Per supportare il ripristino rapido, il provider usa un log delle modifiche che consente al provider di recuperare il LUN senza confrontare l'intero contenuto del LUN. |
|
Il provider ottimizza il LUN per un modello di utilizzo in lettura,in genere usando il mirroring anziché lo striping di parità. |
|
Il provider ottimizza il LUN per un modello di utilizzo in lettura sequenziale. Se questo flag non è impostato e VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES non è impostato, il LUN è ottimizzato per operazioni di I/O casuali. |
|
Il provider ottimizza il LUN per un modello di utilizzo di scrittura sequenziale. Se questo flag non è impostato e VDS_HINT_OPTIMIZEFORSEQUENTIALREADS non è impostato, il LUN è ottimizzato per operazioni di I/O casuali. |
|
Il provider verifica le scritture nel LUN usando il readback. |
|
Il mapping degli extent LUN agli extent di unità viene creato e aggiornato automaticamente dal provider. Se questo flag non è impostato, il mapping rimane fisso dopo la configurazione, tranne quando vengono eseguite azioni proattive per evitare errori di unità. |
|
Il provider abilita i criteri di memorizzazione nella cache write-through nel LUN. |
|
Il provider abilita un checksum hardware nel LUN. |
|
Il provider configura il LUN in modo che le unità che contribuiscono a tale unità possano essere rimosse fisicamente con un'interruzione minima del sistema. Questa operazione viene in genere eseguita assicurando che il LUN occupi il minor numero possibile di unità. |
|
Il provider alloca un riserva a caldo per il LUN. Per altre informazioni, vedere Hot Sparing, VDS_DRIVE_FLAG e VDS_DISK_FLAG. |
|
Il provider usa il tipo di bus specificato nel LUN. Per altre informazioni, vedere VDS_STORAGE_BUS_TYPE. |
|
Il provider usa una cache con mirroring nel LUN. Vedere il valore VDS_SF_SUPPORTS_MIRRORED_CACHE dell'enumerazione VDS_SUB_SYSTEM_FLAG . |
|
Il provider abilita la memorizzazione nella cache in lettura nel LUN. Vedere il valore VDS_LF_READ_CACHE_ENABLED dell'enumerazione VDS_LUN_FLAG e il valore VDS_SF_READ_CACHING_CAPABLE dell'enumerazione VDS_SUB_SYSTEM_FLAG . |
|
Il provider abilita la memorizzazione nella cache di scrittura nel LUN. Vedere il valore VDS_LF_WRITE_CACHE_ENABLED dell'enumerazione VDS_LUN_FLAG e il valore VDS_SF_WRITE_CACHING_CAPABLE dell'enumerazione VDS_SUB_SYSTEM_FLAG . |
|
Il provider abilita l'analisi multimediale nel LUN. Vedere il valore VDS_LF_MEDIA_SCAN_ENABLED dell'enumerazione VDS_LUN_FLAG e il valore VDS_SF_MEDIA_SCAN_CAPABLE dell'enumerazione VDS_SUB_SYSTEM_FLAG . |
|
Il provider abilita il controllo della coerenza nel LUN. Vedere il valore VDS_LF_CONSISTENCY_CHECK_ENABLED dell'enumerazione VDS_LUN_FLAG e il valore VDS_SF_CONSISTENCY_CHECK_CAPABLE dell'enumerazione VDS_SUB_SYSTEM_FLAG . |
ullExpectedMaximumSize
Dimensioni massime in byte previste per il LUN. Il valore può essere uguale, maggiore o minore del valore specificato nel parametro ullSizeInBytes quando viene chiamato il metodo IVdsHwProviderStoragePools::CreateLunInStoragePool . Alcuni provider usano questo valore per riservare spazio per il LUN. I provider che non sono in grado di riservare spazio in genere ignorano questo parametro.
ulOptimalReadSize
Dimensioni di lettura ottimali per il LUN, in byte. Zero indica che le dimensioni di lettura non sono ottimali.
ulOptimalReadAlignment
Allineamento di lettura ottimale rispetto al primo blocco logico del LUN. Zero indica che non è possibile eseguire l'allineamento di lettura ottimale.
ulOptimalWriteSize
Dimensioni di scrittura ottimali per il LUN, in byte. Zero indica che le dimensioni di scrittura non sono ottimali.
ulOptimalWriteAlignment
Allineamento ottimale della scrittura rispetto al primo blocco logico del LUN. Zero indica che non è possibile eseguire l'allineamento ottimale per la scrittura.
ulMaximumDriveCount
Numero massimo di unità da contribuire al LUN. Zero indica che nessun numero massimo di unità. Questo valore può essere usato per limitare il numero di interleaves di striping in un set di striping.
ulStripeSize
Dimensione interleave mirror o parity, in byte. Zero lascia invariate le dimensioni della striscia.
ulReserved1
Questo membro è riservato per usi futuri. Non usare.
ulReserved2
Questo membro è riservato per usi futuri. Non usare.
ulReserved3
Questo membro è riservato per usi futuri. Non usare.
bFastCrashRecoveryRequired
Se questo membro è TRUE, il tempo di ripristino è limitato. Impostare il flag VDS_HINT_FASTCRASHRECOVERYREQUIRED nel membro ullHintMask per indicare l'interesse per questo membro.
bMostlyReads
Per ottimizzare per un modello di utilizzo di lettura principalmente (ad esempio, tramite mirroring anziché striping di parità), impostare questo membro su TRUE. In caso contrario, impostarlo su FALSE. Impostare il flag VDS_HINT_MOSTLYREADS nel membro ullHintMask per indicare l'interesse in questo membro.
bOptimizeForSequentialReads
Per ottimizzare un modello di utilizzo di lettura sequenziale, impostare questo membro su TRUE. In caso contrario, impostarlo su FALSE. Impostazione dei membri bOptimizeForSequentialReads e bOptimizeForSequentialWrites sia su FALSE ottimizza per l'I/O casuale. Impostare il flag di VDS_HINT_OPTIMIZEFORSEQUENTIALREADS nel membro ullHintMask per indicare l'interesse in questo membro.
bOptimizeForSequentialWrites
Per ottimizzare un modello di utilizzo di scrittura sequenziale, impostare questo membro su TRUE. In caso contrario, impostarlo su FALSE. Impostazione dei membri bOptimizeForSequentialReads e bOptimizeForSequentialWrites sia su FALSE ottimizza per l'I/O casuale. Impostare il flag di VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES nel membro ullHintMask per indicare l'interesse in questo membro.
bRemapEnabled
Se questo membro è TRUE, il provider esegue il mapping automatico degli extent LUN per l'estensione dell'unità. Se è FALSE, il mapping degli extent LUN per le unità rimane fisso dopo la configurazione LUN, a meno che non vengano ricompressi in modo esplicito i extent per evitare blocchi danneggiati. Impostare il flag VDS_HINT_REMAPENABLED nel membro ullHintMask per indicare l'interesse di questo membro.
bReadBackVerifyEnabled
Se questo membro è TRUE, il provider verifica le scritture nel LUN tramite readback. Se è FALSE, il provider non verifica le scritture. Impostare il flag VDS_HINT_READBACKVERIFYENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bWriteThroughCachingEnabled
Se questo membro è TRUE, il provider abilita la memorizzazione nella cache write-through nel LUN; se è FALSE, il provider non abilita la memorizzazione nella cache write-through. Impostare il flag VDS_HINT_WRITETHROUGHCACHINGENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bHardwareChecksumEnabled
Se questo membro è TRUE, il provider abilita un checksum nel LUN. Impostare il flag VDS_HINT_HARDWARECHECKSUMENABLED nel membro ullHintMask per indicare l'interesse di questo membro.
bIsYankable
Se questo membro è TRUE, le unità che contribuiscono al LUN possono essere rimosse fisicamente senza interruzioni significative al sistema (questo è in genere vero quando il LUN è composto da solo poche unità). Se è FALSE, il LUN non può essere rimosso senza interruzioni significative al sistema. Impostare il flag VDS_HINT_ISYANKABLE nel membro ullHintMask per indicare l'interesse di questo membro.
bAllocateHotSpare
TRUE se il client vuole allocare un'unità di riserva frequente per questo LUN o FALSE in caso contrario. Impostare il flag VDS_HINT_ALLOCATEHOTSPARE nel membro ullHintMask per indicare l'interesse in questo membro.
bUseMirroredCache
TRUE se il client vuole che questo LUN usi una cache con mirroring o FALSE in caso contrario. Impostare il flag VDS_HINT_USEMIRROREDCACHE nel membro ullHintMask per indicare l'interesse in questo membro.
bReadCachingEnabled
TRUE se il client vuole che il LUN usi la memorizzazione nella cache di lettura o FALSE in caso contrario. Impostare il flag VDS_HINT_READCACHINGENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bWriteCachingEnabled
TRUE se il client vuole che il LUN usi la memorizzazione nella cache di scrittura o FALSE in caso contrario. Impostare il flag VDS_HINT_WRITECACHINGENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bMediaScanEnabled
TRUE se il client vuole abilitare l'analisi multimediale per questo LUN o FALSE in caso contrario. Impostare il flag VDS_HINT_MEDIASCANENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
bConsistencyCheckEnabled
TRUE se il client vuole abilitare il controllo della coerenza per questo LUN o FALSE in caso contrario. Impostare il flag VDS_HINT_CONSISTENCYCHECKENABLED nel membro ullHintMask per indicare l'interesse in questo membro.
BusType
Valore di enumerazione VDS_STORAGE_BUS_TYPE che specifica il tipo di bus per il LUN. Impostare il flag VDS_HINT_BUSTYPE nel membro ullHintMask per indicare l'interesse in questo membro.
bReserved1
Questo membro è riservato per usi futuri. Non usare.
bReserved2
Questo membro è riservato per usi futuri. Non usare.
bReserved3
Questo membro è riservato per usi futuri. Non usare.
sRebuildPriority
Priorità di ricompilazione per il LUN. Il valore può variare da 0 (priorità più bassa) a 15 (priorità più alta).
Commenti
Il metodo IVdsHwProviderStoragePools::CreateLunInStoragePool passa questa struttura come parametro per fornire hint per la creazione di un LUN in un pool di archiviazione. Viene passato come parametro nel metodo IVdsLun2::ApplyHints2 per applicare un nuovo set di hint a un LUN. Inoltre, viene restituito dal metodo IVdsLun2::QueryHints2 per segnalare gli hint attualmente applicati a un plex LUN o LUN, rispettivamente.
Gli hint non sono direttive per l'implementazione. Anche se gli implementatori sono in generale previsti per prendere in considerazione i loro suggerimenti, non sono obbligati a seguirli. Gli implementatori possono scegliere alternative quando non è possibile seguire gli hint specificati per motivi tecnici o quando li segue possono causare una configurazione scarsa.
Requisiti
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Intestazione | vds.h |