Как настроить StarWind Virtual SAN Free

Я тестировал свою среду в течение 30-дневного пробного периода и мне очень понравилось, но теперь я хочу, чтобы она работала с бесплатной версией. Я начал все сначала и следовал за этими пошаговыми инструкциями из сценария Starwind Создание устройства высокой доступности с StarWind Virtual SAN Free и StarWind Virtual SAN Hyper-Converged 3 Nodes Сценарий с Hyper-V Cluster

У меня есть 2 устройства (хранилище и свидетель) на 3 узлах, все мои цели были созданы с помощью скриптов Starwind, и я смог выяснить, были ли они синхронизированы.

Одна из моих проблем заключается в том, что я не могу добавить более одного пути к цели. Я могу настроить два моих узла на использование адресов 10.0.0.0, но не адресов 10.0.0.128, а третий узел может использовать 10.0.0.128, но не 10.0.0.0

Другая проблема заключается в том, что если я продолжу и пойду по гиперконвергентному каналу, в разделе "Multipath Configuration" будет указано, что необходимо настроить все устройства для 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()
}

2 ответа

Решение

После разговора в поддержку проблемы была использована версия Starwind Free. После перехода на более старую версию проблема была решена. В новейшей версии Starwind Free эта проблема больше не возникает (насколько я знаю).

Прежде всего, избавьтесь от команд NIC для ваших сетей хранения и синхронизации. Сети ISCSI используют MPIO, нет необходимости в транкинге, группировании, соединении и т. Д. Кроме того, не забудьте включить MPIO в мастере добавления ролей и компонентов.

Предполагая, что вы хотите использовать сети 10.0.0.x для трафика iSCSI, ваша конфигурация инициатора ISCSI должна выглядеть следующим образом:

Узел 1 используется в качестве примера

Порталы ISCSI Discovery:

127.0.0.1 (IP -адрес инициатора - по умолчанию)

10.0.0.130 (IP -адрес инициатора - локальный IP -адрес сети ISCSI между узлом 1 и узлом 2)

10.0.0.131 (IP -адрес инициатора - локальный IP -адрес сети ISCSI между узлом 1 и узлом 3)

Затем вам нужно будет подключить каждую цель на вкладке "Цели".

Локальные цели должны быть подключены через 127.0.0.1 (loopback). Цели на партнерских узлах 2 и 3 должны быть подключены через соответствующие сети iSCSI.

Подробное руководство о том, как подключить каждую цель, можно найти на их сайте.

Кстати, упомянутое вами руководство выглядит устаревшим. У них есть более свежая версия: https://www.starwindsoftware.com/resource-library/starwind-virtual-san-hyper-converged-3-nodes-scenario-with-hyper-v-cluster

После обнаружения порталов и подключения каждой цели на всех трех узлах необходимо правильно настроить пути MPIO. Просто следуйте остальным инструкциям, чтобы достичь этого.

PS: 3-полосная конфигурация репликации "активный-активный-активный" является наиболее сложной, поэтому приготовьте большую кружку кофе, обратите максимальное внимание и внимательно следуйте каждому шагу в своем руководстве.

Другие вопросы по тегам