Назад | Перейти на главную страницу

Состояние XEN и KVM для собственной виртуальной серверной фермы, такой как живая ферма

Итак, у нас есть Life Server Farm, обычные вещи, не виртуализированные. Это должно оставаться таким на некоторое время. Мы говорим о следующих серверах: Loadbalancer, DB master, DB Slaves (2x), Webservers (2x), CMS server. Всего 7 серверов на ферму.

Мы хотим иметь от одной до многих довольно точных «копий» структуры жизни для внутренних целей.

Всего 3 виртуальных «фермы» по 7 виртуальных серверов каждая, аккуратно изолированных.

Теперь я знаю, что этого можно достичь с помощью множества различных вариантов виртуализации. Вопрос в том, что лучше? VMware, не имеющая открытого исходного кода, - это не то, что мы хотели бы использовать со стратегической точки зрения. Глядя на XEN и KVM, двух крупнейших игроков в области виртуализации с открытым исходным кодом, я хотел бы услышать некоторые советы о том, что и как выбрать. Интернет кажется нерешительным.

Дополнительная информация:

Я знаю, что все в процессе, но я был бы признателен, если бы вы высказали мне свое мнение о том, что выбрать прямо сейчас, поскольку мы хотим жить с этой техникой как минимум 3 года, накапливать и повторно использовать ноу-хау. Также, возможно, в конце концов мы все поймем, что ни один, ни XEN, ни KVM не решают битву, а другие факторы. Просветление в этом отношении сейчас для нас даже более ценно.

p.s .: и пусть не пламя: D

В настоящее время мы используем Xen, но я думаю, что в 2011 году мы перейдем на KVM. Есть несколько причин, почему:

  • Разработка KVM более интегрирована с ядром Linux, чем разработка Xen.
  • KVM vms запускаются как процессы ядра Linux. Это имеет множество последствий, таких как планирование, управление памятью и т. Д. Это также позволяет KVM делать чрезмерно усердствовать памяти (это просто замена виртуальной памяти / памяти процесса) и все, что использует проверенный и проверенный код из ядра. Xen использует свой собственный код для всего этого, и хотя он неплох, он не так протестирован и зарекомендовал себя, как ядро ​​Linux.
  • Полное вирт, кажется, лучше работает на KVM.

Основным аргументом против KVM является производительность, но последние отчеты об использовании драйвера VirtIO на виртуальных машинах Linux и Windows, похоже, делают этот момент все менее и менее заметным.

Что касается управления машинами, я использую ганети. Ganeti - это система управления виртуальным сервером кластера, в которую вы добавляете свои узлы и можете выполнять все операции с виртуальными машинами на этих узлах, такие как создание, запуск, перезагрузка, миграция и т. Д. Она также поддерживает создание экземпляров DRBD, на которых есть зеркальные образы дисков. два узла, обеспечивающие автоматическое переключение / миграцию при отказе одного из узлов. Он поддерживает KVM или Xen, но не смешанные кластеры. Ганети основан на тексте, но есть веб интерфейс проект, который идет очень хорошо. Используя ganeti + debootstrap, мы можем очень быстро развертывать / клонировать различные типы виртуальных машин, делать снимки LVM с дисков для тестов и так далее, так что я думаю, это поможет вам в этом.

Помните только, что какой бы из них вы ни выбрали, вам никогда не следует виртуализировать машины с высоким вводом-выводом, такие как файловые серверы или базы данных, и ожидать, что они будут работать так же. В некоторых случаях виртуальные машины с высоким уровнем ввода-вывода могут даже ухудшить работу всех других виртуальных машин на узле. Не все можно безопасно виртуализировать.

РЕДАКТИРОВАТЬ: Поскольку вы упомянули тестирование и разработку, прочтите Эта статья. Думаю собрать что-то очень близкое к этому.

Если вы используете только Linux и уверены, что так будет продолжаться долгое время (то есть, пока вы там работаете или пока другое стратегическое решение переносит ваши серверы в облако или где-то еще), вы можете попробовать KVM или Xen Open Source. Кроме того, если вы используете дистрибутив, в котором поставляется готовое к xen (т.е. паравиртуализированное) ядро ​​(по крайней мере, Debian / Ubuntu), Xen - отличный выбор. Возможно, KVM тоже, но я рекомендую Xen, потому что это то, с чем я более знаком. YMMV. Объединение Xen и Pacemaker для кластеров виртуальных машин - это то, что мы делали несколько раз с хорошими результатами.

Теперь, если у вас будет несколько / много систем Windows, я бы потратил немного денег и выбрал XenServer. Платная версия обеспечивает (IIRC; проверьте, чтобы подтвердить) высокую доступность и XenCenter, консоль на базе Windows, которая упрощает все. Вы также можете запустить Windows в Xen Open Source, но это немного сложнее. Кроме того, есть бесплатная версия XenServer, но я считаю ее командную строку непонятной и сложной. Вы можете справиться с этим, но это займет некоторое время.

Помните, что при использовании XenServer вам потребуются «гостевые утилиты» или «драйверы PV». Без них производительность пострадает.

Ставить любовь к открытому исходному коду выше потребности бизнеса в надежном и высокодоступном решении опасно. Есть причина свободно ESXi и Hyper-V Server так популярны. Помимо того, что платная поддержка относительно дешевле, существует гораздо больше экспертов.

Тем не менее, XenServer поддерживается Cirtix; и KVM / QEmu поддерживается Красная Шапка (и, возможно, другие, я не в этом разбираюсь); но только в определенных конфигурациях, так что смотреть есть на что. Xen изначально поддерживает формат VHD, и файл VHD можно передавать между Hyper-V, Virtual Server, Virtual PC и Xen без изменений (ограничения по размеру применяются к VPC). KVM использует формат qcow2; который никто не использует, хотя его можно преобразовать в другие форматы с помощью сторонних утилит. Для этих серверов также доступно меньше инструментов управления.

XEN-hy попробуйте это, мы используем последние 2 года, поэтому до сих пор нет проблем! мы используем старую версию