VDS_HINTS2結構 (vds.h)
[從Windows 8和Windows Server 2012開始,虛擬磁碟服務COM 介面會由Windows 儲存體管理 API取代。
包含 存放集區中 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 會針對隨機 I/O 進行優化。 |
|
提供者會針對循序寫入使用模式優化 LUN。 如果未設定此旗標,也不會設定VDS_HINT_OPTIMIZEFORSEQUENTIALREADS,LUN 會針對隨機 I/O 進行優化。 |
|
提供者會使用回寫來驗證 LUN 的寫入。 |
|
LUN 範圍與磁片磁碟機範圍的對應是由提供者自動建立和更新。 如果未設定此旗標,則對應在設定後會維持固定狀態,除非採取主動式動作以避免磁片磁碟機失敗。 |
|
提供者會在 LUN 上啟用寫入快取原則。 |
|
提供者會在 LUN 上啟用硬體總和檢查碼。 |
|
提供者會設定 LUN,讓參與該 LUN 的磁片磁碟機可以實際移除,且系統中斷最少。 這通常是藉由確保 LUN 盡可能佔用最少的磁片磁碟機來完成。 |
|
提供者會為 LUN 配置熱備援。 如需詳細資訊,請參閱 經常性疏VDS_DRIVE_FLAG、 VDS_DRIVE_FLAG和 VDS_DISK_FLAG。 |
|
提供者會在 LUN 上使用指定的匯流排類型。 如需詳細資訊,請參閱 VDS_STORAGE_BUS_TYPE。 |
|
提供者會在 LUN 上使用鏡像快取。 請參閱VDS_SUB_SYSTEM_FLAG列舉的VDS_SF_SUPPORTS_MIRRORED_CACHE值。 |
|
提供者會在 LUN 上啟用讀取快取。 請參閱VDS_LUN_FLAG列舉的VDS_LF_READ_CACHE_ENABLED值,以及VDS_SUB_SYSTEM_FLAG列舉的VDS_SF_READ_CACHING_CAPABLE值。 |
|
提供者會在 LUN 上啟用寫入快取。 請參閱VDS_LUN_FLAG列舉的VDS_LF_WRITE_CACHE_ENABLED值,以及VDS_SUB_SYSTEM_FLAG列舉的VDS_SF_WRITE_CACHING_CAPABLE值。 |
|
提供者會在 LUN 上啟用媒體掃描。 請參閱VDS_LUN_FLAG列舉的VDS_LF_MEDIA_SCAN_ENABLED值,以及VDS_SUB_SYSTEM_FLAG列舉的VDS_SF_MEDIA_SCAN_CAPABLE值。 |
|
提供者可在 LUN 上啟用一致性檢查。 請參閱VDS_LUN_FLAG列舉的VDS_LF_CONSISTENCY_CHECK_ENABLED值,以及VDS_SUB_SYSTEM_FLAG列舉的VDS_SF_CONSISTENCY_CHECK_CAPABLE值。 |
ullExpectedMaximumSize
LUN 預期要成長的大小上限,以位元組為單位。 呼叫IVdsHwProviderStoragePools::CreateLunInStoragePool方法時,此值可以等於、大於或小於ullSizeInBytes參數中指定的值。 某些提供者會使用此值來保留 LUN 的空間。 無法保留空間的提供者通常會忽略此參數。
ulOptimalReadSize
LUN 的最佳讀取大小,以位元組為單位。 零表示沒有最佳的讀取大小。
ulOptimalReadAlignment
與 LUN 第一個邏輯區塊相關的最佳讀取對齊方式。 零表示沒有最佳的讀取對齊方式。
ulOptimalWriteSize
LUN 的最佳寫入大小,以位元組為單位。 零表示沒有最佳的寫入大小。
ulOptimalWriteAlignment
與 LUN 第一個邏輯區塊相關的最佳寫入對齊方式。 零表示沒有最佳的寫入對齊方式。
ulMaximumDriveCount
要參與 LUN 的磁片磁碟機數目上限。 零表示沒有最大磁片磁碟機計數。 這個值可用來限制等量集合中的等量交錯數目。
ulStripeSize
鏡像或同位等量交錯大小,以位元組為單位。 零會保留未指定的等量大小。
ulReserved1
這個成員保留供未來使用。 請勿使用。
ulReserved2
這個成員保留供未來使用。 請勿使用。
ulReserved3
這個成員保留供未來使用。 請勿使用。
bFastCrashRecoveryRequired
如果此成員為 TRUE,則復原時間會受到限制。 在ullHintMask成員中設定VDS_HINT_FASTCRASHRECOVERYREQUIRED旗標,表示對此成員感興趣。
bMostlyReads
例如,若要優化大部分讀取的使用模式, (例如,透過鏡像而非同位等量等量分割) ,請將此成員設定為 TRUE。 否則,請將它設定為 FALSE。 在ullHintMask成員中設定VDS_HINT_MOSTLYREADS旗標,以指出對這個成員感興趣。
bOptimizeForSequentialReads
若要針對循序讀取使用模式進行優化,請將此成員設定為 TRUE。 否則,請將它設定為 FALSE。 將 bOptimizeForSequentialReads 和 bOptimizeForSequentialWrites 成員設定為 FALSE ,以針對隨機 I/O 優化。 在ullHintMask成員中設定VDS_HINT_OPTIMIZEFORSEQUENTIALREADS旗標,以指出此成員感興趣。
bOptimizeForSequentialWrites
若要針對循序寫入使用模式進行優化,請將此成員設定為 TRUE。 否則,請將它設定為 FALSE。 將 bOptimizeForSequentialReads 和 bOptimizeForSequentialWrites 成員設定為 FALSE ,以針對隨機 I/O 優化。 在ullHintMask成員中設定VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES旗標,以指出此成員感興趣。
bRemapEnabled
如果此成員為 TRUE,提供者會自動將 LUN 範圍重新對應至磁片磁碟機範圍。 如果是 FALSE,除非明確重新對應範圍以避免損毀的區塊,否則 LUN 範圍與磁片磁碟機範圍的對應會在 LUN 設定之後維持固定狀態。 在ullHintMask成員中設定VDS_HINT_REMAPENABLED旗標,以指出此成員感興趣。
bReadBackVerifyEnabled
如果這個成員為 TRUE,提供者會透過回寫來驗證 LUN 的寫入。 如果為 FALSE,則提供者不會驗證寫入。 在ullHintMask成員中設定VDS_HINT_READBACKVERIFYENABLED旗標,以指出此成員感興趣。
bWriteThroughCachingEnabled
如果此成員為 TRUE,提供者會在 LUN 上啟用寫入快取;如果為 FALSE,提供者就不會啟用寫入快取。 在ullHintMask成員中設定VDS_HINT_WRITETHROUGHCACHINGENABLED旗標,以指出此成員感興趣。
bHardwareChecksumEnabled
如果這個成員為 TRUE,提供者會在 LUN 上啟用總和檢查碼。 在ullHintMask成員中設定VDS_HINT_HARDWARECHECKSUMENABLED旗標,以指出此成員感興趣。
bIsYankable
如果此成員為 TRUE,則參與 LUN 的磁片磁碟機可以實際移除,而不會對系統造成重大中斷, (當 LUN 是由少數磁片磁碟機) 的範圍所組成時,通常是如此。 如果為 FALSE,則無法移除 LUN,而不會對系統造成重大中斷。 在ullHintMask成員中設定VDS_HINT_ISYANKABLE旗標,以指出此成員感興趣。
bAllocateHotSpare
如果用戶端想要為此 LUN 配置熱備援磁片磁碟機,則為TRUE,否則為FALSE。 在ullHintMask成員中設定VDS_HINT_ALLOCATEHOTSPARE旗標,以指出此成員感興趣。
bUseMirroredCache
如果用戶端希望此 LUN 使用鏡像快取,則為TRUE,否則為FALSE。 在ullHintMask成員中設定VDS_HINT_USEMIRROREDCACHE旗標,以指出此成員感興趣。
bReadCachingEnabled
如果用戶端想要 LUN 使用讀取快取,則為TRUE,否則為FALSE。 在ullHintMask成員中設定VDS_HINT_READCACHINGENABLED旗標,以指出此成員感興趣。
bWriteCachingEnabled
如果用戶端希望 LUN 使用寫入快取,則為TRUE,否則為FALSE。 在ullHintMask成員中設定VDS_HINT_WRITECACHINGENABLED旗標,以指出此成員感興趣。
bMediaScanEnabled
如果用戶端想要啟用此 LUN 的媒體掃描,則為TRUE,否則為FALSE。 在ullHintMask成員中設定VDS_HINT_MEDIASCANENABLED旗標,以指出對這個成員感興趣。
bConsistencyCheckEnabled
如果用戶端想要啟用此 LUN 的一致性檢查,則為TRUE,否則為FALSE。 在ullHintMask成員中設定VDS_HINT_CONSISTENCYCHECKENABLED旗標,以指出此成員感興趣。
BusType
指定 LUN 匯流排類型的 VDS_STORAGE_BUS_TYPE 列舉值。 在ullHintMask成員中設定VDS_HINT_BUSTYPE旗標,以指出此成員感興趣。
bReserved1
這個成員保留供未來使用。 請勿使用。
bReserved2
這個成員保留供未來使用。 請勿使用。
bReserved3
這個成員保留供未來使用。 請勿使用。
sRebuildPriority
LUN 的重建優先順序。 此值的範圍可以從 0 (最低優先順序) 到最高優先順序) 15 (。
備註
IVdsHwProviderStoragePools::CreateLunInStoragePool方法會將這個結構當做參數傳遞,以提供在存放集區中建立 LUN 的提示。 它會以 IVdsLun2::ApplyHints2 方法中的參數的形式傳遞,以將一組新的提示套用至 LUN。 此外, IVdsLun2::QueryHints2 方法會分別報告目前套用至 LUN 或 LUN plex 的提示。
提示不是實作者的指示詞。 雖然實作者一般預期會盡最大努力考慮提示,但它們不一定要遵循這些提示。 實作者可以選擇替代方法,因為技術原因而無法遵循指定的提示,或遵循這些提示可能會導致設定不佳。
規格需求
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
標頭 | vds.h |