Я хочу настроить свой сервер немного странным способом для создания настройки частного облака.
Мне нужно взять HBA, к которому привязаны мои диски хранения, и передать его в виртуальную машину (возможно, xen), чтобы разрешить создание настройки типа vSAN. Я хочу сделать это, чтобы реализовать настройку типа SAN на одном сервере.
Когда я расспрашивал окружающих, люди говорили мне, что IOPS будет хуже, чем у baremetal. Я как бы учел это в своей настройке, но это заставило меня задуматься, насколько это повредит системе?
Также кто-то упомянул, что виртуальная машина, работающая на baremetal, но имеющая переданный контроллер хранилища, создает странный цикл зависимости, поскольку виртуальная машина по-прежнему полагается на хост для памяти. Помимо того, что устранение неполадок вызывает затруднения, действительно ли это вызывает какое-либо существенное снижение производительности?
Ах да, кстати, здесь в основном рассматривается файловая система ZFS. Возможно, работает на FreeBSD (включая такие вещи, как FreeNAS и NexantaStor) или OpenIndiana.
Спасибо!
Отказ от ответственности: у меня нет опыта работы с Xen, поэтому я пишу в отношении ESXi, но концепции аналогичны.
Что касается вашего первоначального вопроса "Как проверить разницу в производительности между baremetal и виртуальной машиной с сквозной передачей?":
Ваша установка будет следующей:
Сначала установите гипервизор на USB-накопитель и настройте его. Разделите свой SSD на 2 части. Перезагрузите и установите операционную систему без операционной системы, как обычно, на первый слайс. Используйте свой HBA с другими дисками и настройте один или несколько пулов для тестов производительности. Проведите эти тесты и запишите результаты. Вы должны по крайней мере протестировать локальную производительность из командной строки и производительность сети с желаемыми протоколами (iSCSI, NFS, SMB). Если возможно, также протестируйте SSD (не обязательно). Если закончите, экспортируйте свой пул (ы).
Затем перезагрузитесь (я предполагаю, что у вас есть удаленная консоль, поэтому вы можете делать это удаленно), загрузитесь с USB-накопителя вместо локального SSD. Теперь используйте второй фрагмент SSD, чтобы создать виртуальную файловую систему, охватывающую весь фрагмент 2. На эту VFS установите систему из того же ISO, что и раньше, но теперь как виртуальную машину. Настройте сквозную передачу в гипервизоре и назначьте одну физическую сетевую карту и свой HBA для этой новой виртуальной машины. Также назначьте этой виртуальной машине хотя бы один виртуальный сетевой адаптер (или несколько, если вы хотите протестировать разные типы). Назначьте виртуальной машине как можно больше ОЗУ, чтобы условия были аналогичными.
Затем загрузите виртуальную машину, настройте и снова импортируйте пулы из виртуальной машины (через VNC или SSH). Теперь вы можете выполнить те же тесты, что и раньше (локальные и удаленные), как для физических, так и для виртуальных адаптеров, и отметить любые различия. Кроме того, вы можете создать вторую виртуальную машину, но теперь она находится на общем томе NFS или iSCSI, обслуживаемом из вашего пула. Тесты на этой виртуальной машине многое расскажут о вашем дальнейшем использовании в качестве узла виртуальной машины.
Некоторые мысли, выходящие за рамки показателей производительности. Мне эта установка нравится по нескольким причинам:
Есть, конечно, минусы. ewwhite упомянул один, оборудование должно соответствовать. Дополнительно:
Я не рекомендую этот тип сквозной передачи настройка больше. Это беспроигрышный вариант по многим параметрам, особенно по надежности и производительности.
Конечно, это можно сделать, но самое безопасное решение (особенно с гипервизором, таким как ESXi) - просто использовать поддерживаемый RAID-контроллер и локальное хранилище. Если вам нужно хранилище ZFS, создайте автономную систему хранения ZFS.
Хотя настоящий ответ.
Да, есть вероятность задержки или снижения производительности из-за запуска хранилища в режиме сквозной передачи VT-d.
Но подумайте о практических аспектах. Ваша система вообще не будет привязана к IOPS. В этом хранилище есть несколько уровней абстракции, и тот факт, что вы вообще используете виртуальные машины, указывает на то, что вы согласны с компромиссами по сравнению с голым железом.
Настоящая проблема, которую вы должны иметь, заключается в том, будет ли решение вообще работать! VT-d может быть темпераментным и работает не со всеми адаптерами.
Так что проверьте сами на своих рабочих нагрузках!