VMWare and other virtual environments are very good at abstracting your hardware and being aware of other hosts in your cluster. One problem i have encountered is when you have an application like ColdFusion running in a VM you have to be careful with what you do to the VM. ColdFusion is a very powerful application, however it is not VMWare or other Virtual Technology aware. It knows the resources assigned to it and the setting provided to it through the JVM. ColdFusion relies on the OS to take care of making sure it’s network paths and hardware are functioning properly. So when you are working in a clustered environment, i have found that CF does not like disruption in it’s application. Even though it recovers just fine from these, sometimes the onset of the initial errors is overwhelming enough that we need a solution to this to sleep better. Now i don’t know all the answers, so i am certainly open to suggestions of what all of you that have encountered the same problem, have found to work. By all means drop a comment and let me know what you have found that works. So here it is.

Once your VM is moved to another host while it is maintaining datasources the links are broken, causing CF to throw a bunch of errors. Not to worry because CF will reestablish it’s DB connection, but if you need to prevent these errors then my recommendation is that either you purchase or setup a load balancer so that you can shift your workload to another server while you move the one VM or you disable maintain datasource connections. Adobe does not recommend you use this method because it creates a lot of overhead for your servers to create and authenticate against a database every time it has to run a query. So by drain stopping the server on the balancer you can remove the users from it so they won’t experience any errors, however if CF is maintaining datasource connections it may still throw an error due to connections being open but no one on them¬†scenario.

Advertisements