如何配置 StarWind Virtual SAN Free

如何配置 StarWind Virtual SAN Free

我在 30 天试用期间测试了我的环境,非常喜欢它,但现在我想让它与免费版本一起工作。我重新开始,并按照 Starwind 的这些演练进行操作使用 StarWind Virtual SAN Free 创建 HA 设备带有 Hyper-V 群集的 StarWind Virtual SAN 超融合 3 节点场景

我在 3 个节点上有 2 个设备(存储和见证),所有目标都是用 Starwind 的脚本创建的,并且我能够弄清楚它们是同步的。

我遇到的一个问题是,我无法向目标添加多条路径。我可以将两个节点配置为使用 10.0.0.0 地址,但不能使用 10.0.0.128 地址,第三个节点可以使用 10.0.0.128,但不能使用 10.0.0.0

另一个问题是,如果我继续并按照超融合链接,在“多路径配置”下,它会说为 MPIO 配置所有设备,但我的设备没有任何连接??

我在试用时只尝试了一条路径,并且没有出现此类问题,所以我知道某个地方的配置错误,但我似乎找不到它。

我使用的脚本:

  • 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。

假设您想要使用 10.0.0.x 网络进行 iSCSI 通信,您的 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 网络连接。

您可以在他们的网站上找到有关如何连接每个目标的详细指南。

顺便说一句,你提到的指南看起来已经过时了。他们有一个更新的版本:https://www.starwindsoftware.com/resource-library/starwind-virtual-san-hyper-converged-3-nodes-scenario-with-hyper-v-cluster

发现门户并连接所有三个节点上的每个目标后,您应该正确配置 MPIO 路径。只需按照其余指导即可实现此目的。

PS:3 路“主动-主动-主动”复制配置是最复杂的,因此请准备一大杯咖啡,全神贯注并仔细按照指南中的每个步骤进行操作。

答案2

与支持人员沟通后发现问题出在所使用的 Starwind Free 版本上。升级到旧版本后问题解决。最新的 Starwind Free 不再存在此问题(据我所知)。

相关内容