Ну да, когда нужна надежность 99.999 вместо 99.99 (условно). И когда есть деньги оплачивать каждую следующую девятку, с ее экспоненциальным возрастанием стоимости. Что быстрее сломается в среднем - сервер за 500$ или железка за 5000$?
Повторюсь, надо считать от денег. Отказоустойчивость ради отказоустойчивости не нужна никому.
Если мы говорим о балансировщиках F5, то у младших серий наработка на отказ составляет 80-90 тысяч часов. ВНЕЗАПНО техника энтерпрайз класса не ломается.
Пруф: http://support.f5.com/kb/en-us/solutions/public/3000/600/sol3611.html (BIG-IP 1600 и иже с ним)
Оптимально ТС-у будет прикинуть, сколько будет стоить час простоя, и на основе этой цифры рассчитать, сколько девяток заказчик хочет увидеть в показателе UPTIME. А от бюджета уже плясать. Может, интеграторы за него (бюджет) драться будут, кто знает :)
Велосипеды изобретать не надо. Суть отказоустойчивости в том, что два узла хостят один и тот же экземпляр сервиса, с одинаковыми настройками, путями и так далее. Еще у них общий сторедж и минимум один сетевой адрес, которые в каждый момент времени прицеплены только к одному узлу. Кластерная служба следит за состоянием сервиса и при failover событии прибивает службу на сбойнувшем узле (или прибивает весь узел в kernel panic), подключает общий сторедж к резервному узлу, поднимает на нем общий сетевой адрес, и запускает резервный экземпляр сервиса. Всё относительно просто.
Если мы говорим о балансировке нагрузки на серверы СУБД, то она осуществляется уже ПОСЛЕ обеспечения отказоустойчивости. Обычно это репликация данных на slave-сервера, к которым идут только запросы на чтение. Схема multi-master для данного интернет-магазина, по-моему, нецелесообразна. Слишком много управляющей логики получится. Хотя, дело хозяйское.
P.S. Да, кстати, в HA-кластере узлов может быть и больше двух. Просто с двума нагляднее всего.
Ровно также это не значит, что решение "за еду" не откажет в ответственный момент.
Слов нет, кому-то хватит и такой отказоустойчивости. Если максимальные потери от простоев меньше этой суммы, то почему бы и нет?
Из топика так и не понял, что нужно - отказоустойчивость или "чтоб подешевле"?
Отказоустойчивость всегда стоит денег, обычно не маленьких. В случае с Windows - это энтерпрайз-версии серверов (по 4 килобакса за штуку), плюс общее хранилище (от 10 килобаксов), а если узлов больш двух, то будьте добры раскошелиться на SAN Switch или коммутатор 10Гбит/с (в зависимости от технологии доступа к хранилищу, еще тысяч 7 накиньте), и это я еще даже не начал говорить про SQL или фронт-енд.
Да, кстати, если подойти с фанатичной преданностью идее отказоустойчивости, можно удвоить число железяк, и воспользоваться решением VMware для резервирования ЦОДа целиком. Представляете? В датацентр попадает баллистическая ракета, а ваш магазин сразу целиком поднимается в другом датацентре. Про стоимость решения даже говорить не буду, она очень, очень хорошая :)
Ну а на фронт-енд самым позитивным решением будет пул веб-серверов и аппаратный балансировщик, к примеру, от F5 или упомянутого в топике Juniper. Понятно, что для ЦОД-о-независимости желательно еще прикупить AS.
Конечно, варианты тоже возможны. Тот же Sun Cluster (ныне под брендом Oracle) позволяет использовать в качестве шаред стораджа почти что угодно, хоть NFS, но тоже стоит хороших денег, как сам по себе, так и админ для него.
Собственно, к чему я это всё. Мне видится, что лучшим вариантом для вас будет обратиться к какому-нибудь интегратору. Опытные инженеры, материальная ответственность, NDA, исключение человеческого фактора, поддержка целиком решения - получите всё сразу.
Про "отказоустойчивость за 300 баксов" даже как-то говорить не хочется.
Если только принтер и только интернет, то подойдет и 2003 сервер с Traffic Inspector, и простенький роутер в паре с железным принт-сервером (если трафик шейпить не сильно нужно). AD для варианта с 2003 сервером не требуется, достаточно рабочей группы. Версии клиентских виндов - любые.
Если же планируется дальнейшее развитие - централизованная база пользователей, файлопомойка, VPN сервер, и прочие корпоративные примочки, тогда есть смысл задумать об Active Directory. В этом случае также ужесточаются требования к клиентским ОС - "домашние" версии винды уже не годятся.