Due to the nature of my customer's business, we can not afford even 1 minute downtime for the voicemail. We have a unity 3.1 which I need to upgrade to the latest version (probably 4.1). The server is a stand alone Unity voice mail but it's going to be a Unity failover environment (only voicemail). In order not to lose any voices messages and avoid any downtimes; here's what I have in mind for upgrading the Unity from 3.1 to 4.1 and at the same time building a failover environment. And what I am expecting from you is to let me know if this can be a solution for my customer.
Before upgrading to any version, I am planning to implement a Failover environment for our Unity 3.1. In order to do that I need to take the Mailsotre out of the current Unity box and store it into a new Mailstore (Exchange, a brand new server is available) and copy all the messages into the new Mailstore. The old Unity server is going to be my primary Unity Server and I need to build another 3.1 Unity (secondarry, another brand new server is available) for the Failover purpose. Once I am done with the second Unity server, I can say that I have a Unity 3.1 failover environment, am I right? Then, I am going to upgrade the Unity Servers one by one without interrupting the service until I get both servers upgraded to the latest version. I know this idea may not be the best but I welcome any other ideas which allow no downtime and no lost voice messages.