>т.о. вы предлагаете и www-запросы и кодирование выполнять на одном дорогом физическом
>сервере? а если с ним что случиться? в моём варианте, я
>просто меняю упавший сервер (который стоит куда меньше), заливаю бэкап и
>всё продолжает работать Нет, я бы вообще сделала по-другому в принципе, при нормальном бюджете:
Во-первых, нужно разделять HA и балансировку нагрузки, это в принципе разные вещи
Во-вторых, я бы кодировала на бэкэндах(где Nginx и лежит статика) с низким приоритетом.
В-третьих, я бы вынесла сервера баз данных на две отдельные машины
В-четвертых, я бы отделила фронт-энд для балансировки нагрузки от веб-серверов.
Бэкэнды лучше бы оставить(имхо) обычными традиционными железками, а для баз данных, управляющего ПО, и балансировщика нагрузки использовать две железки с какой-нибудь системой виртуализации (если базы данных не очень сильно нагруженные, обычно на таких задачах основная нагрузка на бэкэнд)
- Между двумя бэкэндами организуется HA-кластер (например, RedHat Cluster Suite)
- Между нодами виртуализации организуется HA-кластер (виртуалки одной из нод будут перезапущены в случае ее падения)
- Управляющая нода RedHat Cluster Suite в первом случае виртуалка на кластере виртуализации
- Во втором случае, ставиться на один из бэкэндов (роль не оказывает сильной нагрузки).
Для кластера виртуализации _нужно_ общее блочное устройство, для бэкэндов _желательно_ общее дисковое устройство.
В первом случае, если диск дергается не очень сильно (базами данных) можно использовать drbd
Но вообще, лучше взять четырехпортовый DAS с SAS интерфейсом, и прицепить к нему все четыре железки.
Бэкэнды лучше сделать более дорогими, а два сервера под виртуализацию использовать что-то значительно более простое (но лучше с ECC памятью)
По DAS, в зависимости от Вашего бюджета, я бы смотрела на любой двухголовый Infortrend, так как дешево и сердито :)