Могу ли я виртуализировать Windows и Linux, используя virtualbox на Solaris с zfs zvols?

661
Monty Wild

Я планирую создать систему для виртуализации Windows Server 2016 и CentOS 6 с использованием virtualbox на Solaris (для домашнего использования), чтобы воспользоваться преимуществами надежности zfs.

Я планировал получить плату DP ws / server с 1 ТБ оперативной памяти и стеком накопителей WD Red.

Я также заинтересован в том, чтобы предоставить виртуальным машинам Windows доступ к ресурсам графического процессора. Возможно ли это в этой ситуации?

Можно ли разместить виртуальную машину Windows / Linux, которая использует zfs zpool или vdev вместо прямого доступа к оборудованию для доступа к файловой системе?

Мне действительно нужны только ОС Windows и Linux, но я рассматривал хост Solaris исключительно для преимуществ zfs и его совместимости с virtualbox.

Есть ли лучший способ сделать это, или я выбрал лучший вариант?

Является ли это лучшим методом или есть лучший способ, какие ошибки связаны с любым предложенным вами методом?

У меня ограниченный бюджет, и я предпочел бы тратить деньги на аппаратное обеспечение, а не на программное обеспечение, если есть вариант бесплатного программного обеспечения, который будет работать.

Другим вариантом было добавить аппаратный адаптер sas с raid 6 и использовать Windows Server 2016 в качестве хоста для virtualbox, linux и любых других виртуальных машин, но ntfs не так надежен, как zfs ...

РЕДАКТИРОВАТЬ

Мои цели:

  1. Есть одна физическая машина.

  2. Минимизируйте вероятность потери данных в результате сбоев жесткого диска и других проблем с файловой системой.

  3. Запустите серверную ОС Windows 2016 и некоторые приложения, такие как Exchange, SQL Server. ГПУ требуется здесь

  4. Запустите модифицированную систему CentOS (FreePBX).

  5. Запустите некоторые другие виртуальные машины, желательно также с поддержкой графического процессора.

  6. Дополнить и в конечном итоге заменить коробку Synology RS812 +.

  7. Минимизируйте расходы на программное обеспечение, предоставляя больше / лучшее оборудование для моего бюджета.

Я нахожусь в стадии планирования, поэтому я могу рассмотреть все на этом этапе.

Я думал о том, чтобы иметь хост Solaris, чтобы вся файловая система была zfs и, следовательно, лучше защищена от сбоев, чем могли бы позволить гостевые виртуальные машины - если только я что-то не понял неправильно. Казалось бы, альтернативы приведут к тому, что по крайней мере некоторые файловые системы будут не zfs с более низкой надежностью.

5

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

4
user121391

Я также заинтересован в том, чтобы предоставить виртуальным машинам Windows доступ к ресурсам графического процессора. Возможно ли это в этой ситуации?

Для прямого прохождения видеокарты PCIe вам потребуется:

  • две видеокарты PCIe (одна, если используются определенные приемы, например, перемещение карты по сценариям из системы гипервизора в гостевую систему при загрузке)
  • материнская плата с поддержкой Intel VT-d или AMD Vi (ранее IOMMU)
  • программное обеспечение гипервизора, которое поддерживает это

Кажется, что, к сожалению, Virtualbox в настоящее время не поддерживает его . Если это жесткое требование, вам может потребоваться использовать KVM в Linux или Illumos, VMware ESXi или Microsoft Hyper-V, все они поддерживают его (хотя и с другой конфигурацией, необходимой).

Можно ли разместить виртуальную машину Windows / Linux, которая использует zfs zpool или vdev вместо прямого доступа к оборудованию для доступа к файловой системе?

Да, это возможно. Вот соответствующие команды, взятые из сообщения в блоге Йоханнеса Шлютера:

# zfs create -V 10G tank/some_name # chown your_user /dev/zvol/rdsk/tank/some_name # VBoxManage internalcommands createrawvmdk \ -filename /home/your_user/VBoxdisks/some_name.vmdk \ -rawdisk /dev/zvol/rdsk/tank/some_name # VBoxManage registerimage disk /home/your_user/VBoxdisks/some_name.vmdk 

В качестве альтернативы вы можете использовать COMSTAR для обслуживания zvol через iSCSI.

Хотя это имеет незначительные дополнительные издержки и не имеет прямого преимущества в локальном случае, вы можете извлечь из этого выгоду, когда захотите распределиться и, например, добавить другой (резервный) сервер хранения или переместить хранилище в отдельную коробку.

В вашем конкретном случае я бы не стал этого делать, но существует опция (также с NFS вместо iSCSI, но при использовании zvols вместо файловых систем нет немедленного преимущества, если оба правильно настроены).

Есть ли лучший способ сделать это, или я выбрал лучший вариант?

  • Если вы хотите использовать Virtualbox, это было бы то, что я бы сделал
  • Если вы проявляете гибкость в отношении гипервизора, вы можете взглянуть на SmartOS (ZFS, Zones и KVM в небольшой серверной операционной системе с почти отсутствующим состоянием, созданной специально для размещения виртуальных машин)
  • Если вам требуется пропуск PCIe для графических карт, вам может потребоваться использовать Linux + KVM, ESXi или Hyper-V в качестве гипервизора, виртуализировать виртуальную виртуальную машину хранения Solaris / illumos, проходить через нее диски и передавать их обратно по NFS или iSCSI на сервер. гипервизор, где он затем используется нормально. Это также известно как устройство хранения All-in-One (AiO), я предлагаю прочитать о концепции в превосходном руководстве gea (см. Связанный PDF в верхней части). Это кажется сложным, но после настройки он удивительно прост и гибок, так как вы можете в любое время распространить его из виртуальной сети в физическую сеть, заменить обычное оборудование, и весь подход будет многоуровневым. У него есть некоторые недостатки, но я буду вдаваться в них только в том случае, если вам интересно, так как они довольно нишевые.

Что касается вашего редактирования:

  1. Есть одна физическая машина.
  2. Минимизируйте вероятность потери данных в результате сбоев жесткого диска и других проблем с файловой системой.
  3. Запустите серверную ОС Windows 2016 и некоторые приложения, такие как Exchange, SQL Server. ГПУ требуется здесь
  4. Запустите модифицированную систему CentOS (FreePBX).
  5. Запустите некоторые другие виртуальные машины, желательно также с поддержкой графического процессора.
  6. Дополнить и в конечном итоге заменить коробку Synology RS812 +.
  7. Минимизируйте расходы на программное обеспечение, предоставляя больше / лучшее оборудование для моего бюджета.

В общих чертах, у вас есть два возможных варианта установки All-in-One - само хранилище виртуализировано (как в приведенном мною napp-it readme) или хранилище на гипервизоре. Я назову их А и Б, чтобы сравнить по вашим пунктам.

  1. A и B равны, потому что оба находятся на одной физической машине.
  2. A и B почти равны, потому что обе системы могут использовать ZFS. С A вы можете свободно выбирать свою ОС хранения данных (Solaris, illumos, Linux, BSD), с B вы должны выбрать что-то, что поддерживает ZFS и PCIe для VGA (на данный момент только Linux и FreeBSD). Это также влияет на выбор гипервизора (ESXi, Hyper-V, KVM с A и только KVM с B).
  3. А и В равны. Учтите, однако, что один графический процессор может быть передан только одной работающей виртуальной машине, которая занимает ее полностью. Переключение графических процессоров требует выключения затронутых виртуальных машин. Если вам требуется поддержка совместно используемых графических процессоров, ваши возможности ограничены: Nvidia Tesla / Grid (очень дорогая) или новые совместно используемые графические процессоры Intel Skylake (не очень мощные, все еще экспериментальные, см. Презентацию KVMGT ).
  4. В обоих случаях проблем нет, так как виртуальной VGA-карты достаточно.
  5. См. Пункт 3, в зависимости от количества виртуальных машин может быть целесообразным купить несколько карт или одну карту Grid или подождать, пока совместное использование будет реализовано для всех карт в KVM.
  6. Оба случая поддерживают использование iSCSI и NFS для внутреннего и внешнего использования (в смысле реальной сети), это зависит от ваших предпочтений в администрировании. Также оба могут использовать хранилище из NAS / SAN (исходя из таблицы данных, у меня нет самой системы).
  7. Независимо от вашего выбора, все программное обеспечение может быть запущено без какой-либо стоимости лицензии, за исключением, конечно, Windows Server плюс необходимые клиентские лицензии (но их можно заменить на samba4) и Solaris (может быть заменен дистрибутивом illumos, таким как OmniOS, OpenIndiana или SmartOS), Решение Grid может иметь дополнительные затраты на лицензию, я не рассматривал его, поскольку само оборудование настолько дорогое, что в таких случаях оно бесполезно.

Итак, в основном все сводится к предпочтениям:

  • Если вы знакомы с администрированием Linux (включая ZoL) и настройкой KVM (может быть немного сложно в зависимости от аппаратного обеспечения и дистрибутивов), вы можете обойти виртуальную систему дополнительного хранилища и вам понадобится небольшой SSD / HDD, если вы выбираете решение B.
  • Если, с другой стороны, вы хотите выбрать из полного диапазона вариантов и использовать лучшую систему для каждого случая, вы можете воспользоваться гибкостью решения A (хотя здесь могут возникнуть небольшие внутренние издержки сети).
Посмотрите на правки моего вопроса. Monty Wild 7 лет назад 0
@MontyWild посмотреть мой обновленный ответ user121391 7 лет назад 0
Если бы я использовал опцию zfs-host, мог бы я использовать VGA материнской платы для хоста и GPU для настольного компьютера для одного гостя? Monty Wild 7 лет назад 0
@MontyWild Да, это нормальный способ, и он работает так, как вы ожидаете (на самом деле он работает в обоих случаях, потому что виртуальная система хранения данных не требует реального VGA в любом случае, только гипервизор). Если вы используете KVM, вы можете даже подключить VGA ко второй виртуальной машине после загрузки (при том недостатке, что хост-системой dom0 можно управлять только удаленно через SSH или последовательную консоль). user121391 7 лет назад 0
Я намерен подключаться к виртуальным машинам и хосту по протоколу RDP, http или SSH большую часть времени. Это скорее прославленный NAS и сервер приложений, чем хост-компьютер, и графический процессор будет использоваться больше для таких вещей, как перекодирование видео, чем для настольных или игровых приложений. Большую часть времени он проведет без присмотра в моем стеллаже. Что касается моего последнего комментария, я имел в виду, что я мог бы использовать Solaris с zfs и гипервизором в качестве хоста и позволить ему использовать материнскую плату vga, а также запустить гостевую систему Windows Server и позволить этому использовать gpu - если я смогу найти подходящий гипервизор, который будет работать на солярисе. Monty Wild 7 лет назад 0
@MontyWild Yes, that combination is the one thing you will not get (at least not at this point in time), unfortunately. See https://forums.servethehome.com/index.php?threads/smartos-kvm-pci-passthrough.10301/#post-97074 So you have two options (if you still need PCIe passthrough): use Linux+ZoL (it has gotten better over time) or use a separate Solaris storage VM (my personal choice, but both are valid). user121391 7 лет назад 0