Вариант с виртуализацией это гемор, если хочется потрахатся тогда конечно, только причем там дрпд и хертбет непонятно, это вчерашний день. Миграция машин внутри виртуальной инфрастукрутры должна происходить свободно, но это так отвлеченно в облако ))
Можно использовать какую-нибудь кластерную ФС. Пример выше был "из собственного опыта". Поднималось всё для одного завода в запорожье. ..на Линухах.
Вам минимум надо 2 машины, на которые заливаем мускул (мастер- мастер или мастер - слейв в зависимости от нагрузки ) и нодени. Поднимаем хертбит на фре (/usr/ports/sysutils/heartbeat) или карп, как захочете. В обеих машинках прописывает скрипты в кроне. Только на одной переход на новый месяц откланяем минут на 10-15 позже чем на первой. Скрипт перехода построен таким образом что не будет повторно снимать абонплату с тех с кого снял.
При падении одного сервера, мы автоматом переключаем ип на второй , который на себя берет основную нагрузку, так как мускулы у нас синхронизированы, то соотвественно файрволы будут включены ровно в таком же виде какой был на первом сервере.
Минусом будет разрыв сессий у пользователй. Но я думаю они переживут.
То есть, грубо говоря, на одном сервере ставим снятие первого числа, на втором - второго. При втором запуске скрипт nomounth.pl увидит что уже за, предположим, август месяц абонка была снята вчера (почему переспрашиваю - потому что не сильно хочется в полночь каждого первого числа судорожно отрубать из крона второй скрипт) и ничего снимать не будет.
...Если я правильно рассуждаю, то, в принципе, MySQL Multi-Master replication + carp(4) = profit?