After performing a routine maintenance on my master node that involved a reboot, all but one of my LUN's recovered to HA status. LUN 'VMPool01' became split into 'VMPool01-01' & 'VMPool01-02'. Normally the alias on the master node is hidden and only the partner node alias shows inside the web dashboard however for this LUN both alias were now showing. There also appeared to be some sync issues so for these reasons I decided to clear the configuration on the master node so that I could resync from the partner node.
After modifying the StarWindX script AddHaPartner.ps1 I was returned some error '200 Failed: operation can not be completed..' which prompted me to run the RemoveHaPartner.ps1 script first. I attempted to run AddHaPartner.ps1 multiple times following this with no success, getting a new error '200 Failed: invalid partner info..'
My next idea was to clear the config from the master node in case this was causing the issue. I SSH'd into the CVM console and removed the header files for the LUN from the storage volume as well as the configuration header files from the '/opt/starwind/starwind-virtual-san/drive_c/starwind/headers/' directory. This did not resolve the issue and I am still plagued with a '200 Failed' code for invalid partner info.
Node 1 (Master):
Version: 1.6.578.7343
Nic 1: 10.10.10.28
Nic 2: 192.168.10.10
Nic 3: 192.168.20.10
Node 2 (Partner):
Version: 1.6.578.7343
Nic 1: 10.10.10.141
Nic 2: 192.168.10.20
Nic 3: 192.168.20.20
Script:
Code: Select all
param($addr="10.10.10.141", $port=3261, $user="root", $password="starwind", $deviceName="HAImage5",
$addr2="10.10.10.28", $port2=$port, $user2=$user, $password2=$password,
#secondary node
$imagePath2="VSA Storage\mnt\sdb1\volume0",
$imageName2="masterVMPool01",
$createImage2=$true,
$targetAlias2="VMPool01-01",
$autoSynch2=$true,
$poolName2="sdb1",
$syncSessionCount2=1,
$aluaOptimized2=$true,
$syncInterface2="#p1={0}:3260" -f "192.168.20.10",
$hbInterface2="",
$bmpType=1,
$bmpStrategy=0,
$bmpFolderPath="",
$selfSyncInterface="#p1={0}:3260" -f "192.168.20.20",
$selfHbInterface="#p1={0}:3260" -f "192.168.10.20"
)
Import-Module StarWindX
try
{
Enable-SWXLog
$server = New-SWServer $addr $port $user $password
$server.Connect()
$device = Get-Device $server -name $deviceName
if( !$device )
{
Write-Host "Device not found" -foreground red
return
}
$node = new-Object Node
$node.HostName = $addr2
$node.HostPort = $port2
$node.Login = $user2
$node.Password = $password2
$node.ImagePath = $imagePath2
$node.ImageName = $imageName2
$node.CreateImage = $createImage2
$node.TargetAlias = $targetAlias2
$node.SyncInterface = $syncInterface2
$node.HBInterface = $hbInterface2
$node.AutoSynch = $autoSynch2
$node.SyncSessionCount = $syncSessionCount2
$node.ALUAOptimized = $aluaOptimized2
$node.PoolName = $poolName2
$node.BitmapStoreType = $bmpType
$node.BitmapStrategy = $bmpStrategy
$node.BitmapFolderPath = $bmpFolderPath
Add-HAPartner $device $node $selfSyncInterface $selfHbInterface $selfBmpFolderPath
}
catch
{
Write-Host $_ -foreground red
}
finally
{
$server.Disconnect()
}