At our office, we're in the planning stage for an Exchange 2010 setup. We're purchasing 4 server licenses and trying to set up a somewhat resilient Exchange infrastructure. I wanted to see if our current idea would work or not.
I'm not trying for a discussion or debate, so just a simple "Yes" or "No, there's a limitation that will keep X from working right" will work.
We're planning on putting this up alongside our current Exchange 2003 server and migrating current users over a few weeks time.
For two of the servers, we want to just install the Mailbox role and set them up to split the users into two databases operating in a DAG. So, there will be 1 active and 1 passive EDB per mailbox server.
For the other two servers, we want to set up Client Access Server and Hub Transport roles on each of them. Client Access Server will be load balanced through Windows native NLB (Network Load Balancing), and we will set up a script to remove a failing server from the NLB cluster in case application errors start. Hub Transport does not work with on-server load balancing, but we don't see much of a need for it since we can balance incoming mail through our dedicated Spam/AV appliance. Outgoing mail will be enabled on both Hub Transport servers.
Since we already have a spam/AV solution in our DMZ, we don't see much of a need for the Edge Transport role.
All four of these servers will be hosted on a fairly robust ESXi cluster, with separation of each pair enforced through vCenter.
So, are we missing something completely obvious here, or does this seem like a fairly decent single-site resiliency setup?
EDIT: I did some additional research since I was concerned about CAS and HT being on the same servers with NLB for CAS, since there is a lot of documentation saying that HT and NLB do not get along at all. It works as long as you only NLB ports 80 and 443, according to this thread on Technet: http://social.technet.microsoft.com/Forums/en-US/exchangesvravailabilityandisasterrecovery/thread/8f3074d6-7369-4e27-86d5-7884d726938e/