Как настроить 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-полосная конфигурация репликации "активный-активный-активный" является наиболее сложной, поэтому приготовьте большую кружку кофе, обратите максимальное внимание и внимательно следуйте каждому шагу в своем руководстве.