Можно ли виртуализировать Windows и Linux с помощью virtualbox на Solaris с zfs zvols?

Можно ли виртуализировать Windows и Linux с помощью virtualbox на Solaris с zfs zvols?

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

Я планировал приобрести материнскую плату DP ws/server с 1 ТБ оперативной памяти, а также комплект дисков WD Red.

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

Можно ли разместить виртуальную машину 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. Здесь требуется GPU

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

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

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

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

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

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

решение1

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

Для прямого подключения видеокарты 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

В качестве альтернативы вы можете использоватьКОМСТАРдля обслуживания zvol через iSCSI.

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

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

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

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

Относительно вашего редактирования:

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

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

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

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

  • Если вы хорошо разбираетесь в администрировании Linux (включая ZoL) и настройке KVM (это может быть немного сложно в зависимости от оборудования и дистрибутивов), вы можете обойти необходимость в дополнительной виртуальной машине хранения и небольшом SSD/HDD, если вы выберете решение B.
  • С другой стороны, если вы хотите выбирать из всего спектра вариантов и использовать лучшую систему для каждого случая, вы можете извлечь выгоду из гибкости решения A (хотя здесь могут возникнуть небольшие внутренние сетевые издержки).

Связанный контент