VirtualBox - высокопроизводительная настройка ввода / вывода - возможно ли это?

621
Lapsio

Я использую рабочую станцию, которая сильно зависит от виртуализации. Я выбрал VirtualBox, потому что:

  • в отличие от VMWare, он бесплатный, гораздо более переносимый и не требует обслуживания (не нужно устранять проблемы с компиляцией модулей ядра). Я не хотел бы ретранслировать такое программное обеспечение, учитывая, сколько головной боли мне это давало в прошлом.
  • в отличие от KVM имеет ускорение GPU без прохода VGA. Кроме того, он прост в использовании, и моя работа требует, чтобы я настроил множество виртуальных сред для тестирования программного обеспечения.

Однако я установил программный массив RAID6 с 12 отсеками, который должен быть основан на btrfs (ядро 4.12 содержит патчи для RAID56), поэтому мне нужно новейшее ядро. Возможно RC версия. Все мои машины основаны на btrfs, поэтому по соображениям совместимости имеет смысл использовать btrfs также для RAID.

Основная ОС хоста изолирована от Интернета и выполняет много важных задач, которые я передаю. Поэтому мне нужна стабильная ОС здесь, что противоречит требованию ядра btrfs. Таким образом, я планирую делегировать поддержку RAID для VM и экспортировать ее обратно на хост через NFS. До того, как я проверил, совместима ли NFS со всеми функциями btrfs, и это так здорово - все должно работать отлично.

Мой план был безупречен:

  • Виртуальная машина KVM для поддержки RAID с использованием virtio
  • Виртуальные виртуальные машины VirtualBox для работы в сети и лаборатории тестирования.

И это было бы прекрасно - KVM, безусловно, идеальный выбор для такой рабочей нагрузки - он без головы, поэтому сбой X не повредит RAID, он работает великолепно, и было бы здорово, если ... VirtualBox не будет конфликтовать с KVM. Но это так (машины KVM не запускаются, когда работают машины VBox с включенной VT-x, и наоборот). Поэтому на данный момент для меня совершенно ясно, что, к сожалению, мне нужно будет использовать VirtualBox для рабочей нагрузки, для которой он, вероятно, никогда не предназначался - высокопроизводительный ввод / вывод. Но я не вижу много других вариантов.

Извините за это длинное объяснение, но оно охватывает, почему я действительно решил использовать Virtualbox для такой рабочей нагрузки вместо KVM, несмотря на то, что такое решение, кажется, не имеет смысла. Поэтому я надеюсь, что эта тема не будет затоплена ответами "просто используйте KVM" .


Приступая к делу

Мой вопрос - позволяет ли VirtualBox более продвинутую настройку производительности хранилища, такую ​​как KVM? Это близко к способности достигать ~ 1000 МБ / с последовательного чтения и проталкивать его через NFS через локальный хост? Рабочая станция подключена к магистрали 10 Гбит / с, поэтому я бы хотел, чтобы она достигла чего-то, что было бы близко к полному потенциалу быстрой синхронизации массива.

0
«В отличие от VMWare, он бесплатный, гораздо более переносимый и не требует обслуживания (не нужно устранять проблемы с компиляцией модулей ядра)» VMWare player также бесплатен. В проходе VMWare Server также бесплатен. Более того, мне также приходится перекомпилировать ядро ​​в virtualbox каждый раз, когда я обновляю ядро, потому что дополнения virtualbox не являются драйверами внутри дерева. phuclv 6 лет назад 0
Итак, вы хотите иметь гостевую виртуальную машину с установленной NFS-настройкой RAID на хост, который затем использует эту NFS-папку для размещения дополнительных виртуальных машин ??? txtechhelp 6 лет назад 0
@txtechhelp - да, именно так. Я хочу, чтобы VM поддерживала btrfs на уровне блоков и экспортировала его через NFS обратно на хост, чтобы хост не испортил RAID со своим старым стабильным ядром. Lapsio 6 лет назад 0
@ LưuVĩnhPhúc - я знаю, что проигрыватель бесплатный, но проигрыватель позволяет запускать только 1 виртуальную машину одновременно, и нет расширенной конфигурации сети, которая нарушает условия сделки. Модули VMWare компилируются только на «стабильных» дистрибутивах. Если у вас есть Arch или OpenSUSE Tumbleweed или другие передовые модули ядра дистрибутива, которые часто не удается скомпилировать после обновления, и вам необходимо вручную исправлять исходные коды модулей ядра с помощью патчей, найденных в интернете, таких как этот: http://rglinuxtech.com/ ? p = 1932 И если никто еще не сделал патч, ну да ладно. У тебя проблемы. Это то, что я имел в виду под «переносимым» - работает на * любом * linux, также работает. Lapsio 6 лет назад 0

0 ответов на вопрос

Похожие вопросы