XEN vs KVM: почему мы сменили технологию
На протяжении вот уже четырех лет наша компания предоставляет услуги VDS на базе технологии XEN, являвшейся, да и до сих пор являющейся лидером среди OpenSource решений для виртуалиации. Почему же мы в конце концов решили поменять XEN на KVM (Kernel based Virtual Machine)?
-
Развитие. К сожалению, в последнее время развитие XEN сильно затормозилось. Это означает для нас, что мы не можем без проблем устанавливать XEN на новые сервера с новым железом: для тех версий ядер linux, которые на сегодня имеют полноценную поддержку XEN, нет драйверов для различных компонентов новых серверов. KVM, в отличие от XEN, является не дополнением к ядру, а частью ядра linux, таким образом с каждым обновлением ядра поставляется либо более новая, либо по крайней мере такая же версия KVM, как с предыдущим, что означает для нас отсутствие необходимости портирования драйверов из более новых версий ядер в более старые.
-
Стабильность. Опыт эксплуатации XEN показал, что не смотря на то, что у нас есть примеры того, как серверы с XEN и запущенные на них клиенты имеют uptime по 200 и более дней, к сожалению uptime более года оказался практически недостижим из-за наличия определенных проблем с ПО XEN. Таким образом, хост-серверы с XEN приходится периодически (порядка раз в год) перезагружать. C KVM таких проблем возникать не должно: у нас есть примеры, когда uptime наших серверов достигал более 700 дней.
-
Управление ресурсами. Т.к. в KVM гипервизором является непосредственно ядро linux, для управления ресурсами (распределение дискового IO, процессорной мощности и т.п.) мы можем использовать все доступные в linux технологии. В XEN используется отдельный гипервизор, который с одной стороны обещает «честное» распределение ресурсов, а с другой, является в значительно меньшей степени управляемым.
В результате нагрузочного тестирования одних и тех же виртуальных машин, работающих под разными технологиями, мы получили следующие интересные результаты. При использовании KVM на сервере HP ProLiant DL160 G6 с двумя процессорами Xeon Quad Core и дисковой подсистемой на базе SATA RAID-10 мы запустили 16 копий виртуальной машины с Debian Linux, в каждой из которых было запущено по 8 процессов dbench (популярный тест для создания нагрузки на дисковую подсистему). При этом каждая виртуальная машина была доступна по ssh и через консоль. При использовании XEN на том же сервере и тех же самых виртуальных машинах уже при 12 запущенных копиях виртуалок начали возникать проблемы: периодически в консоль какой-либо виртуальной машины залогиниться было невозможно, потому что процесс login не успевал за 60 секунд (стандартное значение таймаута в системе) прочитать файлы /etc/passwd и /etc/shadow для того, чтобы сверить введенный пользователем в консоль пароль с тем, которых хранился в системе. Таким образом на практике было получено, что KVM предоставляет значительно лучшее распределение ресурсов хост-сервера между клиентами при высокой нагрузке, чем XEN.
Кроме того, при использовании KVM нами была разработана и оттестирована технология, позволяющая нам переносить клиентов с одного хост-сервера на другой без остановки в обслуживании клиентов (online migration). В XEN так же есть поддержка такой миграции, но она, к сожалению, значительно менее гибкая, что не позволяло нам использовать онлайн миграцию виртуальных машин в наших условиях. С KVM это стало возможно.
На этом нововведения. связанные с KVM, не заканчиваются: нами оттестирован запуск различных операционных систем (ОС) в виртуальных машинах. Таким образом, уже прямо сейчас можно заказать VDS с FreeBSD вместо Linux. Так же нами протестирована работа виртуальной машины 1С-Битрикс, с полученными результатами можно ознакомиться по ссылке. Также мы проверили работу MS Windows и в ближайшее время будем предлагать VDS с MS Windows по лицензии SaaS (аренда ПО), хотя если у вас есть лицензионная копия нужной вам версии Windows, мы можем запустить ее на вашем VDS уже сегодня. Разумеется, этим список не ограничивается: если у вас есть какие-то пожелания по установке какой-то ОС на VDS, вы можете обратиться в тех.поддержку и мы проверим техническую возможность.
Нововведения не обошли и процесс установки ОС на новый VDS: сейчас мы можем предоставить клиенту доступ к пустой виртуальной машине по VNC, подключить к ней образ нужного ему диска (CD, DVD и т.п.) и клиент самостоятельно может установить и настроить себе требуемую ОС именно так, как он того хочет.
Перейти к описанию тарифа VDS на базе KVM.