I'm setting an HA environment and I want to use mirroring with arbiter (to allow automatic failover). I have only two servers available, so I have to put the arbiter in one of them. So, if the server with the arbiter goes down, doesn't that mean that my mirror will stop functioning properly? Is there a way to have an arbiter on both servers. I'm a a total newbie and inexperienced in HA, but if there is no redundancy possible for the arbiter, doesn't the arbiter become a single point of failure?
asked 20 Apr, 20:39
Note, there is no mirroring without an arbiter. (The arbiter may be unavailable but it must be configured in the HA setup.)
No, it's different: There are three servers involved in a HA setup, two partners and the arbiter. If at least 2 of the 3 can communicate with each other, the HA system can run, because it takes two servers to decide whether one of the partners can "have a quorum" and by that is allowed to "own" the database and make it available to connection requests.
If the single arbiter goes down, but the partner servers remain connected, they can still agree on the quorum, so the arbiter is no single point of failure.
Of course, if you have only two machines to run your three servers, and you therefore let partner 1 and the arbiter run on machine 1 and partner 2 on machine 2, the HA system will continue when machine 2 goes down but will stop when machine 1 goes down - in the latter case, only one server is left and cannot decide about the quorum alone.
I'd highly recommend to follow the HA tutorials in the SA docs.
Volker's answer is thorough and complete.
> doesn't the arbiter become a single point of failure?
No, the single point of failure is the single computer being used for the arbiter and one of the partners.
If you can't provide three separate computers, you shouldn't bother with HA.
The SQL Anywhere software costs several times more than a third computer; for example, Dell ships a brand-new Desktop for U$299.00 which is perfectly adequate for an arbiter... overkill actually, since it's got a 1T drive and two USB 3 ports so it could be used for backups.
answered 21 Apr, 04:40
As Breck and Volker have correctly said, if you aren't using 3 separate machines for the partners and arbiter, you don't have HA. There is no way around this with only two computers.
Note that you could consider using a root server and copy node if you don't care about failover (say for disaster recovery - but you can lose an unbounded number of transactions in that configuration). A root server and a copy node will work correctly with only two computers. Also note (as Breck says), the arbiter server doesn't consume significant resources, so modest hardware is adequate for the arbiter. Finally, one SQL Anywhere server can function as an arbiter for multiple HA systems, even if the arbiter is on modest hardware.
answered 21 Apr, 08:49