The key thing here is that no matter what the solution, it involves some form of "central store" to hold the session data. Tom has one possibility.
Another option is to create an NFS share on which both boxes store their session files. I'm not sure what happens when the two boxes come up with the same session id value at the same time for different users, or what the odds are of that happening, but let's just say that IF it is an issue, it'd likely be an issue either way.
If you currently use session files, the NFS option may be the easiest approach. If you already are using a database such as PostgreSQL, ODBC, MySQL, etc., then you could always customize the various functions used to do session management so that session ids are stored in the database instead.
And regardless of the method used, what you have is a potential bottleneck of sorts in the form of the central store, whether it's an NFS-shared directory or using a database to store session ids. Care needs to be taken that this central store is able to handle the requests from both servers quick enough so as not to defeat the purpose of the capacity-balancing servers.