2018年5月23日水曜日

Windows Server Insider Preview 17666ではS2D組めました

Windows Server Insider Preview 17623でEnable-ClusterStorageSpacesDirectしても、MSFT Virtual DiskがUnspecifiedのままだよを書いてました。

ずいぶんbuildが飛んでしまったのですが、Windows Server Insider Preview 17666ではS2Dを組んでみることにしました。

今回は3ノードで組んでます。各ノードに256GBの仮想ディスク4台で構成しました。

引っかかったところから書いていきます。

クラスター作成では、クラスターのコンピュータアカウントを先に作っておく必要がありました。ちょっとデグレードしている?!


クラスターのコンピュータアカウントを作ったら、クラスター作成もすんなり完了。

念のため、クラスターの稼働状況、名前解決できるかを確認しておきます。


ファイルウィットネスの接続性を確認して、

ファイルウィットネスを作ります。


ディスクチェックします。


Enable-ClusterStorageSpacesDirectに、–CimSession を付けないで、作成してます。


CSVボリュームも作って完了。


ということで、使ったスクリプトを載せておきます。
元ネタはDeploying Storage Spaces Directの過去バージョンです。現在のversionは、HCIじゃなくてCIも意識されているようでファイルサーバーの役割を入れるようになっています。役割のインストールも、ループを使ってリモートでインストールしてます。
あと、Enable-ClusterStorageSpacesDirectに、–CimSession を付けるようになっていますね。
さてこの–CimSessionですが、もしかしたらVersion 1803の構築で使えるかもしれません。。。なぜならばVersion 1803は、ここでエラー発生してS2Dが組めていないのです。

-----スクリプト-----
#ホストOSで実行
$vmname1="g2wsip17666s2d1"
Set-VMProcessor -VMName $vmname1 -ExposeVirtualizationExtensions $true
Get-VMNetworkAdapter -VMName $vmname1 | Set-VMNetworkAdapter -MacAddressSpoofing On
Get-VMProcessor -VMName $vmname1 |fl vmname,ExposeVirtualizationExtensions
Get-VMNetworkAdapter -VMName $vmname1 |fl VMName,MacAddressSpoofing

$vmname2="g2wsip17666s2d2"
Set-VMProcessor -VMName $vmname2 -ExposeVirtualizationExtensions $true
Get-VMNetworkAdapter -VMName $vmname2 | Set-VMNetworkAdapter -MacAddressSpoofing On
Get-VMProcessor -VMName $vmname2 |fl vmname,ExposeVirtualizationExtensions
Get-VMNetworkAdapter -VMName $vmname2 |fl VMName,MacAddressSpoofing

$vmname3="g2wsip17666s2d3"
Set-VMProcessor -VMName $vmname3 -ExposeVirtualizationExtensions $true
Get-VMNetworkAdapter -VMName $vmname3 | Set-VMNetworkAdapter -MacAddressSpoofing On
Get-VMProcessor -VMName $vmname3 |fl vmname,ExposeVirtualizationExtensions
Get-VMNetworkAdapter -VMName $vmname3 |fl VMName,MacAddressSpoofing

#以降は、各仮想マシン上で実行

#以降は、1台のみで実行
$myServer1 = "$vmname1.sshzk2016.local"
$user1 = "sshzk2016\sashizaki"
$myServer2 = "$vmname2.sshzk2016.local"
$myServer3 = "$vmname3.sshzk2016.local"

Enter-PSSession -ComputerName $myServer1 -Credential $user1
Set-Item WSMan:\localhost\Client\TrustedHosts "*"
Net localgroup Administrators sshzk2016\sa_s2dcluster /add
Install-WindowsFeature -Name "Data-Center-Bridging","Failover-Clustering","Hyper-V","RSAT-Clustering-PowerShell","Hyper-V-PowerShell" -IncludeManagementTools
shutdown -r -t 0
exit

Enter-PSSession -ComputerName $myServer2 -Credential $user1
Set-Item WSMan:\localhost\Client\TrustedHosts "*"
Net localgroup Administrators sshzk2016\sa_s2dcluster /add
Install-WindowsFeature -Name "Data-Center-Bridging","Failover-Clustering","Hyper-V","RSAT-Clustering-PowerShell","Hyper-V-PowerShell" -IncludeManagementTools
shutdown -r -t 0
exit

Enter-PSSession -ComputerName $myServer3 -Credential $user1
Set-Item WSMan:\localhost\Client\TrustedHosts "*"
Net localgroup Administrators sshzk2016\sa_s2dcluster /add
Install-WindowsFeature -Name "Data-Center-Bridging","Failover-Clustering","Hyper-V","RSAT-Clustering-PowerShell","Hyper-V-PowerShell" -IncludeManagementTools
shutdown -r -t 0
exit

#S2D #1で実行
Test-Cluster -node $myServer1,$myServer2,$myServer3 -include "Storage Spaces Direct",Inventory,Network,"System Configuration"

New-Cluster -name s2dwsip17666 -node $myServer1,$myServer2,$myServer3 -noStorage -static 192.168.3.13

#File Witness
Set-ClusterQuorum -FileShareWitness \\g2ws2016fsis01\fwwsip17666

#ディスククリーンアップ
icm (Get-Cluster -Name s2dwsip17666 | 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

Enable-ClusterStorageSpacesDirect

New-Volume -FriendlyName "CSV01" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 164GB -ResiliencySettingName Mirror
New-Volume -FriendlyName "CSV02" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 164GB -ResiliencySettingName Mirror
New-Volume -FriendlyName "CSV03" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 164GB -ResiliencySettingName Mirror

Get-VirtualDisk

Get-StoragePool
-----以上-----

0 件のコメント:

コメントを投稿