структура VDS_HINTS2 (vdshwprv.h)
[Начиная с Windows 8 и Windows Server 2012 COM-интерфейс службы виртуальных дисков замечается API управления хранилищем Windows.]
Содержит автоматические указания для LUN в пуле носителей.
Синтаксис
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;
Члены
ullHintMask
Маска указания LUN. Каждый из элементов BOOL этой структуры имеет соответствующий флаг указания, который можно задать в маске. Если флаг подсказки установлен, учитывается соответствующее указание. Если флаг указания не задан, указание игнорируется. Флаги указания описаны в следующей таблице.
Значение | Значение |
---|---|
|
Поставщик ограничивает время, необходимое для восстановления. Для поддержки быстрого восстановления поставщик использует журнал изменений, который позволяет поставщику восстановить LUN без сравнения всего содержимого LUN. |
|
Поставщик оптимизирует LUN для шаблона использования в основном для чтения, обычно используя зеркальное отображение, а не чередование четности. |
|
Поставщик оптимизирует LUN для шаблона использования последовательного чтения. Если этот флаг не задан и VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES также не задан, LUN оптимизировано для случайных операций ввода-вывода. |
|
Поставщик оптимизирует LUN для модели использования последовательной записи. Если этот флаг не задан и VDS_HINT_OPTIMIZEFORSEQUENTIALREADS также не задан, LUN оптимизирован для случайных операций ввода-вывода. |
|
Поставщик проверяет записи в LUN с помощью обратного чтения. |
|
Сопоставление экстентов LUN с экстентами диска создается и обновляется поставщиком автоматически. Если этот флаг не установлен, сопоставление остается фиксированным после настройки, за исключением упреждающих действий, чтобы избежать сбоев диска. |
|
Поставщик включает политику кэширования через запись в LUN. |
|
Поставщик включает контрольную сумму оборудования для LUN. |
|
Поставщик настраивает LUN таким образом, чтобы диски, которые участвуют в нем, могли быть физически удалены с минимальным нарушением работы системы. Обычно это достигается за счет того, что LUN занимает как можно меньше дисков. |
|
Поставщик выделяет горячий резерв для LUN. Дополнительные сведения см. в разделе Hot Sparing, VDS_DRIVE_FLAG и VDS_DISK_FLAG. |
|
Поставщик использует указанный тип шины в LUN. Дополнительные сведения см. в разделе VDS_STORAGE_BUS_TYPE. |
|
Поставщик использует зеркальный кэш в LUN. См . VDS_SF_SUPPORTS_MIRRORED_CACHE значение перечисления VDS_SUB_SYSTEM_FLAG . |
|
Поставщик включает кэширование чтения в LUN. Просмотрите VDS_LF_READ_CACHE_ENABLED значение перечисления VDS_LUN_FLAG и VDS_SF_READ_CACHING_CAPABLE значение перечисления VDS_SUB_SYSTEM_FLAG . |
|
Поставщик включает кэширование записи в LUN. См. VDS_LF_WRITE_CACHE_ENABLED значение перечисления VDS_LUN_FLAG и значение VDS_SF_WRITE_CACHING_CAPABLE перечисления VDS_SUB_SYSTEM_FLAG . |
|
Поставщик включает проверку мультимедиа в LUN. Просмотрите значение VDS_LF_MEDIA_SCAN_ENABLED перечисления VDS_LUN_FLAG и VDS_SF_MEDIA_SCAN_CAPABLE значение перечисления VDS_SUB_SYSTEM_FLAG . |
|
Поставщик включает проверку согласованности в LUN. Просмотрите значение VDS_LF_CONSISTENCY_CHECK_ENABLED перечисления VDS_LUN_FLAG и значение VDS_SF_CONSISTENCY_CHECK_CAPABLE перечисления VDS_SUB_SYSTEM_FLAG . |
ullExpectedMaximumSize
Максимальный размер, до которого ожидается увеличение LUN, в байтах. Значение может быть равно, больше или меньше значения, указанного в параметре ullSizeInBytes при вызове метода IVdsHwProviderStoragePools::CreateLunInStoragePool . Некоторые поставщики используют это значение для резервирования места для LUN. Поставщики, которые не могут зарезервировать пространство, обычно игнорируют этот параметр.
ulOptimalReadSize
Оптимальный размер чтения для LUN в байтах. Ноль указывает на отсутствие оптимального размера для чтения.
ulOptimalReadAlignment
Оптимальное выравнивание чтения по отношению к первому логическому блоку LUN. Ноль указывает на отсутствие оптимального выравнивания для чтения.
ulOptimalWriteSize
Оптимальный размер записи для LUN в байтах. Ноль указывает на отсутствие оптимального размера записи.
ulOptimalWriteAlignment
Оптимальное выравнивание записи относительно первого логического блока LUN. Ноль указывает на отсутствие оптимального выравнивания записи.
ulMaximumDriveCount
Максимальное количество дисков, которые необходимо внести в LUN. Ноль означает отсутствие максимального количества дисков. Это значение можно использовать для ограничения количества чередуемых полос в чередующемся наборе.
ulStripeSize
Размер чередования чередования зеркало или четности (в байтах). Ноль оставляет размер полосы неуказанным.
ulReserved1
Этот элемент зарезервирован для использования в будущем. Не используйте.
ulReserved2
Этот элемент зарезервирован для использования в будущем. Не используйте.
ulReserved3
Этот элемент зарезервирован для использования в будущем. Не используйте.
bFastCrashRecoveryRequired
Если этот элемент имеет значение TRUE, время восстановления ограничено. Установите флаг VDS_HINT_FASTCRASHRECOVERYREQUIRED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bMostlyReads
Чтобы оптимизировать использование в основном считывания (например, с помощью зеркального отображения, а не чередования четности), задайте для этого элемента значение TRUE. В противном случае установите для него значение FALSE. Установите флаг VDS_HINT_MOSTLYREADS в элементе ullHintMask , чтобы указать интерес к этому элементу.
bOptimizeForSequentialReads
Чтобы оптимизировать шаблон использования последовательных операций чтения, задайте для этого элемента значение TRUE. В противном случае установите для него значение FALSE. Установка обоих элементов bOptimizeForSequentialReads и bOptimizeForSequentialWrites в значение FALSE оптимизирует случайные операции ввода-вывода. Установите флаг VDS_HINT_OPTIMIZEFORSEQUENTIALREADS в элементе ullHintMask , чтобы указать интерес к этому элементу.
bOptimizeForSequentialWrites
Чтобы оптимизировать шаблон использования последовательных операций записи, задайте для этого элемента значение TRUE. В противном случае установите для него значение FALSE. Установка обоих элементов bOptimizeForSequentialReads и bOptimizeForSequentialWrites в значение FALSE оптимизирует случайные операции ввода-вывода. Установите флаг VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES в элементе ullHintMask , чтобы указать интерес к этому элементу.
bRemapEnabled
Если этот член имеет значение TRUE, поставщик автоматически перенаправит экстенты LUN в экстенты диска. Если задано значение FALSE, сопоставление экстентов LUN с экстентами диска остается фиксированным после настройки LUN, если экстенты явно не переназначаются, чтобы избежать поврежденных блоков. Установите флаг VDS_HINT_REMAPENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bReadBackVerifyEnabled
Если этот элемент имеет значение TRUE, поставщик проверяет записи в LUN путем обратного чтения. Если имеет значение FALSE, поставщик не проверяет операции записи. Установите флаг VDS_HINT_READBACKVERIFYENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bWriteThroughCachingEnabled
Если этот элемент имеет значение TRUE, поставщик включает кэширование через запись в LUN; Если значение равно FALSE, поставщик не включает кэширование через запись. Установите флаг VDS_HINT_WRITETHROUGHCACHINGENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bHardwareChecksumEnabled
Если этот элемент имеет значение TRUE, поставщик включает контрольную сумму для LUN. Установите флаг VDS_HINT_HARDWARECHECKSUMENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bIsYankable
Если этот член имеет значение TRUE, диски, которые вносят вклад в LUN, можно физически удалить без значительных нарушений работы системы (обычно это верно, если LUN состоит из экстентов всего нескольких дисков). Если значение РАВНО FALSE, LUN нельзя удалить без значительных нарушений работы системы. Установите флаг VDS_HINT_ISYANKABLE в элементе ullHintMask , чтобы указать интерес к этому элементу.
bAllocateHotSpare
Значение TRUE , если клиент хочет выделить диск горячей замены для этого LUN, или false в противном случае. Установите флаг VDS_HINT_ALLOCATEHOTSPARE в элементе ullHintMask , чтобы указать интерес к этому элементу.
bUseMirroredCache
Значение TRUE , если клиент хочет, чтобы этот LUN использовал зеркальный кэш, или значение FALSE в противном случае. Установите флаг VDS_HINT_USEMIRROREDCACHE в элементе ullHintMask , чтобы указать интерес к этому элементу.
bReadCachingEnabled
Значение TRUE , если клиент хочет, чтобы LUN использовал кэширование чтения, или значение FALSE в противном случае. Установите флаг VDS_HINT_READCACHINGENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bWriteCachingEnabled
True , если клиент хочет, чтобы LUN использовал кэширование записи, или false в противном случае. Установите флаг VDS_HINT_WRITECACHINGENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bMediaScanEnabled
Значение TRUE , если клиент хочет включить проверку мультимедиа для этого LUN, или false в противном случае. Установите флаг VDS_HINT_MEDIASCANENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
bConsistencyCheckEnabled
Значение TRUE , если клиент хочет включить проверку согласованности для этого LUN, или false в противном случае. Установите флаг VDS_HINT_CONSISTENCYCHECKENABLED в элементе ullHintMask , чтобы указать интерес к этому элементу.
BusType
Значение перечисления VDS_STORAGE_BUS_TYPE , указывающее тип шины для LUN. Установите флаг VDS_HINT_BUSTYPE в элементе ullHintMask , чтобы указать интерес к этому элементу.
bReserved1
Этот элемент зарезервирован для использования в будущем. Не используйте.
bReserved2
Этот элемент зарезервирован для использования в будущем. Не используйте.
bReserved3
Этот элемент зарезервирован для использования в будущем. Не используйте.
sRebuildPriority
Приоритет перестроения для LUN. Значение может варьироваться от 0 (самый низкий приоритет) до 15 (наивысший приоритет).
Комментарии
Метод IVdsHwProviderStoragePools::CreateLunInStoragePool передает эту структуру в качестве параметра, чтобы предоставить указания по созданию LUN в пуле носителей. Он передается в качестве параметра в методе IVdsLun2::ApplyHints2 для применения нового набора подсказок к LUN. Кроме того, он возвращается методом IVdsLun2::QueryHints2 для передачи указаний, которые в настоящее время применяются к плексу LUN или LUN соответственно.
Указания не являются директивами для разработчиков. Хотя в целом ожидается, что разработчики делают все возможное, чтобы принять во внимание указания, они не обязаны следовать им. Разработчики могут выбрать альтернативные варианты, если не удается выполнить указанные указания по техническим причинам или если их выполнение может привести к плохой конфигурации.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Верхняя часть | vdshwprv.h |