Solved

How to join a cold node to the production farm

  • 13 January 2020
  • 1 reply
  • 12 views

Badge +1

Hello K2 Community,

I am trying to figure out the best way to join a cold standby node to our prod farm. As a standard operating procedure, I like to keep a few preconfigured K2 Five nodes on standby. Since K2 Five does not offer autoscaling, I figured this is the quickest way to add resiliency to our production should we require additional capacity or if we lose one of the K2 nodes. A node = Windows VM + K2 Five.

 

Cloning Windows VMs from the golden image did not work for us - Azure has naming dependencies at the VM level that are challenging to deal with. What we ended up doing was to preinstall vanilla K2 Five on a separate instance of the database, then when needed, run the Configure path of the K2 Five installer, check the 'reconfigure the farm' option and use the target environment DB name. I hope my explanation makes sense.

 

i.e.

production farm is connected to k2-sql00

cold standby node k2-vm1 runs with k2-sql01

cold standby node k2-vm2 runs with k2-sql02

 

when joining k2-vm1 to the k2-farm reconfigure k2-vm1 from k2-sql01 to k2-sql00.

 

This operation works with K2 Five (5.2) May 2019 CU however despite checking out as all green at the end of this procedure, K2 Configuration Analysis does trigger some SQL exceptions.

 

Has anyone seen any documentation that describes the process of joining nodes to production?

 

Few things I'd like to minimize include

  • any downtime
  • any impact on my existing farm configuration (for some reason we always feel funny when having to run the full reconfigure on Production)
  • operating with self-invented best practices that may not be supported by K2 Support

 

Is there a better way to do it? 

Thanks in advance.

-BJ

icon

Best answer by Mikhail2 16 January 2020, 10:30

View original

1 reply

Badge +11

Hi  @bjbier , I'll try to comment on this briefly:


1) As far as I know K2 farm mode design newer had Active/Passive or DR use case in mind, rather it is designed for Active-Active load balancing, which as a bonus gives you failover through redundancy (Active-Active mode) but Active-Passive or cold stand-by is not something this functionality was designed for. You can look at this section of K2 ICG for details: Farm / NLB Topologies


2) You join new nodes to existing farm by means of selecting "Add K2 Server to existing Farm" option on "K2 Server Configuration" page of setup manager (see related section of ICG for details)


3) Though it was not designed for cold standby scenario you can use application level NLB which will be smart enough to direct users traffic to the live server only, and you also need to understand that there are potential problems which will stem from lack of "server dry" and other must have active-passive topology features. E.g. if you temporary switch on your passive node your K2 service will start automatically and will try to grab some tasks for processing, later if this "passive" node then goes down without processing some of the tasks taken - they will stay in the farm queues as assigned to switched off server generating errors till node come back online - that can be fixed through some manual database hacks - but it won't qualify for fully automated active-passive failover.


4) For "This operation works with K2 Five (5.2) May 2019 CU however despite checking out as all green at the end of this procedure, K2 Configuration Analysis does trigger some SQL exceptions." - you need to show errors to get meaningful comments/answers.

Reply