1. 程式人生 > >微軟超融合私有雲測試06-StorageSpaceDirect(S2D)分布式存儲配置

微軟超融合私有雲測試06-StorageSpaceDirect(S2D)分布式存儲配置

power 中一 proc resource dir lock art s2d 實現

Start


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)分布式存儲配置