Having been through a few Exchange 2010 deployments, I've had plenty of questions without so many well documented answers. In many cases, I am merely seeking the validation of a simple premise. In this case, my question is, "what is a client access array and why do I need it?"
The CAS Array is simply an Active Directory object. It's used by Exhcange as a reference for client connectivity, but the object itself has no specific link to the load-balancer hardware. The New-ClientAccessArry cmdlet creates the object and sets its initial properties. The most basic syntax for the array is: New-ClientAccessArray -FQDN [URL to Array] -Name "[Display Name]" –site [Site Name]
The FQDN parameter is the DNS host name of the array. It might typically be Outlook.contoso.com. Make sure your DNS servers have a DNS A Record that is associated with the FQDN and it should point to the virtual IP Address (VIP) of the load balancer. The Name parameter is just a display name, so it could be anything. The site parameter is the site for which this array is "authoritative." Any client access server who's IP address belongs to this Active Directory site is presumed to be a member of this CAS array.
The array should be built prior to the introduction of 2010 mailbox roles. Upon the creation of mailbox databases, a default RPCClientAccessServer parameter is set. If the array exists, it will be the default. If you already have mailbox servers in place and need to reassociate the database to the new array, you can do so with the set-mailboxDatabase cmdlet.