在Windows Server 2016中引入了一個新存儲功能,這個功能很是相似其餘的橫向擴展存儲解決方案,如VMware的VSAN,能夠進行存儲空間的直連,使用的是存儲節點的本地存儲,也就是使用每個存儲節點的內部磁盤設備構建HA存儲系統鏈接到單個的存儲節點:shell
全部的節點是利用SMB3來直接與存儲空間進行通訊:緩存
存儲空間無縫集成組成Windows Server的軟件定義存儲功能,包括橫向擴展的文件服務器,羣集共享卷,存儲空間和故障轉移羣集。服務器
除此以外按照一樣的道理也能夠提供給Hyper-V虛擬機進行使用網絡
那麼下面我將利用Windows Server 2016 TP4爲你們看看微軟新服務器操做系統所能帶來的相似解決方案是怎樣的:ide
按照微軟的要求爲簡單是至少須要4個第二代的Hyper-V虛擬機完成實驗,每一個虛擬機至少4個數據磁盤。佈局
(https://technet.microsoft.com/en-us/library/mt126109.aspx)性能
注意:存儲空間直連不支持MPIO哦。測試
因爲測試資源有限,因此這裏我準備了3臺服務器:1臺DC;2臺Windows Server 2016的域成員服務器,每臺添加了2塊10G的磁盤,每臺2張網卡,一個對外,一個心跳優化
下面咱們開始爲每個節點安裝故障轉移羣集角色ui
Install-WindowsFeature –Name File-Services, Failover-Clustering –IncludeManagementTools
下面開始驗證羣集是否具有建立存儲空間直連的先決條件:
選擇「僅運行選擇的測試」由於咱們這裏要測試存儲空間直連,默認該選項爲勾選。
這裏我取消勾選了存儲,由於我不是測試共享存儲,我是要作存儲空間直連。
固然也能夠用Powershell進行驗證,但必須帶上-Include參數,帶上Storage Spaces Direct值:
Test-Cluster –Node Stor1,Stor2 –Include "Storage Spaces Direct",Inventory,Network,"System Configuration"
驗證完成,雖然警告,但仍是能夠建立的
下面開始建立羣集,包含文件服務器
New-Cluster –Name StorCluster –Node Stor1,Stor2 –NoStorage -StaticAddress 192.168.11.153
建立完成後,咱們能夠查看羣集網絡
下面啓用存儲空間直連(Storage Spaces Direct)
這裏啓用又分爲幾個類型:
SATA SSD+SATA HDD:Enable-ClusterStorageSpacesDirect
NVMe SSD+ SATA SSD:Enable-ClusterS2D –S2DCacheDevice NVMe
全部的SATA SSD或NVMe SSD來配置SDS:Enable-ClusterS2D -S2DCacheMode Disabled(禁用了S2D緩存)
在SATA SSD+SATA HDD配置中,存儲空間使用了SSD的性能+HDD的容量進行分層。
在NVMe SSD+SATA SSD配置中,存儲空間使用了NVMe SSD的性能+SATA SSD的容量進行分層。
下面接着建立存儲池
建立存儲池能夠用Powershell進行建立:
New-StoragePool -StorageSubSystemName <FQDN of the subsystem> -FriendlyName <StoragePoolName> -WriteCacheSizeDefault 0 -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem -Name <FQDN of the subsystem> | Get-PhysicalDisk)
示例:
New-StoragePool -StorageSubSystemName StorCluster.contoso.com -FriendlyName StorPool -WriteCacheSizeDefault 0 -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem -Name StorCluster.contoso.com | Get-PhysicalDisk)
固然也能夠用圖形化來建立:
指定存儲池名稱
選擇存儲池的物理磁盤,以及磁盤模式
這裏要用多少塊就選多少塊,能夠理解爲2臺服務器每臺2快硬盤被假設當作一臺服務器的4塊硬盤構建成了羣集存儲池
開始建立
完成後能夠建立虛擬磁盤
能夠看見咱們的羣集存儲池:
開始建立虛擬磁盤
這裏爲何是33G呢?4塊10G加起來應該是40G對吧
緣由在建立了存儲池之後,每一個磁盤都有一小部分爲已佔用空間:
若是咱們有2中類型的磁盤,那麼這裏能夠建立存儲層(分層)
下一步就是出現的隱藏技能了:這個機箱感知仍是很是有意思的,惋惜資源有限,沒法測試了
下面就是選擇存儲數據佈局了:相似於RAID0,RAID1,RAID5
根據選擇的佈局不一樣實際可用的大小也不同。
Simple可用大小爲32G
Mirror可用大小爲14
Parit可用大小爲21
而後選擇建立的虛擬磁盤大小(不能大於可用空間容量)
開始建立
完成後就能夠開始建立捲了
選擇虛擬磁盤
建立卷又從虛擬磁盤中消耗一點空間
分配驅動器和文件夾了,若是我要作共享存儲卷那麼我這是能夠選擇不分配驅動器和文件夾的
選擇卷的格式是ReFS或NTFS,以及單元大小名稱等
建立
建立完成之後能夠看到改捲了
這是咱們能夠把該卷轉成羣集共享捲了
看到這相信你們明白這裏是你們熟悉的功能和原來的味道了
最後再說下存儲池的優化部分:
隨着時間的推移,物理磁盤的添加或移除或數據覆蓋或刪除會致使該池的物理磁盤數據分配不均。在這個狀況下會出現某些磁盤變滿,而有些比較空,所以管理員能夠進行優化維護任務。
Optimize-StoragePool <PoolName>
示例:
Optimize-StoragePool StorPool
也可使用以下PS進行監控優化的進度
Get-StorageJob | ? Name –eq Optimize
若是優化意外中止工做能夠進行修復:
Get-VirtualDisk | Repair-VirtualDisk
今天就分享到這,內容信息龐大,還請各位慢慢消化,我都還暈乎乎的,也須要消化消化。特別感謝「隔壁老王」對個人指導才能順利完成,謝謝。