Я действительно переключусь с VirtualBox на KVM.
VirtualBox хорош как виртуализация десктопов. Это довольно легко установить и использовать. Однако я бы остановился на KVM для виртуализации серверов.
С момента выхода Debian Lenny я использовал VirtualBox 1.6.6 для запуска 5 виртуальных серверов и обнаружил, что время от времени мои серверы зависают. 4 сервера с небольшим трафиком зависали только один или два раза и прослужили более 6 месяцев. Однако мой наиболее часто используемый сервер обычно зависает один раз в месяц. Это не означает, что проблема связана с VirtualBox, я фактически никогда не нашел в лог-файлах какой-либо реальной убедительной причины, почему серверы зависают, но у меня есть подозрение, что VirtualBox недостаточно стабилен для запуска производственных серверов. Это, возможно, улучшилось в более поздних версиях.
KVM использует паравиртуализацию, тогда как VirtualBox использует полную виртуализацию. Паравиртуализация означает, что гость знает, что он работает как виртуальная машина, тогда как при полной виртуализации гость работает на реальной физической машине. Концептуально полная виртуализация чище, но она также менее эффективна. KVM теоретически будет быстрее, чем VirtualBox (хотя накладные расходы на полную виртуализацию могут быть сокращены только до пары% времени выполнения), а также не требует явной установки драйверов в гостевой операционной системе для достижения оптимальной производительности. В VirtualBox вы должны установить гостевые дополнения для оптимальной производительности. С другой стороны, KVM можно использовать только в том случае, если вашей операционной системой является Linux, VirtualBox может работать в любой операционной системе.
KVM полностью открыт и интегрирован в ядро Linux. VirtualBox в основном с открытым исходным кодом, но некоторые части являются собственностью.
Я предпочитаю KVM, а не VirtualBox по следующим причинам:
- было бы стабильнее
- это было бы более эффективным
- Мне не нужно устанавливать гостевые дополнения для гостевых серверов
- Я не против того, чтобы моей операционной системой была Linux (я все равно использую Debian)
- Я предпочитаю полную лицензию с открытым исходным кодом, а не лицензию с открытым исходным кодом.