estructura VDS_HINTS2 (vds.h)
[A partir de Windows 8 y Windows Server 2012, la interfaz COM del servicio de disco virtual se sustituye por la API de administración de almacenamiento de Windows.]
Contiene las sugerencias automagic para un LUN en un bloque de almacenamiento.
Sintaxis
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
Máscara de sugerencia de LUN. Cada uno de los miembros BOOL de esta estructura tiene una marca de sugerencia correspondiente que se puede establecer en la máscara. Si se establece la marca de sugerencia, se considera la sugerencia correspondiente. Si no se establece la marca de sugerencia, se omite la sugerencia. Las marcas de sugerencia se describen en la tabla siguiente.
Value | Significado |
---|---|
|
El proveedor limita el tiempo necesario para la recuperación. Para admitir la recuperación rápida, el proveedor usa un registro de cambios que permite al proveedor recuperar el LUN sin comparar todo el contenido del LUN. |
|
El proveedor optimiza el LUN para un patrón de uso de lectura principalmente, normalmente mediante la creación de reflejo en lugar de la seccionamiento de paridad. |
|
El proveedor optimiza el LUN para un patrón de uso de lectura secuencial. Si no se establece esta marca y tampoco se establece VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES, el LUN está optimizado para E/S aleatorias. |
|
El proveedor optimiza el LUN para un patrón de uso de escritura secuencial. Si no se establece esta marca y tampoco se establece VDS_HINT_OPTIMIZEFORSEQUENTIALREADS, el LUN está optimizado para E/S aleatorias. |
|
El proveedor comprueba las escrituras en el LUN mediante la lectura diferida. |
|
El proveedor crea y actualiza automáticamente la asignación de extensiones de LUN a extensiones de unidad. Si no se establece esta marca, la asignación permanece fija después de la configuración, excepto cuando se realizan acciones proactivas para evitar errores de unidad. |
|
El proveedor habilita la directiva de almacenamiento en caché de escritura a través en el LUN. |
|
El proveedor habilita una suma de comprobación de hardware en el LUN. |
|
El proveedor configura el LUN para que las unidades que contribuyen a ella se puedan quitar físicamente con una interrupción mínima del sistema. Normalmente, esto se logra asegurándose de que el LUN ocupa lo menos unidades posible. |
|
El proveedor asigna una reserva activa para el LUN. Para obtener más información, consulte Sparing, VDS_DRIVE_FLAG y VDS_DISK_FLAG de acceso frecuente. |
|
El proveedor usa el tipo de bus especificado en el LUN. Para obtener más información, consulte VDS_STORAGE_BUS_TYPE. |
|
El proveedor usa una memoria caché reflejada en el LUN. Vea el valor VDS_SF_SUPPORTS_MIRRORED_CACHE de la enumeración VDS_SUB_SYSTEM_FLAG . |
|
El proveedor habilita el almacenamiento en caché de lectura en el LUN. Vea el valor VDS_LF_READ_CACHE_ENABLED de la enumeración VDS_LUN_FLAG y el valor VDS_SF_READ_CACHING_CAPABLE de la enumeración VDS_SUB_SYSTEM_FLAG . |
|
El proveedor habilita el almacenamiento en caché de escritura en el LUN. Vea el valor VDS_LF_WRITE_CACHE_ENABLED de la enumeración VDS_LUN_FLAG y el valor VDS_SF_WRITE_CACHING_CAPABLE de la enumeración VDS_SUB_SYSTEM_FLAG . |
|
El proveedor habilita el examen de medios en el LUN. Vea el valor VDS_LF_MEDIA_SCAN_ENABLED de la enumeración VDS_LUN_FLAG y el valor VDS_SF_MEDIA_SCAN_CAPABLE de la enumeración VDS_SUB_SYSTEM_FLAG . |
|
El proveedor habilita la comprobación de coherencia en el LUN. Vea el valor VDS_LF_CONSISTENCY_CHECK_ENABLED de la enumeración VDS_LUN_FLAG y el valor VDS_SF_CONSISTENCY_CHECK_CAPABLE de la enumeración VDS_SUB_SYSTEM_FLAG . |
ullExpectedMaximumSize
Tamaño máximo al que se espera que crezca el LUN, en bytes. El valor puede ser igual a, mayor o menor que el valor especificado en el parámetro ullSizeInBytes cuando se llama al método IVdsHwProviderStoragePools::CreateLunInStoragePool . Algunos proveedores usan este valor para reservar espacio para el LUN. Los proveedores que no pueden reservar espacio normalmente omiten este parámetro.
ulOptimalReadSize
Tamaño de lectura óptimo para el LUN, en bytes. Cero indica que no hay ningún tamaño de lectura óptimo.
ulOptimalReadAlignment
Alineación óptima de lectura con respecto al primer bloque lógico del LUN. Cero indica que no hay ninguna alineación de lectura óptima.
ulOptimalWriteSize
Tamaño de escritura óptimo para el LUN, en bytes. Cero indica que no hay un tamaño de escritura óptimo.
ulOptimalWriteAlignment
Alineación óptima de escritura con respecto al primer bloque lógico del LUN. Cero indica que no hay ninguna alineación de escritura óptima.
ulMaximumDriveCount
Número máximo de unidades que se van a contribuir al LUN. Cero indica que no hay número máximo de unidades. Este valor se puede usar para limitar el número de interleaves de franjas en un conjunto de franjas.
ulStripeSize
Tamaño de intercalación de reflejo o paridad, en bytes. Cero deja sin especificar el tamaño de la franja.
ulReserved1
Este miembro se reserva para uso futuro. No debe usarse.
ulReserved2
Este miembro se reserva para uso futuro. No debe usarse.
ulReserved3
Este miembro se reserva para uso futuro. No debe usarse.
bFastCrashRecoveryRequired
Si este miembro es TRUE, el tiempo de recuperación es limitado. Establezca la marca VDS_HINT_FASTCRASHRECOVERYREQUIRED en el miembro ullHintMask para indicar interés en este miembro.
bMostlyReads
Para optimizar un patrón de uso de lecturas principalmente (por ejemplo, mediante la creación de reflejos en lugar de la seccionamiento de paridad), establezca este miembro en TRUE. De lo contrario, establézcalo en FALSE. Establezca la marca VDS_HINT_MOSTLYREADS en el miembro ullHintMask para indicar interés en este miembro.
bOptimizeForSequentialReads
Para optimizar un patrón de uso de lecturas secuenciales, establezca este miembro en TRUE. De lo contrario, establézcalo en FALSE. Establecer los miembros bOptimizeForSequentialReads y bOptimizeForSequentialWrites en FALSE se optimizan para E/S aleatorias. Establezca la marca VDS_HINT_OPTIMIZEFORSEQUENTIALREADS en el miembro ullHintMask para indicar interés en este miembro.
bOptimizeForSequentialWrites
Para optimizar un patrón de uso de escritura secuencial, establezca este miembro en TRUE. De lo contrario, establézcalo en FALSE. Establecer los miembros bOptimizeForSequentialReads y bOptimizeForSequentialWrites en FALSE se optimizan para E/S aleatorias. Establezca la marca VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES en el miembro ullHintMask para indicar interés en este miembro.
bRemapEnabled
Si este miembro es TRUE, el proveedor reasigna las extensiones de LUN para impulsar las extensiones automáticamente. Si es FALSE, la asignación de extensiones de LUN a extensiones de unidad permanece fija después de la configuración de LUN, a menos que las extensiones se reasignan explícitamente para evitar bloques dañados. Establezca la marca VDS_HINT_REMAPENABLED en el miembro ullHintMask para indicar interés en este miembro.
bReadBackVerifyEnabled
Si este miembro es TRUE, el proveedor comprueba las escrituras en el LUN por readback. Si es FALSE, el proveedor no comprueba las escrituras. Establezca la marca VDS_HINT_READBACKVERIFYENABLED en el miembro ullHintMask para indicar interés en este miembro.
bWriteThroughCachingEnabled
Si este miembro es TRUE, el proveedor habilita el almacenamiento en caché de escritura en el LUN; si es FALSE, el proveedor no habilita el almacenamiento en caché de escritura a través. Establezca la marca VDS_HINT_WRITETHROUGHCACHINGENABLED en el miembro ullHintMask para indicar interés en este miembro.
bHardwareChecksumEnabled
Si este miembro es TRUE, el proveedor habilita una suma de comprobación en el LUN. Establezca la marca VDS_HINT_HARDWARECHECKSUMENABLED en el miembro ullHintMask para indicar interés en este miembro.
bIsYankable
Si este miembro es TRUE, las unidades que contribuyen al LUN se pueden quitar físicamente sin interrupciones significativas en el sistema (esto suele ser cierto cuando el LUN se compone de extensiones de solo unas pocas unidades). Si es FALSE, el LUN no se puede quitar sin interrupciones significativas en el sistema. Establezca la marca VDS_HINT_ISYANKABLE en el miembro ullHintMask para indicar interés en este miembro.
bAllocateHotSpare
TRUE si el cliente quiere asignar una unidad de reserva activa para este LUN o FALSE en caso contrario. Establezca la marca VDS_HINT_ALLOCATEHOTSPARE en el miembro ullHintMask para indicar interés en este miembro.
bUseMirroredCache
TRUE si el cliente quiere que este LUN use una memoria caché reflejada o FALSE en caso contrario. Establezca la marca VDS_HINT_USEMIRROREDCACHE en el miembro ullHintMask para indicar interés en este miembro.
bReadCachingEnabled
TRUE si el cliente quiere que el LUN use el almacenamiento en caché de lectura o FALSE en caso contrario. Establezca la marca VDS_HINT_READCACHINGENABLED en el miembro ullHintMask para indicar interés en este miembro.
bWriteCachingEnabled
TRUE si el cliente quiere que el LUN use el almacenamiento en caché de escritura o FALSE en caso contrario. Establezca la marca VDS_HINT_WRITECACHINGENABLED en el miembro ullHintMask para indicar interés en este miembro.
bMediaScanEnabled
TRUE si el cliente quiere habilitar el examen de medios para este LUN o FALSE en caso contrario. Establezca la marca VDS_HINT_MEDIASCANENABLED en el miembro ullHintMask para indicar interés en este miembro.
bConsistencyCheckEnabled
TRUE si el cliente quiere habilitar la comprobación de coherencia para este LUN o FALSE en caso contrario. Establezca la marca VDS_HINT_CONSISTENCYCHECKENABLED en el miembro ullHintMask para indicar interés en este miembro.
BusType
Valor de enumeración VDS_STORAGE_BUS_TYPE que especifica el tipo de bus para el LUN. Establezca la marca VDS_HINT_BUSTYPE en el miembro ullHintMask para indicar interés en este miembro.
bReserved1
Este miembro se reserva para uso futuro. No debe usarse.
bReserved2
Este miembro se reserva para uso futuro. No debe usarse.
bReserved3
Este miembro se reserva para uso futuro. No debe usarse.
sRebuildPriority
Prioridad de recompilación para el LUN. El valor puede oscilar entre 0 (prioridad más baja) y 15 (prioridad más alta).
Comentarios
El método IVdsHwProviderStoragePools::CreateLunInStoragePool pasa esta estructura como parámetro para proporcionar sugerencias para crear un LUN en un grupo de almacenamiento. Se pasa como parámetro en el método IVdsLun2::ApplyHints2 para aplicar un nuevo conjunto de sugerencias a un LUN. Además, se devuelve mediante el método IVdsLun2::QueryHints2 para notificar sugerencias aplicadas actualmente a un LUN o plex LUN, respectivamente.
Las sugerencias no son directivas para los implementadores. Aunque se espera que los implementadores hagan lo mejor posible para tener en cuenta las sugerencias, no están obligados a seguirlas. Los implementadores pueden optar por alternativas cuando no se pueden seguir sugerencias especificadas por motivos técnicos o cuando seguirlas pueden dar lugar a una configuración deficiente.
Requisitos
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Encabezado | vds.h |