Windows Server 2022 failover or switchover with duplicate IP address #202
-
Failovers and switchovers using patronis etcdctl ends up with 80% failure because of duplicate IP in the network. with an ipconfig /all the standard IP4 status is a (Preferred) state. In case of such error we got a (Duplicate) status instead The failover stucks until removing this address by powershell command. After removing address vip-manager add it again and failover succeeds. We found a workaround for the moment. Its forever running task on both postgres servers which looks every 5 seconds for a (duplicate) state of the desired interface and if occurs remove the address.... Powershell: A better way could be to add such verfiy command short time after adding the IP to the interface instead doing this ever 5 seconds inside the vip-service. If duplicate state happens the ip can be removed and added again until state is (Preferred) or amount of try ends up with a permanent fail... Thank you for this software. |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 9 replies
-
We have been running into issues ever since we updated python from 3.9 to 3.11+. The vip-manager seems to move too quickly and the server sense duplicate IP Addresses on a administrative switchover. We've found that by restarting the vip-manager service on the destination leader, the contention resolves. It is somewhat intermittent, but completely destroys the High-Availability of the ETCD/PGSQL Cluster since we don't know if it will be successful during a true host failure. We've disabled Windows built in Duplicate IP Detection on both Cluster Nodes to see if that would resolve the issue. It became slightly better, Windows stopped popping up regarding duplicate IP Addresses, but we still find that the switchover is unsuccessful 80+% of the time. Any thoughts on how to improve this system or to replace vip-manager with another solution? |
Beta Was this translation helpful? Give feedback.
-
Would disabling Gratuitous ARP in the registry settings help? (Although the pros and cons of disabling it may need to be considered separately.) Registry key: HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters Under Windows 2022 environment, the same duplicate detection has been improved as described above. |
Beta Was this translation helpful? Give feedback.
-
Hello, removing the Alarm is not the right way to solve this problem because i think that there are really duplicate IP's in the network. Next Eth-Switch must learn that the ip is no more active on this specific port. This may take some time. I think it would be best to change to a three state switchover instead of a hard on/off procedure. The trigger key in the parameter database BR Thilo |
Beta Was this translation helpful? Give feedback.
-
Dear Pashagolub, since nearly a year ago i have tried to find a workaround for windows server "duplicate ip" messages. ip manager.go:
basic_configurere_windows.go:
Because my skills with GO-Language are limited - there is one thing i need to correct but i can't find it: I have also placed same extra conf - Parameter into "config.go" but i am sure you can add this by yourself also better than me.. P.S. i found that things related to "ntecontext" was unneccessary. The binary information inside this data was an ip - address representation only and wasn't needed. BR |
Beta Was this translation helpful? Give feedback.
-
Some corrections here... This was a mistake. instead i have added the ability to define the interface by index isntead of name.
basic_configurer.go:
it avoids relation to names in windows network-conf. Index is more reliable and changes only if that interface was removed. |
Beta Was this translation helpful? Give feedback.
-
Hello all, in meanwhile i have merged my changes for functioning windows switchover here... There are some points where i found problems:
Thank you and your company for that software. i hope this can help the sparely windows system users using patroni. BR |
Beta Was this translation helpful? Give feedback.
-
#290 provides new cross-platform implementation of Gratuitous ARP. So I mark this issue as fixed. |
Beta Was this translation helpful? Give feedback.
#290 provides new cross-platform implementation of Gratuitous ARP. So I mark this issue as fixed.