Starwind Virtual San Free as CVM on Hyper-V invalid partner info

Software-based VM-centric and flash-friendly VM storage + free version
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Mon Nov 04, 2024 4:00 pm

Hi,

I'm trying your Free product on a 2-node config consisting of 2 HP Proliant DL380 Gen 9's.
Last week I tried the configuration as a Windows application but got struck on the CreateHA_2.ps1 script.
I got errors all over and after diving into all suggested posts on those matters and trying out every suggested thing, I gave up on that.

So I tried the configuration as a CVM instead and the Web UI has proved to be a great help.
I now managed to configure everything (network, physical disks, storage pools and volumes) and all configurations passed the checks. So far so good. :-)
Unfortunately the script keeps spawning the following error and despite the fact I can reach all networks from both CVMs I can't get both to communicate with each other:

200 Failed: invalid partner info..

Here is the NIC Configuration:

Node 1:
192.168.22.95 - Host
192.168.22.50 - CVM
172.16.20.50 - Sync
172.16.50.50 - Sync2
172.16.10.50 - Heartbeat
172.16.40.50 - Heartbeat2

Node 2:
192.168.22.96 - Host
192.168.22.51 - CVM
172.16.20.51 - Sync
172.16.50.51 - Sync2
172.16.10.51 - Heartbeat
172.16.40.51 - Heartbeat2

Here is the script I am currently using (single NICs for testing):

Code: Select all

param($addr="192.168.22.50", $port=3261, $user="root", $password="starwind",
      $addr2="192.168.22.51", $port2=$port, $user2=$user, $password2=$password,
#common
	$initMethod="SyncFromFirst",
	$size=3056000,
	$sectorSize=512,
	$failover=0,
#	$bmpType=1,
#	$bmpStrategy=0,
#primary node
	$imagePath="VSA Storage\mnt\sdb1\volume1",
	$imageName="masterImg21",
	$createImage=$true,
	$storageName="",
	$targetAlias="targetha21",
	$poolName="",
	$syncSessionCount=1,
	$aluaOptimized=$true,
	$cacheMode="none",
	$cacheSize=0,
       $syncInterface="#p2=172.16.20.51:3260" -f $addr,
       $hbInterface="#p2=172.16.10.51:3260" -f $addr,
	$createTarget=$true,
#	$bmpFolderPath="",
#secondary node
    $imagePath2="VSA Storage\mnt\sda1\volume1",
	#$imagePath2="VSA Storage\mnt\crypted1",
	$imageName2="partnerImg22",
	$createImage2=$true,
	$storageName2="",
	$targetAlias2="partnerha22",
	$poolName2="",
	$syncSessionCount2=1,
	$aluaOptimized2=$true,
	$cacheMode2=$cacheMode,
	$cacheSize2=$cacheSize,
    $syncInterface2="#p1=172.16.20.50:3260" -f $addr2,
    $hbInterface2="#p1=172.16.10.50:3260" -f $addr2,
	$createTarget2=$true
#	$bmpFolderPath2=""
	)
	
Import-Module StarWindX

try
{
	Enable-SWXLog -level SW_LOG_LEVEL_DEBUG

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

	$server.Connect()

	$firstNode = new-Object Node

	$firstNode.HostName = $addr
	$firstNode.HostPort = $port
	$firstNode.Login = $user
	$firstNode.Password = $password
	$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.CacheMode = $cacheMode
	$firstNode.CacheSize = $cacheSize
	$firstNode.FailoverStrategy = $failover
	$firstNode.CreateTarget = $createTarget
#	$firstNode.BitmapStoreType = $bmpType
#	$firstNode.BitmapStrategy = $bmpStrategy
#	$firstNode.BitmapFolderPath = $bmpFolderPath
    
	#
	# device sector size. Possible values: 512 or 4096(May be incompatible with some clients!) bytes. 
	#
	$firstNode.SectorSize = $sectorSize
    
	$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
        
	$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -initMethod $initMethod
    
	while ($device.SyncStatus -ne [SwHaSyncStatus]::SW_HA_SYNC_STATUS_SYNC)
	{
		$syncPercent = $device.GetPropertyValue("ha_synch_percent")
	        Write-Host "Synchronizing: $($syncPercent)%" -foreground yellow

		Start-Sleep -m 2000

		$device.Refresh()
	}
}
catch
{
	Write-Host $_ -foreground red 
}
finally
{
	$server.Disconnect()
}
MasterImg21 is succesfully written to the path of node 1 but why nothing gets to node 2 remains a mystery to me.
All suggestions would be more than welcome!

Thanks in advance
Kurt
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Mon Nov 04, 2024 4:10 pm

Hi,

Welcome to StarWind Forum! I'd suggest giving Windows-based VSAN another chance.
Check this out viewtopic.php?f=5&t=6852&p=37208&hilit=HINT8#p37208.
Could be helpful (i can see that you are using -f addr, no need to)
p.s. make sure you have redundant networking (https://www.starwindsoftware.com/system-requirements)
Check out best practices (https://www.starwindsoftware.com/best-p ... practices/)
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Tue Nov 05, 2024 12:44 pm

Hi Yaroslav,
Thanks for your answer.
I did what you suggested but I still got the same error.
Changes made on fully redundant network:

Node 1:
192.168.22.95 - Host
172.16.20.2 - Sync
172.16.50.2 - Sync2
172.16.10.2 - Heartbeat
172.16.40.2 - Heartbeat2

Node 2:
192.168.22.96 - Host
172.16.20.3 - Sync
172.16.50.3 - Sync2
172.16.10.3 - Heartbeat
172.16.40.3 - Heartbeat2

Adjusted script:

Code: Select all

param($addr="192.168.22.95", $port=3261, $user="root", $password="starwind",
      $addr2="192.168.22.96", $port2=$port, $user2=$user, $password2=$password,
#common
	$initMethod="SyncFromFirst",
	$size=2000,
	$sectorSize=4096,
	$failover=0,
#	$bmpType=1,
#	$bmpStrategy=0,
#primary node
	$imagePath="My Computer\D",
	$imageName="masterImg21",
	$createImage=$true,
	$storageName="",
	$targetAlias="targetha21",
	$poolName="",
	$syncSessionCount=1,
	$aluaOptimized=$true,
	$cacheMode="none",
	$cacheSize=0,
    $syncInterface="#p2=172.16.20.3:3260,172.16.50.3:3260",
    $hbInterface="#p2=172.16.10.3:3260,172.16.40.3:3260",
	$createTarget=$true,
#	$bmpFolderPath="",
#secondary node
    	$imagePath2="My Computer\D",
	$imageName2="partnerImg22",
	$createImage2=$true,
	$storageName2="",
	$targetAlias2="partnerha22",
	$poolName2="",
	$syncSessionCount2=1,
	$aluaOptimized2=$true,
	$cacheMode2=$cacheMode,
	$cacheSize2=$cacheSize,
    $syncInterface2="#p1=172.16.20.2:3260,172.16.50.2:3260",
    $hbInterface2="#p1=172.16.10.2:3260,172.16.40.2:3260",
	$createTarget2=$true
#	$bmpFolderPath2=""
	)
	
Import-Module StarWindX

try
{
	Enable-SWXLog -level SW_LOG_LEVEL_ERROR

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

	$server.Connect()

	$firstNode = new-Object Node

	$firstNode.HostName = $addr
	$firstNode.HostPort = $port
	$firstNode.Login = $user
	$firstNode.Password = $password
	$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.CacheMode = $cacheMode
	$firstNode.CacheSize = $cacheSize
	$firstNode.FailoverStrategy = $failover
	$firstNode.CreateTarget = $createTarget
#	$firstNode.BitmapStoreType = $bmpType
#	$firstNode.BitmapStrategy = $bmpStrategy
#	$firstNode.BitmapFolderPath = $bmpFolderPath
    
	#
	# device sector size. Possible values: 512 or 4096(May be incompatible with some clients!) bytes. 
	#
	$firstNode.SectorSize = $sectorSize
    
	$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
        
	$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -initMethod $initMethod
    
	while ($device.SyncStatus -ne [SwHaSyncStatus]::SW_HA_SYNC_STATUS_SYNC)
	{
		$syncPercent = $device.GetPropertyValue("ha_synch_percent")
	        Write-Host "Synchronizing: $($syncPercent)%" -foreground yellow

		Start-Sleep -m 2000

		$device.Refresh()
	}
}
catch
{
	Write-Host $_ -foreground red 
}
finally
{
	$server.Disconnect()
}
Error message:

Request to node1.xxxxxxxxxxx ( 192.168.22.95 ) : 3261
-
control HAImage -CreateHeader:"Headers\masterImg21\masterImg21_HA.swdsk" -pathDirHeaderBackup:"My Computer\D" -file:"imagefile3" -size:"2000" -Priority:"#p0=0;#p1=1" -nodeType:"#p0=1;#p1=1" -PartnerTargetName:"#p1
=iqn.2008-08.com.starwindsoftware:node2.xxxxxxxxx-partnerha22" -PartnerIP:"#p1=172.16.20.3:sync:3260:1,172.16.50.3:sync:3260:1,172.16.10.3:heartbeat:3260:1,172.16.40.3:heartbeat:3260:1" -IsAuto
SynchEnabled:"0" -AuthChapLogin:"#p1=0b" -AuthChapPassword:"#p1=0b" -AuthMChapName:"#p1=0b" -AuthMChapSecret:"#p1=0b" -AuthChapType:"#p1=none" -Offset:"0" -CacheMode:"none" -CacheSizeMB:"0" -serial:"3C1568BB8B282D
A3" -eui64:"3C1568BB8B282DA3" -revision:"0001" -product:"STARWIND" -vendor:"STARWIND" -Replicator:"#p0=0" -WitnessType:"0" -AluaAccessState:"#p0=0;#p1=0"
-
200 Failed: invalid partner info..


Any thoughts what I'm missing?
Kind regards,
Kurt
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Tue Nov 05, 2024 2:28 pm

$poolName="pool1",
is missing. Set the pool name, please.
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Tue Nov 05, 2024 2:47 pm

Hello
Thanks for your quick answer.
Alas, the error remains

Code: Select all

param($addr="192.168.22.95", $port=3261, $user="root", $password="starwind",
      $addr2="192.168.22.96", $port2=$port, $user2=$user, $password2=$password,
#common
	$initMethod="SyncFromFirst",
	$size=2000,
	$sectorSize=4096,
	$failover=0,
#	$bmpType=1,
#	$bmpStrategy=0,
#primary node
	$imagePath="My Computer\D",
	$imageName="masterImg21",
	$createImage=$true,
	$storageName="",
	$targetAlias="targetha21",
	$poolName="pool1",
	$syncSessionCount=1,
	$aluaOptimized=$true,
	$cacheMode="none",
	$cacheSize=0,
    $syncInterface="#p2=172.16.20.3:3260,172.16.50.3:3260",
    $hbInterface="#p2=172.16.10.3:3260,172.16.40.3:3260",
	$createTarget=$true,
#	$bmpFolderPath="",
#secondary node
    	$imagePath2="My Computer\D",
	$imageName2="partnerImg22",
	$createImage2=$true,
	$storageName2="",
	$targetAlias2="partnerha22",
	$poolName2="pool1",
	$syncSessionCount2=1,
	$aluaOptimized2=$true,
	$cacheMode2=$cacheMode,
	$cacheSize2=$cacheSize,
    $syncInterface2="#p1=172.16.20.2:3260,172.16.50.2:3260",
    $hbInterface2="#p1=172.16.10.2:3260,172.16.40.2:3260",
	$createTarget2=$true
#	$bmpFolderPath2=""
	)
	
Import-Module StarWindX

try
{
	Enable-SWXLog -level SW_LOG_LEVEL_ERROR

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

	$server.Connect()

	$firstNode = new-Object Node

	$firstNode.HostName = $addr
	$firstNode.HostPort = $port
	$firstNode.Login = $user
	$firstNode.Password = $password
	$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.CacheMode = $cacheMode
	$firstNode.CacheSize = $cacheSize
	$firstNode.FailoverStrategy = $failover
	$firstNode.CreateTarget = $createTarget
#	$firstNode.BitmapStoreType = $bmpType
#	$firstNode.BitmapStrategy = $bmpStrategy
#	$firstNode.BitmapFolderPath = $bmpFolderPath
    
	#
	# device sector size. Possible values: 512 or 4096(May be incompatible with some clients!) bytes. 
	#
	$firstNode.SectorSize = $sectorSize
    
	$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
        
	$device = Add-HADevice -server $server -firstNode $firstNode -secondNode $secondNode -initMethod $initMethod
    
	while ($device.SyncStatus -ne [SwHaSyncStatus]::SW_HA_SYNC_STATUS_SYNC)
	{
		$syncPercent = $device.GetPropertyValue("ha_synch_percent")
	        Write-Host "Synchronizing: $($syncPercent)%" -foreground yellow

		Start-Sleep -m 2000

		$device.Refresh()
	}
}
catch
{
	Write-Host $_ -foreground red 
}
finally
{
	$server.Disconnect()
}
Error message:
Request to Node1.xxxxxxxx ( 192.168.22.95 ) : 3261
-
control HAImage -CreateHeader:"Headers\masterImg21\masterImg21_HA.swdsk" -pathDirHeaderBackup:"My Computer\D" -file:"imagefile1" -size:"2000" -Priority:"#p0=0;#p1=1" -nodeType:"#p0=1;#p1=1" -PartnerTargetName:"#p1
=iqn.2008-08.com.starwindsoftware:node2.xxxxxxxx-partnerha22" -PartnerIP:"#p1=172.16.20.3:sync:3260:1,172.16.50.3:sync:3260:1,172.16.10.3:heartbeat:3260:1,172.16.40.3:heartbeat:3260:1" -IsAuto
SynchEnabled:"0" -AuthChapLogin:"#p1=0b" -AuthChapPassword:"#p1=0b" -AuthMChapName:"#p1=0b" -AuthMChapSecret:"#p1=0b" -AuthChapType:"#p1=none" -Offset:"0" -CacheMode:"none" -CacheSizeMB:"0" -serial:"CB241DA385794C
D9" -eui64:"CB241DA385794CD9" -revision:"0001" -product:"STARWIND" -vendor:"STARWIND" -Replicator:"#p0=0" -WitnessType:"0" -AluaAccessState:"#p0=0;#p1=0"
-
200 Failed: invalid partner info..


Sorry... any other thoughts?
Kind regards
Kurt
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Tue Nov 05, 2024 3:24 pm

Can you please check the /headers and D:\ to see if there were any entries created on both nodes? Also, review the StarWind.cfg file.
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Tue Nov 05, 2024 4:00 pm

With pleasure:
headers and imagefile were written only to node1 on 192.168.22.95
nothing was written to the partner node 192.168.22.96

As far as I see in the config files, the one on node1 shows a device entry, the other doesn't.
(And I saw a PerfromanceMonitor setting instead of a PerformanceMonitor, but I doubt if that matters...)

Starwind.cfg on node 1:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="config.xsd" version="8.3">
  <parameters>
    <logging>
      <!--LogLevel values: 0-Disabled, 1-Errors, 2-Warnings, 3-all messages   -->
      <LogLevel value="1"/>
      <!--Don't change the LogMask if you have no idea what does it mean!-->
      <LogMask value="0xbfffffffffffffff"/>
      <!--Log rotate period (in seconds) -->
      <!--<LogRotatePeriod value="30"/>-->
      <!--Log rotate size (in MBs) -->
      <LogRotateSize value="100"/>
      <!--Log rotate - number of log files to keep (0 - keep all) -->
      <LogRotateKeepLastFiles value="20"/>
    </logging>
    <updatetracker>
      <!--check for updates every n days, if value=0 then update tracker is disabled -->
      <UpdatePeriod value="7"/>
      <!--Update host -->
      <UpdateHost value="www.starwindsoftware.com"/>
      <!--Page on update host -->
      <UpdatePage value="/updatetracker/index.php"/>
      <!--Port used for access to the host -->
      <UpdatePort value="80"/>
      <!--Copy Id -->
      <!--Last update request date -->
      <UpdateCopyId value="8B884DB3-EC1D-4C1C-8AAD-057AAAE921B9"/>
      <UpdateLastRequest value="20241105"/>
    </updatetracker>
    <wuservicecontrol>
      <!--WU service control feature is enabled-->
      <WUSCEnabled value="yes"/>
      <!--WU service was disabled by starwind service-->
      <SrvWasDisabled value="no"/>
      <!--WU service start type that must be restored-->
      <SrvRestoreStartType value="2"/>
    </wuservicecontrol>
    <hardwareacceleration>
      <!--VAAI extended copy feature is enabled-->
      <VaaiExCopyEnabled value="yes"/>
      <!--VAAI compare and write feature is enabled-->
      <VaaiCawEnabled value="yes"/>
      <!--VAAI write same feature is enabled-->
      <VaaiWriteSameEnabled value="yes"/>
      <!--ODX feature is enabled-->
      <OdxEnabled value="no"/>
      <!--ODX optimal ROD size in MBs-->
      <OdxOptimalRodSizeMB value="64"/>
      <!--ODX maximum ROD size in MBs-->
      <OdxMaximumRodSizeMB value="256"/>
      <!--ODX ROD token default timeout in seconds-->
      <OdxRodTokenDefaultTimeoutSec value="10"/>
      <!--ODX ROD token maximum timeout in seconds-->
      <OdxRodTokenMaximumTimeoutSec value="30"/>
    </hardwareacceleration>
    <connections>
      <!--Port number for iSCSI connections (default 3260)-->
      <Port value="3260"/>
      <!--Interface to listen to. "0.0.0.0" corresponds to "listen to all interfaces".-->
      <Interface value="0.0.0.0"/>
      <!-- Interface to listen to filtering by MAC-address. Default value is empty string.-->
      <!-- It can be full MAC-address like "10-10-10-10-10-10" or partial template like "10-10-10*" -->
      <!-- <InterfaceByMAC value=""/> -->
      <!--Port number for Control connections (default 3261)-->
      <!-- <CtlPort value="3261"/> -->
      <!--Interface to listen to Control connections. "0.0.0.0" corresponds to "listen to all interfaces".-->
      <!-- <CtlInterface value="0.0.0.0"/> -->
      <!-- StarWind location protocol -->
      <BCastEnable value="yes"/>
      <BCastInterface value="0.0.0.0"/>
      <BCastPort value="3261"/>
    </connections>
    <authentication>
      <!--Username and password used for the control connection.-->
      <Login value="root"/>
      <Password value="##evVRsIJtRmAEEd2sCslZDg=="/>
      <!--CHAP authentication for control connections-->
      <!--
            <CtlAuthMode value="chap"/>
            <CtlAuthServerName value="srv"/>
            <CtlAuthServerSecret value="123"/>
            <CtlAuthClientName value="user"/>
            <CtlAuthClientSecret value="345"/>
            -->
    </authentication>
    <options>
      <!--Minimal 'maximum transfer length' should be supported by all SPTI devices-->
      <MinBufferSize value="65536"/>
      <!--Minimal 'alignment mask' for SPTI devices - all buffers passed to SPTI will 
            be aligned according to this mask at least. Sure if an adapter requests 
                bigger alignment target will supply correctly alignmed buffers.  -->
      <AlignmentMask value="0x0000"/>
      <!--Length of iSCSI queue. (min 1, max 1024)-->
      <MaxPendingRequests value="256"/>
      <!--Global target id name-->
      <!--<DefTargetName value="iqn.2008-08.com.starwindsoftware:$(host).$(symid)"/>-->
      <!--Setting value of AllowOnlyRecordableCd to 'yes' forces the target to filter out all but recordable CD/DVD.-->
      <!--<AllowOnlyRecordableCd value="no"/> -->
      <!--Auto Export some of the found Devices-->
      <!--<AutoExportDevices value="spti:disk,spti:cd/dvd"/>-->
      <!--Devices are autoexported as read/write by default.
            Set value of AutoConfigMode to "ro" to allow only readonly access to all the devices-->
      <!--<AutoExportMode value="ro"/>-->
      <!--Devices are autoexported with share=rw by default.
            Value may be '', 'r', 'w' or 'rw'. 'r' means that device will be 
            shared for reading. 'w' - for writing. Default is ''.-->
      <!--<AutoExportShare value=""/>-->
      <!--Address of an iSNS server to register targets with-->
      <!--<iSnsServer value="127.0.0.1:3205"/>-->
      <!--Time in seconds between TCP keepalive packets to the initiator
                By default, this value = 5 seconds. Use 0 to disable it.-->
      <!--<TcpKeepAlivePeriod value="0"/>-->
      <!-- TCP Receive Timeout on socket, in seconds. 
            Value 0 - timeout not set. 
            Value > 0 - timeout applied during all lifetime of connection. 
            Value < 0 - timeout applied to period of connection establishing and iSCSI negotiation. -->
      <!--<TcpRecvTimeout value="-5"/> -->
      <!--Time in seconds between iSCSI pings from the target to the initiator
                By default, this value = 5 seconds. Use 0 to disable pings.-->
      <iScsiPingPeriod value="0"/>
      <!-- Allow listing of interfaces in response to SendTargets=All -->
      <iScsiDiscoveryListInterfaces value="1"/>
      <!--Force set of default parameters for iSCSI sessions-->
      <!--<iScsiInitialR2T value="0"/>-->
      <!--<iScsiImmediateData value="1"/>-->
      <!--<iScsiDefaultTime2Wait value="0"/>-->
      <!--<iScsiFirstBurstLength value="65536"/>-->
      <!--<iScsiMaxBurstLength value="262144"/>-->
      <!--<iScsiMaxReceiveDataSegmentLength value="65536"/>-->
      <!-- <iScsiStrictProtocolChecking value="yes"/>-->
      <!--Default server node to create devices, targets and run workers-->
      <!--<ServerDefaultNode value="0"/>-->
      <!--Number of server nodes per NUMA node (1 - by default)-->
      <!--ServerNodesPerNumaNode value="1"/>-->
      <!--Number of I/O worker threads per server node (by default=0 - that means 1 worker per active core of the server node)-->
      <ServerIoWorkersCount value="0"/>
      <!--Number of active I/O worker threads per server node (by default=0 - that means 1 worker per active core of the server node)-->
      <ServerIoWorkersConcurency value="0"/>
      <!--Priority of the I/O worker threads (by default=0 - that means normal priority)-->
      <!--<ServerIoWorkersPriority value="0"/>-->
      <!--Max number of I/O completion records to get at once in I/O worker threads (by default=1)-->
      <!--<ServerIoWorkersNumberOfEntries value="1"/>-->
      <!--Assign an ideal core for each I/O worker thread (by default=0 - that means we let the system to schedult the threads to any core)-->
      <!--<ServerUseIdealProcForThreads value="0"/>-->
      <!--Set the affinity of the I/O worker threads to odd cores - for better performance on HyperThreaded processors (default=1)-->
      <!--<ServerUseOnlyOddCoresForThreads value="1"/>-->
      <!--Increase the process' min working set to minimize page faults-->
      <!--<WorkingSetAddMBs value="64"/>-->
      <iSerListen value=""/>
      <!--List of interfaces for iSER protocol.-->
      <LocalizationDir value="Localizations"/>
      <DefaultStoragePoolPath value=""/>
    </options>
    <ExperimentalFeatures>
    </ExperimentalFeatures>
    <cluster>
      <!-- Settings for scale-out cluster. -->
      <!-- Name of the cluster -->
      <ClusterName value=""/>
      <!-- Uniqie identifier of the cluster -->
      <ClusterGUID value=""/>
      <!-- Version of cluster settings. Can be used to resolve configuration conflicts between nodes -->
      <ClusterSettingsVersion value="0"/>
      <!-- List of nodes in cluster. List contains comma-separated address:port values. 
                For example, "192.168.1.1:3261,192.168.1.2:3261,192.168.1.3:3261,192.168.1.4:3261"
            -->
      <ClusterNodes value=""/>
      <!-- List of synchronization networks for the cluster. List contains comma-separated address/mask values. 
                 For example, "192.168.1.1/23,10.10.10.0/24,10.10.20.0/24"
            -->
      <ClusterSync value=""/>
      <!-- List of heartbeat networks for the cluster. List contains comma-separated address/mask values. 
                 For example, "10.30.10.0/24,10.40.40.0/24"
            -->
      <ClusterHeartbeat value=""/>
    </cluster>
    <notification>
      <DataBaseRoot value=".\NotifyDB"/>
      <DBRotationDays value="5"/>
      <DBFileSizeDays value="1"/>
    </notification>
    <PerfromanceMonitor>
      <PerformanceMonitorEnabled value="yes"/>
      <PerformanceRoot value=".\PerformanceDB"/>
    </PerfromanceMonitor>
    <FreeSpaceMonitor>
      <FSMThresholdPercent value="30"/>
      <FSMCheckPeriodSeconds value="30"/>
      <FSMEnabled value="yes"/>
    </FreeSpaceMonitor>
  </parameters>
  <filebrowser>
    <imagedir path="*" flags="cdmfv" alias="My Computer" extensions="*"/>
    <imagedir path="*" flags="cdmfv" alias="Image Files" extensions="img,dat"/>
    <imagedir path="*" flags="cmdfv" alias="VTLs" extensions="swdsk"/>
    <imagedir path="*" flags="cmdfv" alias="VTapes" extensions="VTape"/>
    <imagedir path="*" flags="cdmfv" alias="Event Logs" extensions="txt,log"/>
    <imagedir path="headers" flags="cdfv" alias="Headers" extensions="swdsk"/>
  </filebrowser>
  <!-- Free space monitor works with thin-provisioned devices to inform administrator 
    about potential lack of free disk space for thin-provisioned virtual disk to grow.
    It works with Deduplication and IBV devices now -->
  <reactions>
    <!-- Event notification settings.
	type - type of notification 
		"eventlog" - add event record to Windows Applications Event Log;
		"textfile" - add line to  text file log;
		"smtp" - send e-mail message using basic SMTP protocol

  	maskSeverity - message level (1 - Information, 2 - Warnings, 3 - Errors), may be bitwise OR of several levels
	maskCode - event code (check Windows event log for code of exact event). -1 - do not check for event code.

	type "eventlog":
	<reaction maskSeverity="14" maskCode="-1" type="eventlog"/>
	
	type "textfile":
	<reaction maskSeverity="14" maskCode="254" type="textfile" filename="Event Logs\D\tst.txt" separator=""/>
	fileaname sets text log file name using alias from "filebrowser" list
	separator value - when set is used to devide list of message parameters after the message line. May be useful for scripts that parse the text log. If empty or not set - list of parameters is not added to message line.
	
	type "smtp"	  
	<reaction maskSeverity="8" maskCode="254" type="smtp" smtpHost="a.com" smtpPort="25" recepient="aa@a" mailFrom="aa" subj="Event notification"/>
	smtpHost - address of SMTP server
	smtpPort - port number for SMTP server
	recepient - "send to" address 
	mailFrom - "mail from" address
	subj - message subject line
	
  -->
    <reaction maskSeverity="14" maskCode="-1" type="eventlog"/>
  </reactions>
  <plugins>
    <!--Plugins configuration.
        Parameters (mandatory):
        "module" attribute  - plugin dll
        symlink  - device name prefix for all devices managed by the plugin
        type     - type of devices managed by the plugin
        (optional):
         "loglevel value="0-3" - override log level for a plugin (by default global LogLevel value is used)-->
    <!--Ram Disk plugin-->
    <plugin module="RamDisk.dll">
      <symlink value="RamDrive"/>
      <type value="RAM disk"/>
    </plugin>
    <!--
        ImageFile-specific parameters (mandatory):
         imagedir  - image files directory. several "imagedir"
         elements can be set. "imagedir" must contain following attributes: 
         "path" - directory path (* - all drives allowed)
         "flags" - directory access rights (c - create images, d - delete images, f - create directories, v - view subdirectories, m - mount images, p - mount point)
         "alias" - directory alias
         "extensions" - comma separated extension list. only files with these extensions can be viewed  
         "comment" - (optional) comment 
         optional:
          volumes value="no|yes" - allows browsing and using of hard disk RAW partitions-->
    <plugin module="ImageFile.dll">
      <symlink value="ImageFile"/>
      <type value="Image file"/>
      <imagedir path="*" flags="cmdfv" alias="My Computer" extensions="img,swdsk,bak"/>
      <imagedir path="headers" flags="cdfv" alias="Headers" extensions="swdsk"/>
      <volumes value="no"/>
      <QueueFlags value="0"/>
      <QueueWorkersCount value="0"/>
      <QueueWorkersActive value="0"/>
      <CacheFlags value="0"/>
      <L2CacheFlags value="0"/>
      <!--By default, this value = 3 seconds. Use 0 to disable notification.-->
      <ReqExecTimeLogWarningLimitInSec value="3"/>
    </plugin>
    <!--

        VirtualDVD-specific parameters (mandatory):
        imagedir  - image files directory. several "imagedir"
         elements can be set. "imagedir" must contain following attributes: 
         "path" - directory path (* - all drives allowed)
         "flags" - directory access rights ( v - view subdirectories, m - mount images)
         "alias" - directory alias
         "extensions" - comma separated extension list. only files with these extensions can be viewed  
         "comment" - (optional) comment 
         optional:
         share - sharing option flags. Value may be '', 'r', 'w' or 'rw'. 'r' means that device will be 
            shared for reading. 'w' - for writing. Default is ''.   
        sessions - number of simultaneous iSCSI session allowed for this device. Default is 1.-->
    <plugin module="VirtualDvd.dll">
      <symlink value="VirtualDvd"/>
      <type value="Virtual DVD"/>
      <imagedir path="*" flags="mv" alias="My Computer" extensions="mds,iso"/>
    </plugin>
    <plugin module="DiskBridge.dll">
      <symlink value="DiskBridge"/>
      <type value="DiskBridge"/>
    </plugin>
    <!--
        HA-specific parameters:
            transport : sync-channel transport. Can be one of the next values: 
            "msinitiator" - system transport,
            "internal" - plugin internal transport
        "auto" - automatic transport selection
        -->
    <plugin module="HAImage.dll">
      <symlink value="HAImage"/>
      <type value="HA Image"/>
      <imagedir path="*" flags="cmdfv" alias="My Computer" extensions="img,swdsk,swcbt,bak"/>
      <imagedir path="headers" flags="cdfv" alias="Headers" extensions="swdsk"/>
      <transport value="auto"/>
      <rpl_threshold value="4"/>
      <!--Node shutdown type can be close_clients_conn or alua_unavalable_state -->
      <node_shutdown_type value="close_clients_conn"/>
      <!--Maximum synchronization queue size.-->
      <MaxSyncQueueSize size="16"/>
      <!--If underlying storage of HA device suffers from performance degradation then this value(minutes) defines period for automatic synchronization attempts.
          By default, this value = 30 minutes. Use 0 to disable automatic synchronization for device with performance degradation.-->
      <!--<AutoSyncPeriodForStorPerfDegInMin value="0"/> -->
      <!--Storage performance degradation time limit in milliseconds. 
          By default, this value = 7000 milliseconds.-->
      <StorPerfDegTimeLimitMs value="7000"/>
      <!--Period of time to keep information about storage performance degradation events in minutes. 
          By default, this value = 3 minutes.-->
      <StorPerfDegDetectPeriodMin value="3"/>
      <!--If request execution time is more than this value then warning notification will be generated in the events journal.
          By default, this value = 10 seconds. Use 0 to disable notification.-->
      <ReqExecTimeWarningLimitInSec value="10"/>
      <!--By default, this value = 10 seconds.-->
      <iScsiGenCmdSendCmdTimeoutInSec value="10"/>
      <!--By default, this value = 5 seconds.-->
      <iScsiPingCmdSendCmdTimeoutInSec value="5"/>
      <!--By default, this value = 1 seconds.-->
      <iScsiPingCmdSendCmdPeriodInSec value="1"/>
      <!--By default, this value = 5 second.-->
      <iScsiConnectRetryPeriodInSec value="5"/>
      <!--By default, this value = 1 second.-->
      <iScsiDisconnectRetryPeriodInSec value="1"/>
      <!--By default, this value = 60 second.-->
      <UnderlyingStorageTimeoutInSec value="60"/>
      <!--If underlying storage of HA device produce IO error then this value(hours) defines period for automatic synchronization attempts.
          By default, this value = 24 hours. Use 0 to disable automatic synchronization for device with IO errors on underlying storage.-->
      <!--<AutoSyncPeriodForStorIoErrorInHours value="0"/> -->
    </plugin>
    <!--VTL plugin-->
    <plugin module="VTL.dll">
      <symlink value="VTL"/>
      <type value="VTL"/>
      <LogLevel value="1"/>
      <!-- replicator values - 3 S3, 4 BB, 8 SFT, 16 Azure, 32 S3Like, 64 Wasabi -->
      <!-- replicator value="23" S3+BB+Azure -->
      <replicator value="119"/>
      <closedatafiles value="yes"/>
      <linuxpath value="/opt/StarWind/StarWindVSA"/>
      <imagedir path="*" flags="cmdfv" alias="My Computer" extensions="swdsk,bak"/>
      <imagedir path="*" flags="cmdfv" alias="VTapes" extensions="VTape"/>
      <imagedir path="headers" flags="cdfv" alias="Headers" extensions="swdsk"/>
      <imagedir path="VTL\" flags="cmdfv" alias="Patterns" extensions="VTLP"/>
    </plugin>
    <!--System Manager plugin-->
    <plugin module="SysMan.dll">
      <symlink value="SysMan"/>
      <type value="System Manager"/>
      <deduplicationmanager value="no"/>
      <deploymenttasks value="no"/>
      <LogLevel value="1"/>
    </plugin>
    <plugin module="NVMfTarget.dll">
      <symlink value="NVMfTarget"/>
      <type value="NVMf Target"/>
      <imagedir path="*" flags="cmdfv" alias="My Computer" extensions="img,conf"/>
      <volumes value="no"/>
    </plugin>
  </plugins>
  <devices>
    <!-- Common device parameters:
          reservation="yes|[no]" - allows emulation of SCSI persistent reservation in the server
        -->
    <!-- SPTI-specific device parameters (optional)
        timeout="nnn"  - SCSI command execution timeout (in seconds). Default is 108000 (30 hours).#  
        share="rw|r" - to allow multiple initiators to access the device (shared mode)
        sessions="nnn" - set maximum number of initiators allowed to mount the device in shared mode
        readonly="no|yes" - to export hard drives in readonly mode-->
    <!-- Hard drive accessible through SPTI -->
    <!--<device name="\\.\Physicaldrive0"/> -->
    <!-- CD-ROM accessible through SPTI -->
    <!--<device name="\\.\F:" timeout="256" share="rw" sessions="8" state="1"/> -->
    <!-- ImageFile device parameters:
          file  - image files name. This name is relative to 'imagedir'. The file should exists. It can be created by means of 'mksparse' utility.
          header - if not 0 the plugin will not use given amount of bytes in the beginning of the file. This value should be sector aligned.
          asyncmode="no|yes" - if 'yes' the image is opened in asynchronous mode (you can benefit from this on stripped volumes)
          clustered="no|yes" - if 'yes' the image is opened in shared mode and allows several iSCSI initiators to be connected to it
          CacheMode="wt|wb|none" - cache mode, optional parameter. 
                                If parameter is omitted or has value 'none' - cache is not used,
                                'wt' - write-through caching mode,
                                'wb' - write-back caching.
          CacheSizeMB - optional, cache size in megabytes. 
          CacheBlockExpiryPeriodMS - optional, cache block expiry period in milliseconds.
        -->
    <!--<device name="ImageFile0" file="image.img" asyncmode="yes"/>
        <device name="ImageFile1" file="\\.\X:" header="65536"/> -->
    <!-- DiskBridge device caching parameters:
          CacheMode="wt|wb|none" - cache mode, optional parameter. 
                                If paramter is omitted or has value 'none' - cache is not used,
                                'wt' - write-through caching mode,
                                'wb' - write-back caching.
          CacheSizeMB - optional, cache size in megabytes. 
          CacheBlockExpiryPeriodMS - optional, cache block expiry period in milliseconds.
        -->
    <!-- RAM disk device parameters:
          size   - size of RAM disk to create (in MB).
          format - if 'yes' created disk will be formatted as FAT16 partition.
          useawe="no|yes" - allows creating of huge ram drives (>1GB) -->
    <!--<device name="RamDrive0" size="16" format="no"/>-->
    <!-- Virtual DVD device parameters:
          file - image (iso or mds) file name.
          type - 'iso' or 'mds' depending on type of the image. -->
    <!--<device name="VirtualDvd0" file="My Computer\D\temp\iwin2k.iso" type="iso"/>-->
    <!-- IBVolume device parameters:
           file   - image files name. This name is relative to 'imagedir'. The file should exists. 
                      It can be created by means of 'MirrorCtl.exe' utility.
           clustered="no|yes" - if 'yes' the image is opened in shared mode 
                and allows several iSCSI initiators to be connected to it
           mode="1|2|3" - mode of the volume:
                1 - Growing Image mode (journals are not incremented, space is allocated on demand)
                2 - Incremental backup volume (each session creates a new journal file pair)
                3 - Auto-Restored Snapshot (all session changes are rolled back automatically on logout)
        -->
    <!--<device name="IBV0" file="My Computer\j\temp\1.ibv" clustered="no" mode="2"/>-->
    <!-- device name="Mirror0" target="128-remote" file="Mirror Volumes\T\_img\mir-128-remote.mir" asyncmode="no" clustered="no" CacheSizeMB="64" CacheBlockExpiryPeriodMS="5000"/-->
    <!-- <device name="ImageFile0" target="img" file="My Computer\D\test.img" asyncmode="yes" clustered="no" readonly="no" CacheMode="wt" CacheSizeMB="300" CacheBlockExpiryPeriodMS="5000"/> -->
    <device name="imagefile1" header="Headers\masterImg21\masterImg21.swdsk"/>
  </devices>
  <targets>
    <!--<target name="targetname" alias="my target" devices="ImageFile0,ImageFile1"/>-->
    <!--<target name="targetname" alias="my target" devices="ImageFile0,ImageFile1" XcopyMode="3"/>-->
    <!--Target XcopyMode parameter value: 0 - none, 1 - VAAI, 2 - ODX, 3 - ODX+VAAI, 4 - use global options
        By default, this value = 4 that means we choose mode from 0 to 3 depends on VaaiExCopyEnabled and OdxEnabled global options.-->
  </targets>
  <permissions>
    <!-- CHAP authentication
        <permission device="RamDrive0" chapLocalName="iqn.1991-05.com.microsoft:home.MSHOME.NET" chapLocalSecret="5432109876543210" chapPeerSecret="0123456789012345"/>
        <permission chapLocalName="test" chapLocalSecret="5432109876543210" chapPeerName="" chapPeerSecret="0123456789012345"/>-->
  </permissions>
  <!--
    Notifications configuration. Required parameters are:
    type = <smtp|snmp|file>. Type defines the way notifications are made. "smtp" means notification is send as email, "snmp" means notification is send as
    SNMP trap, in case of "file" notification is written to file.
    recipient - notification destination. This should be recipient email address for "smtp", hostname or ip address for "snmp" and file name  for "file".
    Following parameters are required only for "smtp" notifications:
    mailFrom - address that is passed in email From field
    smtpHost - hostname of SMTP server
    smtpPort - port of SMTP server.
    
    event element defines what events will generate notifications. Each event is identified by unique id. Following events are supported:  
    1 - Device is added or removed
    2 - Image is created or deleted 
    3 - Device is not available
    4 - Initiator login/logoff
    5 - Initiator disconnect (without logoff)
    6 - iSCSI service is started/stopped
    7 - Password changed 
    All events with "id" set to other value are ignored.    
    -->
  <acltableiscsi>
    <DefaultAccessPolicyIscsi value="allow"/>
  </acltableiscsi>
  <acltablemgmt>
    <DefaultAccessPolicyMgmt value="allow"/>
  </acltablemgmt>
</configuration>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
Starwind.cfg on node 2 follows...
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Tue Nov 05, 2024 4:07 pm

Thanks!
Stop the service and remove <device name="imagefile1" header="Headers\masterImg21\masterImg21.swdsk"/> from the *.cfg. Remove the instance from headers and from the underlying storage.
Try using a different file name and target name too.
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Wed Nov 06, 2024 7:40 am

Good morning

I've done as instructed and changed the master en partner image names.
After running this, I get the same error. Also included is the new output of enumDevicesTargets.ps1
There I see the attached local drives and the newly added imagefile1.
Thanks for your insights.

Code: Select all

Request to  GDWHV3.xxxxxxx ( 192.168.22.95 ) : 3261
-
control HAImage -CreateHeader:"Headers\masterImg20\masterImg20_HA.swdsk" -pathDirHeaderBackup:"My Computer\D" -file:"imagefile1" -size:"2000" -Priority:"#p0=0;#p1=1" -nodeType:"#p0=1;#p1=1" -PartnerTargetName:"#p1
=iqn.2008-08.com.starwindsoftware:gdwhv4.xxxxxxxxxx-partnerha21" -PartnerIP:"#p1=172.16.20.3:sync:3260:1,172.16.50.3:sync:3260:1,172.16.10.3:heartbeat:3260:1,172.16.40.3:heartbeat:3260:1" -IsAuto
SynchEnabled:"0" -AuthChapLogin:"#p1=0b" -AuthChapPassword:"#p1=0b" -AuthMChapName:"#p1=0b" -AuthMChapSecret:"#p1=0b" -AuthChapType:"#p1=none" -Offset:"0" -CacheMode:"none" -CacheSizeMB:"0" -serial:"5E2A7062ED36E7
C1" -eui64:"5E2A7062ED36E7C1" -revision:"0001" -product:"STARWIND" -vendor:"STARWIND" -Replicator:"#p0=0" -WitnessType:"0" -AluaAccessState:"#p0=0;#p1=0"
-
200 Failed: invalid partner info.. 

PS C:\Windows\system32> C:\Program Files\StarWind Software\StarWind\StarWindX\Samples\powershell\enumDevicesTargets.ps1
Device:
Name                     : \\?\mpio#disk&ven_hp&prod_logical_volume&rev_7.00#1&7f6ac24&0&3630303530384231303031433641324536363741354236413643453944464239#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Id                       : 0x00000242FC4BDA00
TargetName               : empty
TargetId                 : empty
DeviceType               : SPTI:Disk
Size                     : 0

Device:
Name                     : \\?\mpio#disk&ven_hp&prod_logical_volume&rev_7.00#1&7f6ac24&0&3630303530384231303031433743454338413439454446303045374546324631#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Id                       : 0x00000242FC4BD500
TargetName               : empty
TargetId                 : empty
DeviceType               : SPTI:Disk
Size                     : 0

Device:
Name                     : \\?\mpio#disk&ven_hp&prod_logical_volume&rev_7.00#1&7f6ac24&0&3630303530384231303031433842313931454232373838303839333442314532#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Id                       : 0x00000242FC4B3F40
TargetName               : empty
TargetId                 : empty
DeviceType               : SPTI:Disk
Size                     : 0

Device:
Name                     : \\?\mpio#disk&ven_hp&prod_logical_volume&rev_7.00#1&7f6ac24&0&3630303530384231303031433334413132303533443332394335433943304632#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Id                       : 0x00000242FC4BDEC0
TargetName               : empty
TargetId                 : empty
DeviceType               : SPTI:Disk
Size                     : 0

Device:
Name                     : imagefile1
Id                       : 0x00000242FB8171C0
TargetName               : empty
TargetId                 : empty
DeviceType               : Image file
Size                     : 2097152000
File                     : My Computer\D\masterImg20.img
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Wed Nov 06, 2024 8:41 am

Can you please see if the iSCSI Target Server role is installed in your systems? Please also ensure MTUs are aligned across the system and SYNC adapters can ping each other.
Try a different sync method too (e.g., NotSynchronize). Try also this scrtipt viewtopic.php?f=5&t=5624&p=31505&hilit=tip+3#p31505.
Do you use Windows installation or CVM at this moment?
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Wed Nov 06, 2024 9:14 am

Hello

iSCSI Target Server role is not installed on the nodes.
MTU is aligned and set to 9000 on all Sync NICs
Ping results show zero packet loss (also longer pings with -t show no errors).
Results from node1 to node2:
ping 172.16.20.3

Pinging 172.16.20.3 with 32 bytes of data:
Reply from 172.16.20.3: bytes=32 time<1ms TTL=128
Reply from 172.16.20.3: bytes=32 time<1ms TTL=128
Reply from 172.16.20.3: bytes=32 time<1ms TTL=128
Reply from 172.16.20.3: bytes=32 time<1ms TTL=128

Ping statistics for 172.16.20.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

ping 172.16.50.3

Pinging 172.16.50.3 with 32 bytes of data:
Reply from 172.16.50.3: bytes=32 time<1ms TTL=64
Reply from 172.16.50.3: bytes=32 time<1ms TTL=64
Reply from 172.16.50.3: bytes=32 time<1ms TTL=64
Reply from 172.16.50.3: bytes=32 time<1ms TTL=64

Ping statistics for 172.16.50.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Results from node2 to node1:
ping 172.16.20.2

Pinging 172.16.20.2 with 32 bytes of data:
Reply from 172.16.20.2: bytes=32 time<1ms TTL=128
Reply from 172.16.20.2: bytes=32 time<1ms TTL=128
Reply from 172.16.20.2: bytes=32 time<1ms TTL=128
Reply from 172.16.20.2: bytes=32 time<1ms TTL=128

Ping statistics for 172.16.20.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

ping 172.16.50.2

Pinging 172.16.50.2 with 32 bytes of data:
Reply from 172.16.50.2: bytes=32 time<1ms TTL=64
Reply from 172.16.50.2: bytes=32 time<1ms TTL=64
Reply from 172.16.50.2: bytes=32 time<1ms TTL=64
Reply from 172.16.50.2: bytes=32 time<1ms TTL=64

Ping statistics for 172.16.50.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

I have been trying both Windows application and CVM.
Since your suggestion to try the Windows Application once more, all tests have been done on the Windows application (CVMs are shut down).
I'll try again with NotSynchronize and will post the results later.
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Wed Nov 06, 2024 12:01 pm

Hi,

Please let me know how it goes with the different sync option.
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Wed Nov 06, 2024 12:11 pm

Hello
Unfortunately, no luck:
Request to GDWHV3.xxxxxxxxxx ( 192.168.22.95 ) : 3261
-
control HAImage -CreateHeader:"Headers\masterImg20\masterImg20_HA.swdsk" -pathDirHeaderBackup:"My Computer\D" -file:"imagefile1" -size:"2000" -Priority:"#p0=0;#p1=1" -nodeType:"#p0=1;#p1=1" -PartnerTargetName:"#p1
=iqn.2008-08.com.starwindsoftware:gdwhv4.xxxxxxxxxxxxxxxxx-partnerha21" -PartnerIP:"#p1=172.16.20.3:sync:3260:1,172.16.50.3:sync:3260:1,172.16.10.3:heartbeat:3260:1,172.16.40.3:heartbeat:3260:1" -IsAuto
SynchEnabled:"0" -AuthChapLogin:"#p1=0b" -AuthChapPassword:"#p1=0b" -AuthMChapName:"#p1=0b" -AuthMChapSecret:"#p1=0b" -AuthChapType:"#p1=none" -Offset:"0" -CacheMode:"none" -CacheSizeMB:"0" -serial:"25F2C5DA3DE175
5C" -eui64:"25F2C5DA3DE1755C" -revision:"0001" -product:"STARWIND" -vendor:"STARWIND" -Replicator:"#p0=0" -WitnessType:"0" -AluaAccessState:"#p0=0;#p1=0"
-
200 Failed: invalid partner info..
Kind regards
Kurt
yaroslav (staff)
Staff
Posts: 4309
Joined: Mon Nov 18, 2019 11:11 am

Wed Nov 06, 2024 5:44 pm

Very strange. Need some time to try it in my lab.
kurtdb
Posts: 15
Joined: Mon Nov 04, 2024 3:12 pm

Fri Nov 08, 2024 9:13 am

Thanks for you feedback.
Take your time and I look forward for your findings.

Kind regards
Kurt
Post Reply