§ KVM вместо VirtualBox

Не так давно я пересел с OpenSUSE на другой RollingRelease дистрибутив Manjaro (обязательно расскажу, но об этом позже), после чего начал испытывать определенные трудности с работой VirtualBox на последних ядрах Linux. Долгое время я считал VirtualBox просто лучшим для работы на коленках, однако пересев на новую версию KVM и VMM (Virtual Machine Manager v1.1.0) я понял что врядли вернусь к VirtualBox в ближайшее время.

Я не буду долго расписывать чем мне так нравился VirtualBox, я просто расскажу почему KVM+VMM лучше.

Работа с диском

Да, многие кртикуют KVM за то, что дисковая подсистема у него медленее чем у VirtualBox. Если говорить точнее, то по умолчанию VBox работает на скоростях гораздо выше чем даже реальная пропускная способность железа. Какие нибудь 250-300Mb/s на запись при работе с обычным жестким диском для VBox в порядке вещей. KVM же по умолчанию работает с железом без различных дополнительных кешей и буферов, так как во главу угла ставит надежность, потому и страдает.

Достичь такой же скорости (с точно такими же рисками) можно и на KVM. Для этого достаточно просто включить для дисков кеширование writeback, после чего наслаждаться скоростью. Имейте в виду что при резком выключении, все данные на запись в кеше (так называемые dirty data) будут потеряны. Примерно этоже вас будет ждать и с VBox, с одной только разницей, в KVM это можно настроить в VBox - нет

Проброс USB

Это на самом деле очень нужная функция, и бывает незаменима. Да в KVM такая возможность была и раньше, однако ее реализация в VMM была мягко говоря неочевидной. Сейчас же в VMM появилась функция Redirect USB device, которая работает сразу и без перезагрузки. Очень удобно.

Snapshots

По умолчанию KVM использует формат файлов qcow2, который поддерживает возможность делать снимки файловой системы copy-on-write. При этом все снимки будут храниться в том же самом файле. Для сравнения тот-же VBox хранит снимки своих VDI в разных файлах, что из этого лучше, я не возьмусь судить, однако мне нравится хранить все в одном файле. В последней версии VMM же разработчики добавили возможность управлять снимками файловой системы, при этом сделано это на удивление удобно.

SPICE

По умолчанию в Manjaro (и я подозреваю что в Arch Linux тоже) VMM использует для вывода графики от гостевой системы SPICE. В отличии от VNC работает это все ощутимо быстрее, и можно сказать что отзывчивость графики практически как на родном железе. Это впечатляет.

Headless VM

Я знаю что используя консольную магию VBox можно тоже запускать без графики, и подключаться когда надо по RDP, однако все это доступно в KVM сразу из коробки без всяких плясок с консолью. Вы просто запускаете клиента в VMM, и когда захотите просто кликаете в него и получаете окно для работы, поработали, закрыли окно - клиент продолжил свою работу в фоне. Вот так вот просто. 

NAT

Вот это меня честно говоря удивило. При создании виртуалки мне просто предложили сделать NAT, я согласился, и все заработало само. Так же просто как с VBox. Если нужно быстро поднять машину - очень полезная функция, и я рад что она теперь есть в KVM и работает.

В качестве заключения

К сожалению в KVM все ещё нет нормального установщика драйверов, и драйвер видео не позволяет изменять разрешение экрана просто изменив размер окна, однако я не часто использую эту функцию, а отсутствие необходимости все время это окно иметь под носом и вовсе сводит проблему на нет. KVM очень стабилен, и позволяет запускать одновременно огромное количество машин, без риска подвесить драйвер (с VBox у меня это несколько раз все же случалось). С точки зрения работы с сетью KVM предоставляет огромное количество возможностей, для VBox все гораздо проще и беднее.

Словом, современный KVM с VMM позволяет запросто управлять виртуалками, не заморачиваясь с консолью, и по большому счету сравнялся в количестве доступных через VMM возможностей с VirtualBox, при этом всем, ваша виртуалка будетс состоять всего из двух файлов - XML с описанием, и QCOW2 - сам образ машины. Такой минимализм в купе с достаточно высокой стабильностью лично мне позволяет полностью забыть об установке любых сторонних решений виртуализации.


comments powered by Disqus