Я тестировал свою среду в течение 30-дневного пробного периода и она мне очень понравилась, но теперь я хочу, чтобы она работала с бесплатной версией. Я начал заново и следовал этим пошаговым инструкциям от StarwindСоздание устройства HA с помощью StarWind Virtual SAN FreeиStarWind Virtual SAN Hyper-Converged 3 Nodes Сценарий с кластером Hyper-V
У меня есть 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()
}
решение1
Во-первых, избавьтесь от групп NIC для сетей хранения и синхронизации. Сети ISCSI используют MPIO, нет необходимости в транкинге, тиминге, связывании и т. д. Также не забудьте включить MPIO в мастере добавления ролей и функций.
Если вы хотите использовать сети 10.0.0.x для трафика iSCSI, конфигурация вашего инициатора ISCSI должна выглядеть следующим образом:
Узел 1 использован в качестве примера
Порталы обнаружения ISCSI:
127.0.0.1 (IP-адрес инициатора — по умолчанию)
10.0.0.130 (IP-адрес инициатора — локальный IP-адрес сети ISCSI между узлом Node1 и узлом Node2)
10.0.0.131 (IP-адрес инициатора — локальный IP-адрес сети ISCSI между узлом Node1 и узлом Node3)
Затем вам нужно будет подключить каждую цель на вкладке «Цели».
Локальные цели должны быть подключены через 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: Трехсторонняя конфигурация репликации «активный-активный-активный» является самой сложной, поэтому приготовьте большую кружку кофе, будьте максимально внимательны и тщательно следуйте каждому шагу в их руководстве.
решение2
После обращения в службу поддержки выяснилось, что проблема была в используемой версии Starwind Free. После перехода на более старую версию проблема была решена. В новейшей Starwind Free этой проблемы больше нет (насколько мне известно).