The better solution would be to put the two VMware servers in a cluster so that either server can run either or both VMs. As you are using network storage this gives you the best high availability option.
You can’t configure the same VM to run at the same time on both servers. Also you’ll want to domain controllers. You might also want to configure high availability within the Exchange configuration so that if the exchange server goes offline users can access what they need off of the backup exchange server.
All this high availability is great, except that you’ve got a single point of failure which would be the network attached storage, unless it is redundant as well.