微軟超融合私有雲測試06-StorageSpaceDirect(S2D)分布式存儲配置
1. 創建分布式存儲
可故障轉移群集創建完畢後,接下來在群集中啟用分布式存儲(Storage Space Direct),來作為群集存儲使用。
1) 在啟用分布式存儲之前,首先需要處理所有磁盤,使所有磁盤處於可用狀態
磁盤要求為:用於存儲空間直通的磁盤必須為空且沒有分區或其他數據。 如果磁盤有分區或其他數據,那麽它不會包含在存儲空間直通系統中。
2)下面,通過一個腳本,來清理磁盤,使磁盤處於可用狀態
在任意節點上打開PowerShell控制臺,然後輸入以下命令
icm (Get-Cluster -Name HCI-Cluster | Get-ClusterNode) {
Update-StorageProviderCache
Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
$_ | Set-Disk -isoffline:$false
$_ | Set-Disk -isreadonly:$false
$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
$_ | Set-Disk -isreadonly:$true
$_ | Set-Disk -isoffline:$true
}
Get-Disk |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName,Count
3)命令執行完畢後,輸出如下
4) 啟用存儲直通
創建群集後,使用 Enable-ClusterStorageSpacesDirect PowerShell cmdlet(它會將存儲系統置於存儲空間直通模式),並自動執行以下操作:
創建池:創建具有“S2D on Cluster1”之類的名稱的單個大型池。
配置存儲空間直通緩存:如果存在多個媒體(驅動器)類型可供存儲空間直通使用,作為緩存設備可實現最快速度(在大多數情況下讀取和寫入)
層:創建 2 層作為默認層。 其中一個稱為“容量”,另一個稱為“性能”。 cmdlet 通過組合設備類型和復原能力來分析設備並配置每個層。
通過管理系統,在以管理員權限打開的 PowerShell 命令窗口中,啟動以下命令。 群集名稱是在前面的步驟中創建的群集的名稱。
5) 使用域管理員身份登錄到任意一臺物理機,以管理員身份打開PowerShell控制臺,然後輸入
Enable-ClusterStorageSpacesDirect
確認操作頁,輸入Y
6)此命令完成(可能需要幾分鐘時間)之後,系統將準備好要創建卷
創建完成後,會生成一個報告
7) 打開生成的報告,可以看到自動使用的磁盤狀況
8)打開故障轉移群集管理器,可以看到創建的存儲池信息
9)機箱頁,可以看到當前的服務器信息
2.創建存儲卷
所謂卷,就是類似於我們傳統存儲的存儲LUN,在傳統存儲中,底層磁盤全部整合為一個存儲池(或組),然後在存儲池(或組)中創建存儲LUN,再分配給主機使用。
微軟存儲直通---分布式存儲池,在整合完所有服務器的本地磁盤成為一個統一存儲池後,在上面劃分卷,每個卷以類似於傳統共享存儲的形式掛載到虛擬化集群,最終轉換為微軟集群所需的群集共享卷(CSV),整體架構圖如下所示。
群集中的所有服務器都可以同時訪問所有卷。創建卷後,他們會顯示在所有服務器上的C:\ClusterStorage\中
1) 在故障轉移群集管理器中,導航到存儲->池,在右側點擊“新建虛擬磁盤”
2) 選擇存儲池並單擊確定.
3) 在打開的新建虛擬磁盤向導(存儲空間直通)頁中,點擊“下一步”
4) 命名虛擬磁盤然後點擊“下一步”
5) 輸入虛擬磁盤大小,然後點擊“下一步”
6) 檢查虛擬磁盤創建設置,確認無誤後,點擊“創建”
7) 創建完成,勾選“在此向導關閉時創建卷”,然後點擊“關閉”
8) 此時將打開新建卷向導
在起始頁,點擊“下一步”
9) 在“服務器和磁盤”頁,服務器選擇群集,磁盤選擇剛才創建的磁盤,然後點擊“下一步”
10) 指定卷的大小(與虛擬磁盤大小相同),然後點擊“下一步”
11) 在“驅動器號或文件夾”頁,選擇“不分配驅動器號或文件夾”,然後點擊“下一步”
Note:因為是給群集做共享卷用,所以不分配驅動器號(此部分設置與傳統存儲設置一樣)
12) 文件系統選擇”ReFS”分配單元打啊小選擇4096,輸入卷標,然後點擊“下一步”
13) 查看設置,確認無誤後,點擊“創建”
14) 卷創建完成後,點擊“關閉”
15) 在故障轉移群集管理器中,導航到存儲->磁盤
選擇剛才創建的虛擬磁盤,然後從右側的“操作”窗格中,選擇添加到群集共享卷
16) 卷創建完成後,在服務器的C:\ClusterStorage中即可看到創建的卷目錄
17) 操作完成!根據需要重復操作以創建多個卷
3.創建虛擬機測試
1) 在故障轉移群集管理器中,導航到角色,在右側 點擊 虛擬機->新建虛擬機
2) 選擇承載虛擬機的物理服務器節點
3) 輸入虛擬機名稱,存儲位置選擇我們創建的群集共享卷位置
4) 虛擬機代數選擇“第二代”
5) 分配內存頁,設置內存大小,然後點擊“下一步”
6) 在“配置網絡”頁面,選擇之前創建的虛擬交換機,然後點擊“下一步”
7) 設置創建虛擬磁盤的大小,然後點擊“下一步”
8) 選擇安裝操作系統的ISO映像,點擊“下一步”
9) 確認虛擬機創建配置,確認無誤後,點擊“完成”
10) 虛擬機創建完成後,會自動配置群集高可用性,點擊“完成”
11) 虛擬機創建完成,點擊“啟動”啟動虛擬機,然後開始安裝操作系統
4.存儲卷擴展
1) 在日常使用中,經常會面臨存儲卷空間不足的情況,因此有可能會面臨需要擴展存儲卷的情況。在三向鏡像模式下,每擴充1GB需要三倍的底層空間支撐。
2) 在調整卷大小之前,請確保存儲池中有足夠的容量,以容納其新的更大占用空間。 例如,將三向鏡像卷的大小從 1 TB 調整為 2 TB 時,其占用空間將從 3 TB 增長到 6 TB。 要成功調整大小,存儲池中將至少需要 (6 - 3) = 3 TB 的可用容量。
3) 在存儲空間直通中,每個卷都由一些堆疊對象組成:群集共享卷 (CSV)(這是一個卷)、分區、磁盤(這是一個虛擬磁盤)以及一個或多個存儲層(如果適用)。 若要調整卷的大小,你將需要調整其中一些對象的大小。
4) 在本次測試中,我將測試將一個500GB的LUN擴容到1TB,LUN(在存儲空間直通中稱之為虛擬磁盤)的名稱為Test-Extend
首先檢查關聯的CSV的狀態
5) 在擴展卷之前,需要關閉在該卷上的所有VM,並暫停該卷的IO操作
在任意節點,執行如下命令暫停IO
Get-ClusterSharedVolume "群集虛擬磁盤(Test-Extend)" | Suspend-ClusterResource
6) 輸入如下命令,檢查該LUN是否有做自動分層,在我的測試環境,由於只有1個Mirror層,因此並未做分層
Get-VirtualDisk Test-Extend | Get-StorageTier
7) 使用如下命令檢查虛擬磁盤處於哪個存儲層
Get-VirtualDisk -Friendlyname "Test-Extend" | Get-StorageTier | FT Friendlyname, @{Name="Size in GB";Expression={($_.AllocatedSize/1gb)}}
由於我們是直接使用群集自動配置的,並且只有一層,因此會發現每個虛擬磁盤LUN都是一個Tier
8) 使用如下命令同時擴展LUN與Tier層
Get-VirtualDisk "Test-Extend" | Get-StorageTier | ? Friendlyname -eq "Test-Extend_Capacity" | Resize-StorageTier -Size 1024GB
9) 當調整 StorageTier 的大小時,VirtualDisk 和 Disk 也會自動跟著調整大小
10) 接下來擴展分區大小(大小單位為B)
Get-VirtualDisk "Test-Extend"| Get-Disk | Get-Partition | ? Type -eq Basic | Resize-Partition -Size 1099511627776
11) 擴展完畢後,可以看到該卷已經是1 TB了
12) 當調整 Partition 的大小時,Volume 和 ClusterSharedVolume 也會自動跟著調整大小。
13) 擴展完成後,使用如下命令將卷恢復IO操作
Get-ClusterSharedVolume "群集虛擬磁盤(Test-Extend)" | Resume-ClusterResource
14) 在群集管理器看到CSV大小已經是1TB
15) 擴展完成
End
微軟超融合私有雲測試06-StorageSpaceDirect(S2D)分布式存儲配置