Я подумываю о покупке нового серверного модуля разработки для разработки (я знаю, что это избыточно;)). В идеале я хочу запустить что-то вроде ESXi или Xen Hypervisor на самом низком уровне. Затем я хочу добавить (как минимум) 5 виртуальных машин Linux для следующих целей:
2 веб-сервера 2 сервера приложений 1 сервер базы данных
Я хочу сбалансировать нагрузку на 2 веб-сервера и 2 сервера приложений, и (несколько очевидно) все они должны быть объединены в сеть для имитации производственной среды.
Кроме того, раньше рекомендовали размещать каждую виртуальную машину на собственном жестком диске, но я не уверен, что это уже выдерживает критику. Любой совет?
Есть ли у кого-нибудь совет, как это осуществить? Gotchya's, LookOuts !, и т. Д.?
Спасибо!
Все они будут видеть друг друга по сети, потому что все они могут иметь свой собственный сетевой IP-адрес и тому подобное, но я думаю, вы можете настроить их с помощью виртуального сетевого адаптера, чтобы общаться друг с другом напрямую.
Что касается вопроса о жестком диске, я думаю, вам придется подумать о избыточности. Я имею в виду, что если ваше оборудование выйдет из строя, вы не потеряете ни одного компьютера. Вы теряете 5. Отказ жесткого диска - довольно распространенное явление, поэтому обычно вы используете RAID 10 или хотя бы RAID 1 на сервере VMWare, в зависимости от того, насколько сильно вы собираетесь повышать пропускную способность системы.
Тем не менее, даже если у вас есть отдельные диски, вы можете столкнуться с конфликтом на уровне контроллера, поскольку ваши машины будут использовать одну и ту же машину.
Если вы доводите системы до точки, когда вам необходимо рассмотреть возможность разделения дисков на виртуальную машину, вам, вероятно, придется пересмотреть использование виртуализации или вам нужно будет рассмотреть несколько машин и полномасштабную VMWare для реализации балансировки на уровне машины. и мониторинг (что не из дешевых).
Мы запускаем около 7 серверов на одном массиве RAID 5 с 16 гигабайтами памяти, и он работает без проблем, но мы не хлопаем виртуальные машины. Вы можете перегрузить виртуальный сервер всего двумя серверами, если вы перегружаете диски, сеть или память. Это полностью зависит от того, для чего вы его используете.
Я бы порекомендовал попробовать решение VM, и если оно не сработает, у вас есть хотя бы одна действительно хорошая система для начала вашей фермы разработки или, если вы обнаружите особенно проблемную систему, вы можете иметь систему VMWare для некоторых серверов и либо для другого ящик для второй автономной системы VMWare или отдельный ящик для конкретной цели (виртуализировать 4 сервера, один для проблемной системы). Вы все равно должны выйти вперед.
Без оценок того, что вы делаете с системами или насколько сильно вы собираетесь нанести им удар по трафику / пропускной способности и т. Д., Трудно дать вам больше советов, чем это.
Я запускаю производственные среды SQL Server под VMware ESX 4.0
Вы должны знать, как работают технологии виртуализации. Если это просто тестовая среда, то всем серверам не требуется 4 ГБ ОЗУ каждому. Веб-серверы, вероятно, могут обойтись по 512 МБ каждый, то же самое с приложением и как минимум 1 ГБ для базы данных. Я являюсь участником виртуальной главы PASS, которая специализируется на подобных настройках, и вам стоит их проверить. Это в http://virtualization.sqlpass.org , регистрация не требуется. Сегодня мы объединяем блоги некоторых ведущих экспертов в области виртуализации и проводим бесплатные веб-конференции по различным темам.
Еще один замечательный ресурс - это сообщения Брента Озара о виртуализации (он возглавляет виртуальную главу). Вы можете найти их на http://www.brentozar.com/sql/virtualization-best-practices/
Я хочу сбалансировать нагрузку на 2 веб-сервера и 2 сервера приложений, и (несколько очевидно) все они должны быть объединены в сеть для имитации производственной среды.
Есть ли у кого-нибудь совет, как это осуществить? Gotchya's, LookOuts !, и т. Д.?
Вы не объяснили, какое оборудование / сервер вы использовали, поэтому я бы сказал, что «смоделировать» производственную среду будет очень сложно с точки зрения дискового ввода-вывода. Я понятия не имею, какое веб-приложение вы планируете создать / развернуть, но я уже сделал (по существу) то, что вы пытаетесь сделать, хотя и не совсем в соответствии с вашими общими требованиями. Дисковая подсистема - это важный фактор, который легко не заметить, а с серверами баз данных не сложно протолкнуть жесткие диски. Что касается памяти и ЦП, пока их достаточно, вы можете моделировать производственную среду. честно хорошо, но есть вероятность, что ваша виртуальная среда в целом будет медленнее по сравнению с решением без виртуальных машин. Но дисковая подсистема жестяная банка в конечном итоге влияет на память и процессор в зависимости от того, какую нагрузку вы ожидаете или как планируете тестировать.
Кроме того, раньше рекомендовали размещать каждую виртуальную машину на собственном жестком диске, но я не уверен, что это уже выдерживает критику. Любой совет?
В вашем случае сложно сказать. Я бы подошел к маршруту виртуальной машины как к тесту конфигурации больше, чем что-либо еще. Попробуй получить балансировку нагрузки правильно и не переживайте по поводу общей пропускной способности. Пытаться оптимизировать производительность в виртуальной среде очень сложно, независимо от того, с каким поставщиком вы работаете. Наличие одного жесткого диска на каждую виртуальную машину бы быть идеальным, но даже если вы можете качнуть, вы можете не получить "реальных" результатов.
Понятно, что вы либо пытаетесь подготовиться к новой среде для этого приложения, либо надеетесь обойтись виртуальным сервером. до того как вам нужно или у вас есть бюджет, чтобы выбрать решение без виртуальных машин. В либо В сценарии создания виртуального сервера для тестирования конфигурации имеет смысл, но при попытке использовать его для измерения любой вид реальной производительности / емкости будет неточным. Виртуализация - это компромисс между операционными системами и аппаратными ресурсами. Вы не получите одинаковой производительности в виртуализированном мире и в невиртуализированном мире.