Currently, your best bet is probably to investigate the functionality of SolrCloud present in the current Solr 4.0 alpha, which should have been released in a few months at the time of this writing. The goal of SolrCloud is to handle data distribution and master selections using the distributed ZooKeeper database to maintain consensus within the cluster about which nodes work during roles.
There are other traditional ways to configure fault tolerance for the Sol-3 replicated architecture, but I personally would not want to make this investment with Solr 4.0 so close to release.
Edit: See Linux-HA for one such traditional approach. Personally, I would create a specially created daemon that reconfigures your kernels and load balancer, using ZooKeeper to detect presence and distributed locks.
If outsourcing is an option, you might consider hosting a service such as my own humble Websolr . We provide this type of distribution and default failover mode, so our customers do not need to worry about the mechanism of how it is implemented.
source share