Como configurar o StarWind Virtual SAN Free

3

Testei meu ambiente durante a avaliação de 30 dias e gostei muito, mas agora quero que funcione com a versão gratuita. Eu comecei de novo e segui estes passos de Starwind Criando um Dispositivo HA com StarWind Virtual SAN Free e Cenário Hyper-Converged de 3 SANs do Virtual SAN da StarWind com o Hyper-V Cluster

Eu tenho dois dispositivos (armazenamento e testemunha) em três nós, todos os meus alvos foram criados com os scripts do Starwind e consegui descobrir que eles estavam sincronizados.

Um dos meus problemas é que não posso adicionar mais de um caminho ao destino. Posso configurar dois dos meus nós para usar os endereços 10.0.0.0, mas não os endereços 10.0.0.128 e o terceiro nó pode usar 10.0.0.128, mas não 10.0.0.0

O outro problema é se eu continuar e seguir o link Hyper-converged, em "Multipath Configuration", ele diz para configurar todos os dispositivos para o MPIO, mas meus dispositivos não têm nenhuma conexão ??

Eu tentei com apenas um caminho quando tive o teste e funcionou sem esse tipo de problema, então sei que é um erro de configuração em algum lugar, mas não consigo encontrá-lo.

Os scripts que usei:

  • CreateHA (criou os dispositivos)
  • enumDevicesTargets (confirme o dispositivos e alvos estão lá)
  • haSyncPriority (o nome já diz tudo)
  • SyncHaDeviceAdvanced (verifique se eles estão sincronizados, o que fazer se não)

Eu refiz a instalação do Starwind para ver se cometi um erro, mas o problema ainda está lá.

Aqui está a configuração "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()
}
    
por Carobell 12.03.2018 / 18:37

1 resposta

6

Primeiro, livre-se das equipes de NIC para suas redes de armazenamento e sincronização. As redes ISCSI utilizam o MPIO, não há necessidade de entroncamento, formação de equipes, vinculação, etc. Além disso, não se esqueça de ativar o MPIO no assistente Adicionar Funções e Recursos.

Supondo que você queira usar as redes 10.0.0.x para o tráfego iSCSI, sua configuração do ISISI Initiator deve ficar assim:

Nó 1 usado como exemplo

Portais ISCSI Discovery:

127.0.0.1 (IP do iniciador - padrão)

10.0.0.130 (IP do iniciador - IP local da rede ISCSI entre o Nó1 e o Nó2)

10.0.0.131 (IP do iniciador - IP local da rede ISCSI entre o Nó1 e o Nó3)

Em seguida, você precisará conectar cada alvo na guia "Segmentações".

Os destinos locais devem estar conectados por meio de 127.0.0.1 (loopback). As metas nos nós parceiros 2 e 3 devem ser conectadas por meio de redes iSCSI correspondentes.

O guia detalhado sobre como conectar cada alvo pode ser encontrado em seu site.

A propósito, o guia que você mencionou parece desatualizado. Eles têm um mais recente: link

Depois de descobrir portais e conectar cada alvo em todos os três nós, você deve configurar corretamente os caminhos do MPIO. Basta seguir o resto da orientação para conseguir isso.

P.S .: A configuração de replicação "ativo-ativo-ativo" de 3 vias é a mais complexa, então prepare uma xícara de café grande, preste atenção máxima e siga cuidadosamente cada passo de seu guia.

    
por 19.03.2018 / 13:03