Для начала обязательно читать http://docs.moodle.org/20/en/Server_cluster
Кластеризация включает три элемента - сервер приложений (PHP), сервер БД и файловый сервер.
Проще всего с PHP - за балансировщиком или реверсным прокси можно поставить какое угодно количество машин с PHP с абсолютно эквивалентными настройками и всё будет работать.
Что касается БД - тут многое зависит от конкретной БД, но по сути всё реализуемо и на MySQL (решения есть, вропрос цены). Тут два основных варианта: 1. failover - второй сервер только резервирует первый, а в случае выхода из строя первого становится основным. Для этого требуется только односторонняя репликация, она проще. 2. Cluster - оба сервера работают параллельно, распределеяя нагрузку. Для этого требуется двухсторонняя репликация - она реализуется гораздо сложнее, поэтому такие решения сложнее и дороже. Тут вам нужно решить, чего именно вы хотите.
Что касается файлового хранилища - тут опыта не имею, но вроде как кластеризованных решений полно.
Тестировать это всё добро рекомендую на виртуальных машинах - легко включать и отключать, можно ограничить мощность отдельных машин и каналов связи и посмотреть, что будет с производительностью.
Во всём вышерперечисленном есть один нюанс, который останавливает меня от экспериментов с кластеризованным мудлом. В основном решения для кластеризации рассчитаны на то, что между серверами существуют надёжные и скоростные каналы связи и защищают они в первую очередь от выхода из строя оборудования или служат для распределения нагрузки. То есть желательно, чтобы всё это стояло в одной стойке или чтобы к каналам связи, соединяющим разные помещения, было 100%-е доверие. А у меня, к несчастью, риск того, что пьяный электрик обесточит весь корпус или слесаря, меняющие батареи, затопят серверную куда выше вероятности выхода из строя фирменного сервера. И на каналах связи от местных провайдеров, соединяющих наши корпуса, тоже проблемы случаются.
Поэтому говоря об отказоустойчивости я бы предпочел говорить о размещении одной надежной машины в одном надёжном датацентре (ну или о качественном VPS-хостинге), а не о том как кластеризовать БД и файл-сервер.