Вы можете использовать опцию сервера SQL для сохранения состояния. Я использовал это в прошлом, и он работает хорошо, пока создаваемая им таблица ASPState находится в памяти. Я не знаю, насколько хорошо он будет масштабироваться как таблица на диске.
Если по какой-либо причине SQL-сервер не подходит, вы можете использовать свой балансировщик нагрузки, чтобы создать виртуальный IP-адрес для вашего сервера состояний и указать его на новом сервере состояний, когда вам нужно изменить. Там не было бы простоев, но люди, которые находятся на вашем сайте в то время, потеряли бы свое состояние сеанса. Я не знаю, что вы используете для балансировки нагрузки, поэтому я не знаю, насколько это будет сложно в вашей среде.