30日間の試用期間中に自分の環境をテストし、とても気に入りましたが、今は無料版で動作させたいと思っています。最初からやり直し、Starwindのこれらのウォークスルーに従いました。StarWind Virtual SAN Free を使用した HA デバイスの作成そしてStarWind Virtual SAN ハイパーコンバージド 3 ノード シナリオ (Hyper-V クラスターを使用)
3 つのノードに 2 つのデバイス (ストレージと監視) があり、すべてのターゲットは Starwind のスクリプトを使用して作成されており、それらが同期されていることが分かりました。
問題の 1 つは、ターゲットに複数のパスを追加できないことです。2 つのノードを 10.0.0.0 アドレスを使用するように構成できますが、10.0.0.128 アドレスを使用するように構成することはできません。3 番目のノードは 10.0.0.128 を使用できますが、10.0.0.0 は使用できません。
もう 1 つの問題は、Hyper-converged リンクを続行すると、「マルチパス構成」の下にすべてのデバイスを MPIO 用に構成するように指示されているのに、デバイスに接続がないことです。
試用時に 1 つのパスだけで試したところ、このような問題は発生せず動作したため、どこかの設定ミスであることはわかっていますが、それを見つけることができません。
使用したスクリプト:
- CreateHA (デバイスの作成)
- enumDevicesTargets (デバイスとターゲットが存在することを確認する)
- haSyncPriority (名前がすべてを物語っています)
- SyncHaDeviceAdvanced (同期されているかどうかを確認し、同期されていない場合は実行する操作)
間違いがないか確認するために、starwind のインストールをやり直しましたが、問題は依然として残っています。
「CreateHA」の設定は次のとおりです。
Import-Module StarWindX
try
{
$server = New-SWServer -host 127.0.0.1 -port 3261 -user root -password starwind
$server.Connect()
$firstNode = new-Object Node
$firstNode.HostName = "127.0.0.1"
$firstNode.ImagePath = "My computer\S\Storage"
$firstNode.ImageName = "Storage"
$firstNode.Size = 1536000
$firstNode.CreateImage = $true
$firstNode.TargetAlias = "Storage"
$firstNode.AutoSynch = $true
$firstNode.SyncInterface = "#p2=10.0.0.2:3260;#p3=10.0.0.3:3260"
$firstNode.HBInterface = "#p2=10.0.0.130:3260;#p3=10.0.0.131:3260"
$firstNode.PoolName = ""
$firstNode.SyncSessionCount = 1
$firstNode.ALUAOptimized = $true
$firstNode.SectorSize = 4096
$secondNode = new-Object Node
$secondNode.HostName = "192.168.0.42"
$secondNode.HostPort = "3261"
$secondNode.Login = "root"
$secondNode.Password = "starwind"
$secondNode.ImagePath = "My computer\S\Storage"
$secondNode.ImageName = "Storage"
$secondNode.Size = 1536000
$secondNode.CreateImage = $true
$secondNode.TargetAlias = "Storage"
$secondNode.AutoSynch = $true
$secondNode.SyncInterface = "#p1=10.0.0.1:3260;#p3=10.0.0.3:3260"
$secondNode.HBInterface = "#p1=10.0.0.129:3260;#p3=10.0.0.131:3260"
$secondNode.SyncSessionCount = 1
$secondNode.ALUAOptimized = $true
$thirdNode = new-Object Node
$thirdNode.HostName = "192.168.0.43"
$thirdNode.HostPort = "3261"
$thirdNode.Login = "root"
$thirdNode.Password = "starwind"
$thirdNode.ImagePath = "My computer\S\Storage"
$thirdNode.ImageName = "Storage"
$thirdNode.Size = 1536000
$thirdNode.CreateImage = $true
$thirdNode.TargetAlias = "Storage"
$thirdNode.AutoSynch = $true
$thirdNode.SyncInterface = "#p1=10.0.0.1:3260;#p2=10.0.0.2:3260"
$thirdNode.HBInterface = "#p1=10.0.0.129:3260;#p2=10.0.0.130:3260"
$thirdNode.SyncSessionCount = 1
$thirdNode.ALUAOptimized = $true
$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -thirdNode $thirdNode -initMethod "Clear"
$syncState = $device.GetPropertyValue("ha_synch_status")
while ($syncState -ne "1")
{
#
# Refresh device info
#
$device.Refresh()
$syncState = $device.GetPropertyValue("ha_synch_status")
$syncPercent = $device.GetPropertyValue("ha_synch_percent")
Start-Sleep -m 2000
Write-Host "Synchronizing: $($syncPercent)%" -foreground yellow
}
}
catch
{
Write-Host $_ -foreground red
}
finally
{
$server.Disconnect()
}
答え1
まず、ストレージおよび同期ネットワークの NIC チームを削除します。ISCSI ネットワークは MPIO を活用するため、トランキング、チーミング、ボンディングなどは必要ありません。また、役割と機能の追加ウィザードで MPIO を有効にすることを忘れないでください。
iSCSI トラフィックに 10.0.0.x ネットワークを使用する場合、ISCSI イニシエーターの構成は次のようになります。
例としてノード1を使用
ISCSI 検出ポータル:
127.0.0.1 (イニシエーター IP - デフォルト)
10.0.0.130 (イニシエーター IP - ノード 1 と ノード 2 間の ISCSI ネットワークのローカル IP)
10.0.0.131 (イニシエーター IP - ノード 1 と ノード 3 間の ISCSI ネットワークのローカル IP)
次に、「ターゲット」タブで各ターゲットを接続する必要があります。
ローカル ターゲットは 127.0.0.1 (ループバック) を介して接続する必要があります。パートナー ノード 2 および 3 上のターゲットは、対応する iSCSI ネットワークを介して接続する必要があります。
各ターゲットへの接続方法の詳細なガイドは、各社の Web サイトに掲載されています。
ちなみに、あなたが言及したガイドは古くなっているようです。もっと新しいガイドがあります:https://www.starwindsoftware.com/resource-library/starwind-virtual-san-hyper-converged-3-nodes-scenario-with-hyper-v-cluster
ポータルを検出し、3 つのノードすべてで各ターゲットを接続した後、MPIO パスを適切に構成する必要があります。これを実現するには、残りのガイダンスに従ってください。
PS: 3 方向の「アクティブ-アクティブ-アクティブ」レプリケーション構成は最も複雑なので、大きなマグカップにコーヒーを用意し、最大限の注意を払って、ガイドの各手順に注意深く従ってください。
答え2
サポートに問い合わせたところ、問題は使用されている Starwind Free のバージョンにあることがわかりました。古いバージョンにしたところ、問題は解決しました。最新の Starwind Free では、この問題は発生しません (私の知る限り)。