При этом:
Для узлов http я настаиваю на одном образе системы (для этого хорошо подходит ocfs2) и использую фунты или перекрестки в качестве балансировщика нагрузки, в зависимости от сценария. Узлы должны иметь небольшой локальный диск для подкачки и во избежание большинства (но не всех) головных болей CDSL.
Затем я привожу Ксена в микс. Если вы поместите небольшое временное количество информации на Xenbus (то есть, сколько виртуальной памяти Linux фактически обещало обрабатывать для каждой виртуальной машины, также известной как Committed_AS), вы можете быстро обнаружить балансировщик нагрузки мозга и настроить его. Oracle тоже это поняла ... и сейчас работает над улучшением драйвера воздушного шара в Linux.
После этого я смотрю на стоимость разделения использования базы данных для любого данного приложения по sqlite3 и любой базы данных, которую приложение хочет изначально, осознавая, что мне нужно разделить базу данных, чтобы posix_fadvise () могла выполнять свою работу и не загрязнять ядро буферы без необходимости. Поскольку большинство служб СУБД хотят выполнять свою собственную буферизацию, вы также должны позволить им выполнять свою собственную кластеризацию. Это действительно диктует тип кластера БД, который я использую, и то, что я делаю с драйвером шаров.
Серверы Memcache затем загружаются из тощего initrd, в то время как привилегированный домен следит за тем, как их память и загрузка процессора используются, чтобы он знал, когда загружаться больше.
Выбор тактового импульса / поглощения действительно зависит от конкретной сети и ожидаемого использования кластера. Трудно обобщить это.
Конечным результатом обычно является 5 или 6 физических узлов с небольшим объемом памяти, загружающей монитор виртуальной машины + гости при подключении к зеркальному хранилищу.
Хранилище также сложно описать в общих чертах .. иногда я использую кластер LVM, иногда нет. Значение not не изменится, когда LVM2 наконец отойдет от своего текущего строкового API.
Наконец, все это приводит к тому, что Augeas обновляет конфигурации на лету, основываясь на событиях, передаваемых через Xenbus. Это включает в себя сам ocfs2 или любой другой сервис, где конфигурации просто не могут находиться в одном образе системы.
Это действительно вопрос, относящийся к конкретному приложению. Можете привести пример? Я люблю memcache, но не каждый может извлечь выгоду из его использования, например. Мы пересматриваем вашу конфигурацию или говорим о лучших практиках в целом?
Изменить:
Извините за то, что я так ориентирован на Linux ... это обычно то, что я использую при разработке кластера.