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
VDS_HINT_FASTCRASHRECOVERYREQUIRED
0x00000000000000001L
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.
VDS_HINT_MOSTLYREADS
0x00000000000000002L
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.
VDS_HINT_OPTIMIZEFORSEQUENTIALREADS
0x00000000000000004L
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.
VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES
0x00000000000000008L
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.
VDS_HINT_READBACKVERIFYENABLED
0x0000000000000010L
El proveedor comprueba las escrituras en el LUN mediante la lectura diferida.
VDS_HINT_REMAPENABLED
0x0000000000000020L
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.
VDS_HINT_WRITETHROUGHCACHINGENABLED
0x0000000000000040L
El proveedor habilita la directiva de almacenamiento en caché de escritura a través en el LUN.
VDS_HINT_HARDWARECHECKSUMENABLED
0x00000000000000080L
El proveedor habilita una suma de comprobación de hardware en el LUN.
VDS_HINT_ISYANKABLE
0x0000000000000100L
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.
VDS_HINT_ALLOCATEHOTSPARE
0x0000000000000200L
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.
VDS_HINT_BUSTYPE
0x0000000000000400L
El proveedor usa el tipo de bus especificado en el LUN. Para obtener más información, consulte VDS_STORAGE_BUS_TYPE.
VDS_HINT_USEMIRROREDCACHE
0x0000000000000800L
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 .
VDS_HINT_READCACHINGENABLED
0x0000000000001000L
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 .
VDS_HINT_WRITECACHINGENABLED
0x0000000000002000L
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 .
VDS_HINT_MEDIASCANENABLED
0x00000000000040000L
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 .
VDS_HINT_CONSISTENCYCHECKENABLED
0x00000000000080000L
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

Consulte también

IVdsLun2::ApplyHints2

IVdsLun2::QueryHints2