Page 1 of 1

200 Failed: invalid partner info..

Posted: Fri Feb 14, 2025 8:43 pm
by GSI
Hi all,

I already went through thr forum and searched for a solution. I followed all the recommended solutions, and non has worked for me.
I am using the free VSAN and trying to use the CreateHAPartnerWitness.ps1.
Everytime I run it, I get this error message:

Request to PDX-VSAN.GSIWS.LOCAL ( 192.168.123.100 ) : 3261
-
control HAImage -CreateHeader:"Headers\Instance\Instance_HA.swdsk" -pathDirHeaderBackup:"My computer\S" -file:"imagefile1" -size:"12" -Priority:"#p0=0;#p1=1;#p2=2" -nodeType:"#p0=1;#p1=1;#p2=8
" -PartnerTargetName:"#p1=iqn.2008-08.com.starwindsoftware:las-vsan-instance;#p2=iqn.2008-08.com.starwindsoftware:192.168.127.9-instance" -PartnerIP:"#p1=192.168.130.101:sync:3260:1;#p2=192.16
8.127.100:sync:3260:1" -IsAutoSynchEnabled:"0" -AuthChapLogin:"#p1=0b;#p2=0b" -AuthChapPassword:"#p1=0b;#p2=0b" -AuthMChapName:"#p1=0b;#p2=0b" -AuthMChapSecret:"#p1=0b;#p2=0b" -AuthChapType:"#
p1=none;#p2=none" -Offset:"0" -CacheMode:"none" -CacheSizeMB:"0" -serial:"3350FBCD5DDEF810" -eui64:"3350FBCD5DDEF810" -revision:"0001" -product:"STARWIND" -vendor:"STARWIND" -FailoverConfType:
"1" -Replicator:"#p0=0" -WitnessType:"0" -AluaAccessState:"#p0=0;#p1=1;#p2=1"
-
200 Failed: invalid partner info..

Here is my script that run:

param($addr="192.168.123.100", $port=3261, $user="root", $password="starwind",
$addr2="192.168.130.100", $port2=$port, $user2=$user, $password2=$password,
$addrW="192.168.127.9", $portW=$port, $userW=$user, $passwordW=$password,
#common
$initMethod="SyncFromFirst",
$size=12,
$sectorSize=512,
$failover=1,
#$bmpType=1,
#$bmpStrategy=0,
#primary node
$imagePath="My computer\S",
$imageName="Instance",
$createImage=$true,
$storageName="",
$targetAlias="instance",
$poolName="",
$syncSessionCount=1,
$aluaOptimized=$true,
$cacheMode="none",
$cacheSize=0,
$syncInterface=$("#p2=192.168.130.101:3260;#p3=192.168.127.100:3260" -f $addr2,$addrW),
$hbInterface="",
$createTarget=$true,
#$bmpFolderPath="",
#secondary node
$imagePath2="My computer\S",
$imageName2="Instance",
$createImage2=$true,
$storageName2="",
$targetAlias2="instance",
$poolName2="",
$syncSessionCount2=1,
$aluaOptimized2=$false,
$cacheMode2=$cacheMode,
$cacheSize2=$cacheSize,
$syncInterface2=$("#p1=175.1.1.7:3260;#p3=192.168.127.100:3260" -f $addr,$addrW),
$hbInterface2="",
$createTarget2=$true,
#$bmpFolderPath2="",
#third node
$imagePathW="D:\",
$imageNameW="Instance",
$targetAliasW="instance",
$syncInterfaceW=$("#p1=175.1.1.7:3260;#p2=192.168.130.101:3260" -f $addr,$addr2),
$hbInterfaceW="",
$nodeTypeW=8
)

Import-Module StarWindX

try
{
Enable-SWXLog

$server = New-SWServer -host $addr -port $port -user $user -password $password

$server.Connect()

$firstNode = new-Object Node

$firstNode.HostName = $addr
$firstNode.HostPort = $port
$firstNode.ImagePath = $imagePath
$firstNode.ImageName = $imageName
$firstNode.Size = $size
$firstNode.CreateImage = $createImage
$firstNode.StorageName = $storageName
$firstNode.TargetAlias = $targetAlias
$firstNode.SyncInterface = $syncInterface
$firstNode.HBInterface = $hbInterface
$firstNode.PoolName = $poolName
$firstNode.SyncSessionCount = $syncSessionCount
$firstNode.ALUAOptimized = $aluaOptimized
$firstNode.SectorSize = $sectorSize
$firstNode.CacheMode = $cacheMode
$firstNode.CacheSize = $cacheSize
$firstNode.FailoverStrategy = $failover
$firstNode.CreateTarget = $createTarget
#$firstNode.BitmapStoreType = $bmpType
#$firstNode.BitmapStrategy = $bmpStrategy
#$firstNode.BitmapFolderPath = $bmpFolderPath

$secondNode = new-Object Node

$secondNode.HostName = $addr2
$secondNode.HostPort = $port2
$secondNode.Login = $user2
$secondNode.Password = $password2
$secondNode.ImagePath = $imagePath2
$secondNode.ImageName = $imageName2
$secondNode.CreateImage = $createImage2
$secondNode.StorageName = $storageName2
$secondNode.TargetAlias = $targetAlias2
$secondNode.SyncInterface = $syncInterface2
$secondNode.HBInterface = $hbInterface2
$secondNode.SyncSessionCount = $syncSessionCount2
$secondNode.ALUAOptimized = $aluaOptimized2
$secondNode.CacheMode = $cacheMode2
$secondNode.CacheSize = $cacheSize2
$secondNode.FailoverStrategy = $failover
$secondNode.CreateTarget = $createTarget2
#$secondNode.BitmapFolderPath = $bmpFolderPath2

$thirdNode = new-Object Node

$thirdNode.HostName = $addrW
$thirdNode.HostPort = $portW
$thirdNode.Login = $userW
$thirdNode.Password = $passwordW
$thirdNode.ImagePath = $imagePathW
$thirdNode.ImageName = $imageNameW
$thirdNode.TargetAlias = $targetAliasW
$thirdNode.SyncInterface = $syncInterfaceW
$thirdNode.HBInterface = $hbInterfaceW
$thirdNode.FailoverStrategy = $failover
$thirdNode.Type = $nodeTypeW

$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -thirdNode $thirdNode -initMethod $initMethod

$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 yello
}
finally
{
$server.Disconnect()
}

Thank you in advance...

Re: 200 Failed: invalid partner info..

Posted: Sun Feb 16, 2025 11:24 am
by yaroslav (staff)

Re: 200 Failed: invalid partner info..

Posted: Sun Feb 16, 2025 5:14 pm
by GSI
Hi Yaroslav,

I already looked at that topic you referred to.
The script there applies to two nodes that are in the same location.
I have two nodes, each one is at a different location (geo-location), and I have a third location node just as a witness.
I am trying to use Node Majority and not heartbeat.
As I said in my original post, I tried everything, when I run the script, it does create the image on the first node, but not the second or the witness node.
IPs are correct, ports are specified, connection is good.
Any help is really appreciated.

Re: 200 Failed: invalid partner info..

Posted: Sun Feb 16, 2025 9:34 pm
by yaroslav (staff)
The script has useful hints that apply to your scenario (e.g., leaving out -f $addr from the channel lines, poolName parameter, etc).
Please also try a bigger size and return the default value for the poolName parameter.
What I am also thinking is commenting on the HB interface areas.

Re: 200 Failed: invalid partner info..

Posted: Wed Feb 19, 2025 12:07 am
by GSI
I followed the script and the hints, still same error.
Do you think the free VSAN doesn't support multi-location?
I have each node in a different location with different subnets, but they have IPSEC VPN connection.

Re: 200 Failed: invalid partner info..

Posted: Wed Feb 19, 2025 5:35 am
by yaroslav (staff)
No, it does support, I believe there is something missing in the script or networking is not OK (e.g., firewall, or latency). Please share the script with me.

Re: 200 Failed: invalid partner info..

Posted: Wed Feb 19, 2025 10:59 pm
by GSI
hi again,

I guess the scripts is working on creating the images on all nodes now after re-installing the software again.
The issue that I am running into now is the sync. when I run the script, it creates the image and the target on all nodes, and it starts the synchronization, but I waited almost two hours and still at 0%. Also, it says that the device is not synchronized and down.
I can ping all IPs and I know for sure that communication between all nodes on those Ips are fine.

Node1:
Management=192.168.123.100
Sync= 175.2.2.6
ISCSI= 172.2.2.6

Node2:
Management= 192.168.130.100
Sync= 173.1.1.7
ISCSI= 173.2.2.6

Node3 = Only as a witness for Node Majority-
Management= 192.168.127.9
Sync= 192.168.127.100

Code: Select all

param($addr="192.168.123.100", $port=3261, $user="root", $password="starwind",
	$addr2="192.168.130.100", $port2=$port, $user2=$user, $password2=$password,
	$addrW="192.168.127.9", $portW=$port, $userW=$user, $passwordW=$password,
#common
	$initMethod="SyncFromFirst",
	$size=1024,
	$sectorSize=512,
	$failover=1,
	$bmpType=1,
	$bmpStrategy=0,
#primary node
	$imagePath="My computer\S\Instance",
	$imageName="Instance",
	$createImage=$true,
	$storageName="",
	$targetAlias="Instance",
	$poolName="pool1",
	$syncSessionCount=1,
	$aluaOptimized=$true,
	$cacheMode="none",
	$cacheSize=0,
	$syncInterface="#p2=173.1.1.7:3260;#p3=192.168.127.100:3260",
	$hbInterface="#p2=173.1.1.7:3260;#p3=192.168.127.100:3260",
	$createTarget=$true,
	$bmpFolderPath="",
#secondary node
	$imagePath2="My computer\S\Instance",
	$imageName2="Instance",
	$createImage2=$true,
	$storageName2="",
	$targetAlias2="Instance",
	$poolName2="pool1",
	$syncSessionCount2=1,
	$aluaOptimized2=$false,
	$cacheMode2=$cacheMode,
	$cacheSize2=$cacheSize,
	$syncInterface2="#p1=175.2.2.6:3260;#p3=192.168.127.100:3260",
	$hbInterface2="#p1=175.2.2.6:3260;#p3=192.168.127.100:3260",
	$createTarget2=$true,
	$bmpFolderPath2="",
#third node
	$imagePathW="My computer\S\starwind",
	$imageNameW="Instance",
	$targetAliasW="Instance",
	$syncInterfaceW="#p1=175.2.2.6:3260;#p2=173.1.1.7:3260" ,
	$hbInterfaceW="",
	$nodeTypeW=8
	)

Import-Module StarWindX

try
{
	Enable-SWXLog

	$server = New-SWServer -host $addr -port $port -user $user -password $password

	$server.Connect()
    
	$firstNode = new-Object Node

	$firstNode.HostName = $addr
	$firstNode.HostPort = $port
	$firstNode.ImagePath = $imagePath
	$firstNode.ImageName = $imageName
	$firstNode.Size = $size
	$firstNode.CreateImage = $createImage
	$firstNode.StorageName = $storageName
	$firstNode.TargetAlias = $targetAlias
	$firstNode.SyncInterface = $syncInterface
	$firstNode.HBInterface = $hbInterface
	$firstNode.PoolName = $poolName
	$firstNode.SyncSessionCount = $syncSessionCount
	$firstNode.ALUAOptimized = $aluaOptimized
	$firstNode.SectorSize = $sectorSize
	$firstNode.CacheMode = $cacheMode
	$firstNode.CacheSize = $cacheSize
	$firstNode.FailoverStrategy = $failover
	$firstNode.CreateTarget = $createTarget
	$firstNode.BitmapStoreType = $bmpType
	$firstNode.BitmapStrategy = $bmpStrategy
	$firstNode.BitmapFolderPath = $bmpFolderPath
                                                   
	$secondNode = new-Object Node

	$secondNode.HostName = $addr2
	$secondNode.HostPort = $port2
	$secondNode.Login = $user2
	$secondNode.Password = $password2
	$secondNode.ImagePath = $imagePath2
	$secondNode.ImageName = $imageName2
	$secondNode.CreateImage = $createImage2
	$secondNode.StorageName = $storageName2
	$secondNode.TargetAlias = $targetAlias2
	$secondNode.SyncInterface = $syncInterface2
	$secondNode.HBInterface = $hbInterface2
	$secondNode.SyncSessionCount = $syncSessionCount2
	$secondNode.ALUAOptimized = $aluaOptimized2
	$secondNode.CacheMode = $cacheMode2
	$secondNode.CacheSize = $cacheSize2
	$secondNode.FailoverStrategy = $failover
	$secondNode.CreateTarget = $createTarget2
	$secondNode.BitmapFolderPath = $bmpFolderPath2

	$thirdNode = new-Object Node

	$thirdNode.HostName = $addrW
	$thirdNode.HostPort = $portW
	$thirdNode.Login = $userW
	$thirdNode.Password = $passwordW
	$thirdNode.ImagePath = $imagePathW
	$thirdNode.ImageName = $imageNameW
	$thirdNode.TargetAlias = $targetAliasW
	$thirdNode.SyncInterface = $syncInterfaceW
	$thirdNode.HBInterface = $hbInterfaceW
	$thirdNode.FailoverStrategy = $failover
	$thirdNode.Type = $nodeTypeW

	$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -thirdNode $thirdNode -initMethod $initMethod

	$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 Yellow
}
finally
{
	$server.Disconnect()
}


Re: 200 Failed: invalid partner info..

Posted: Thu Feb 20, 2025 7:08 am
by yaroslav (staff)
It is not about ping but latencies, I believe. Please pull the logs from all 3 machines and share those with me.
In CVM, you can generate the support bundle in the gear-shaped menu -> Press the VM name -> Support bundle. Share that here https://www.starwindsoftware.com/support-form. Use 1285143 as your reference, otherwise, the case might not be investigated.

Re: 200 Failed: invalid partner info..

Posted: Thu Feb 20, 2025 7:24 pm
by GSI
Sorry, but I have no idea what you're talking about :).
I don't know where to look for the gear-shaped menu-> Press the VM name -> Support bundle.

It looks like you are talking about the CVM program, and I am using the VSAN on Windows.

Re: 200 Failed: invalid partner info..

Posted: Thu Feb 20, 2025 7:46 pm
by yaroslav (staff)
Got it. Please pull the logs as described here https://knowledgebase.starwindsoftware. ... collector/ and let me know what is the device name you are trying to sync

Re: 200 Failed: invalid partner info..

Posted: Thu Mar 13, 2025 4:21 pm
by Kawior9
GSI wrote:
Fri Feb 14, 2025 8:43 pm
Hi all,

I already went through thr forum and searched for a solution. I followed all the recommended solutions, and non has worked for me.
I am using the free VSAN and trying to use the CreateHAPartnerWitness.ps1.
Everytime I run it, I get this error message:

Request to PDX-VSAN.GSIWS.LOCAL ( 192.168.123.100 ) : 3261
-
control HAImage -CreateHeader:"Headers\Instance\Instance_HA.swdsk" -pathDirHeaderBackup:"My computer\S" -file:"imagefile1" -size:"12" -Priority:"#p0=0;#p1=1;#p2=2" -nodeType:"#p0=1;#p1=1;#p2=8
" -PartnerTargetName:"#p1=iqn.2008-08.com.starwindsoftware:las-vsan-instance;#p2=iqn.2008-08.com.starwindsoftware:192.168.127.9-instance" -PartnerIP:"#p1=192.168.130.101:sync:3260:1;#p2=192.16
8.127.100:sync:3260:1" -IsAutoSynchEnabled:"0" -AuthChapLogin:"#p1=0b;#p2=0b" -AuthChapPassword:"#p1=0b;#p2=0b" -AuthMChapName:"#p1=0b;#p2=0b" -AuthMChapSecret:"#p1=0b;#p2=0b" -AuthChapType:"#
p1=none;#p2=none" -Offset:"0" -CacheMode:"none" -CacheSizeMB:"0" -serial:"3350FBCD5DDEF810" -eui64:"3350FBCD5DDEF810" -revision:"0001" -product:"STARWIND" -vendor:"STARWIND" -FailoverConfType:
"1" -Replicator:"#p0=0" -WitnessType:"0" -AluaAccessState:"#p0=0;#p1=1;#p2=1"
-
200 Failed: invalid partner info..

Here is my script that run:

param($addr="192.168.123.100", $port=3261, $user="root", $password="starwind",
$addr2="192.168.130.100", $port2=$port, $user2=$user, $password2=$password,
$addrW="192.168.127.9", $portW=$port, $userW=$user, $passwordW=$password,
#common
$initMethod="SyncFromFirst",
$size=12,
$sectorSize=512,
$failover=1,
#$bmpType=1,
#$bmpStrategy=0,
#primary node
$imagePath="My computer\S",
$imageName="Instance",
$createImage=$true,
$storageName="",
$targetAlias="instance",
$poolName="",
$syncSessionCount=1,
$aluaOptimized=$true,
$cacheMode="none",
$cacheSize=0,
$syncInterface=$("#p2=192.168.130.101:3260;#p3=192.168.127.100:3260" -f $addr2,$addrW),
$hbInterface="",
$createTarget=$true,
#$bmpFolderPath="",
#secondary node
$imagePath2="My computer\S",
$imageName2="Instance",
$createImage2=$true,
$storageName2="",
$targetAlias2="instance",
$poolName2="",
$syncSessionCount2=1,
$aluaOptimized2=$false,
$cacheMode2=$cacheMode,
$cacheSize2=$cacheSize,
$syncInterface2=$("#p1=175.1.1.7:3260;#p3=192.168.127.100:3260" -f $addr,$addrW),
$hbInterface2="",
$createTarget2=$true,
#$bmpFolderPath2="",
#third node
$imagePathW="D:\",
$imageNameW="Instance",
$targetAliasW="instance",
$syncInterfaceW=$("#p1=175.1.1.7:3260;#p2=192.168.130.101:3260" -f $addr,$addr2),
$hbInterfaceW="",
$nodeTypeW=8
)

Import-Module StarWindX

try
{
Enable-SWXLog

$server = New-SWServer -host $addr -port $port -user $user -password $password

$server.Connect()

$firstNode = new-Object Node

$firstNode.HostName = $addr
$firstNode.HostPort = $port
$firstNode.ImagePath = $imagePath
$firstNode.ImageName = $imageName
$firstNode.Size = $size
$firstNode.CreateImage = $createImage
$firstNode.StorageName = $storageName
$firstNode.TargetAlias = $targetAlias
$firstNode.SyncInterface = $syncInterface
$firstNode.HBInterface = $hbInterface
$firstNode.PoolName = $poolName
$firstNode.SyncSessionCount = $syncSessionCount
$firstNode.ALUAOptimized = $aluaOptimized
$firstNode.SectorSize = $sectorSize
$firstNode.CacheMode = $cacheMode
$firstNode.CacheSize = $cacheSize
$firstNode.FailoverStrategy = $failover
$firstNode.CreateTarget = $createTarget
#$firstNode.BitmapStoreType = $bmpType
#$firstNode.BitmapStrategy = $bmpStrategy
#$firstNode.BitmapFolderPath = $bmpFolderPath

$secondNode = new-Object Node

$secondNode.HostName = $addr2
$secondNode.HostPort = $port2
$secondNode.Login = $user2
$secondNode.Password = $password2
$secondNode.ImagePath = $imagePath2
$secondNode.ImageName = $imageName2
$secondNode.CreateImage = $createImage2
$secondNode.StorageName = $storageName2
$secondNode.TargetAlias = $targetAlias2
$secondNode.SyncInterface = $syncInterface2
$secondNode.HBInterface = $hbInterface2
$secondNode.SyncSessionCount = $syncSessionCount2
$secondNode.ALUAOptimized = $aluaOptimized2
$secondNode.CacheMode = $cacheMode2
$secondNode.CacheSize = $cacheSize2
$secondNode.FailoverStrategy = $failover
$secondNode.CreateTarget = $createTarget2
#$secondNode.BitmapFolderPath = $bmpFolderPath2

$thirdNode = new-Object Node

$thirdNode.HostName = $addrW
$thirdNode.HostPort = $portW
$thirdNode.Login = $userW
$thirdNode.Password = $passwordW
$thirdNode.ImagePath = $imagePathW
$thirdNode.ImageName = $imageNameW
$thirdNode.TargetAlias = $targetAliasW
$thirdNode.SyncInterface = $syncInterfaceW
$thirdNode.HBInterface = $hbInterfaceW
$thirdNode.FailoverStrategy = $failover
$thirdNode.Type = $nodeTypeW

$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -thirdNode $thirdNode -initMethod $initMethod

$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 yello
}
finally
{
$server.Disconnect()
}

Thank you in advance...
Double check the partner target names and IP addresses, maybe there's a typo or mismatch.

Re: 200 Failed: invalid partner info..

Posted: Thu Mar 20, 2025 2:55 pm
by AlexeyK
Seems like I have the same problem as GSI with sync being stuck at 3%.
Was it ever resolved? How?

I use CreateHAPartnerWitness.ps1 with 3 servers with clean setup.
Any other configuration (like 2 nodes with heartbeat or 2 nodes + SMB witness with node majority) are working perfectly fine.

Only HA Partner Witness setup have a problem of synchronization being stuck at 3% or 8% for hours with 12MB sample disk.
Firewall is disabled and the only changes in script are the IP addresses of the nodes and paths.

Re: 200 Failed: invalid partner info..

Posted: Tue Apr 08, 2025 9:41 pm
by yaroslav (staff)
Alexey,

I believe you were able to force synchronize it with the script

Re: 200 Failed: invalid partner info..

Posted: Mon May 19, 2025 1:44 am
by thomasfrank86
Have you tried to check the TargetAlias, SyncInterface, and especially PartnerTargetName configuration to see if there are any duplicates or incorrect formats? I see that sometimes just a small thing like missing a prefix iqn, or a wrong IP on a node, will cause this error to pop up immediately. Also, have you tried running each part separately (HA 2 nodes first, then add Witness later)?