I planed to develop a customized HA program for MSSQL, but I got a question when reading some articles about cluster.
When master is down, then slaves vote for a new master, and the new master will take over virtual IP address of the old one.
What is virtual IP address here ?
A: master 192.168.1.100
B: slave 192.168.1.101
C: slave 192.168.1.102
Is there a another IP address assigned to A? or the IP 192.168.1.100 is the virtual IP ?
It is not possible to add extra network cards.
I am not sure exactly what you are up to, but here are some cluster address fundamentals which tend to match mostly, either through being built in or through reliance on external functions to similar effect:
A HA cluster will usually create, in addition to the ip addresses specific to the individual cluster nodes, one or more cluster ip address(es) which belong to the cluster.
Depending on the setup and specific tech this cluster address can commonly either
bind to one of the cluster nodes (i.e. be associated with that nodes NIC MAC address), whereby that node becomes the active node. On failover another node will bind its MAC address to the cluster ip address and assume the active role.
be associated with a multicast MAC address which all or some cluster nodes can subscribe to, whereby it is possible to have several active nodes. In this scenario the cluster ip address can be a multicast ip address (which makes the binding protocol compliant) or more uncommonly (such as in a Microsoft NLB cluster) an ip unicast address which binds to a multicast MAC address (which requires the network routers/switches to be able to handle this protocol incompliant L3/L2 mapping, usually through extra config directives).
The cluster will commonly use the cluster address only for client-to-cluster traffic, and will use individual node addresses for intra-cluster traffic such as state information and heartbeat. The intra-cluster traffic will sometimes be placed on a dedicated network.