We have an 8 core ArcGIS Server Advanced License and want to have an high availability enviroment.
We just one to keep the enviroment working whenever one of the servers goes offline.
We can have two seperate machine for ArcGIS Server and one machine for Web addaptor. Multiple machine deployment scneario looks good, but we're not sure if this scenario works as active passive. So is this going to work? Or is there any documents how it does?
Multiple machine deployment active active scenario is another alternative. However I guess we'll have to split license to two seperate machines. I also cound find any documents about license issue either.
Single machine deployment active passive scenario is another alternative also. And this one has a huge disadvantege. Which is we don't know how to keep passive machine updated with the active one. Besides we would like to learn if the system will be updated when we copy the "config store" and "serverdirectioes" folders to passive machine hourly.
Hello Tevfik - I have set up HA environments in the past using active-active. We essentially had a network load balancer on top 3 machines attached to it, with the support directories on a file share. It worked very well, especailly during upgrades. We did not have Web Adapter, because at the time it wasn't necessary. That said, the help really does a good job of explaining the two scenarios you mentioned. Check out these articles and re-post with any additional questions.
Thank you for your response,
I actually read those documents already. The active-active scenario does not say anything about the license and we have doubts about keeping updated the passive one. What we're wondering is do we have to re-do all the work for the passive? Or is it going to work if I copy the folders to passive one?
Hi Tevfik - Active-active would require all machines in the site to be licensed individually. If you require 8 cores, you would need two 8-core machine licenses to run the active active (i.e multi machine site). That said, a 4-core muti-machine site would give you 8 core capability as long as both machines are running. In the event of a machine dropping off you may see performance drop off a bit. You'd also need to ensure that all data and configuration files were available independent of either of the machines and were also ensured of high availability. This is the scenario that I have worked in, and all the considerations of the active-passive makes this more appealing to me....
For the active passive, you will need a way to ensure that the data is either independent from either machine or copied on a regular basis. The initial set up could be performed by copying the following to the new server:
Bear in mind this doesn't account for security. The services would be tricky (on going maintenance), you'd probably be best off publishing manually to both machines (updates and new services).
In both cases a 3rd party load balancer is required to handle a machine level failure.
Thank you, Adam
I just want to make clear if did I've understood you right.
My purpose is keeping passive machine updated automatically.
I was planning to copy config-store and server directories from active to passive machine hourly.
About config-store, I know config-store is holding server specific files like DNS names or machine names. I can change those names by a script before copying if it is enough.
But you say that this is not going to work right?
I'm not a product engineer, but I believe overwriting machine specific components might be detrimental to the application. The directories mentioned above are specific to services. I believe I have a customer that uses an active-passive configuration. Let me see if I can dig up some specific information.
There really isn't a great out of the box solution for keeping two active-passive ArcGIS Server sites synchronized. The Web GIS DR tool was introduced at 10.4 to keep a Web GIS, (or ArcGIS Enterprise deployment), synchronized, but that involves Portal for ArcGIS and it doesn't sound like you're using that. I would suggest you write your own publishing script tool, (for example, using Stage Service and Upload Service Definition), that will publish to both sites at the same time. You'll also need to look into how to keep any site settings synchronized, which can be done using Python as well.