Я хотел бы разместить виртуальный интерфейс Ethernet 10 ГБ в домене Xen HVM. Базовая ОС - Debian Squeeze, ядро 2.6.32, Xen 4.0.
Есть ли способ сделать это, не имея на самом деле интерфейса Ethernet 10 ГБ на голом железе?
Мы просто хотим использовать это как локальное межсоединение, поэтому отсутствие PHY на 10 ГБ не является проблемой, но я не могу понять, как заставить гостевую ОС поверить, что у нее интерфейс 10 ГБ.
Краткий ответ: нет (но прочтите полную версию ниже)
Текущий уровень эмуляции QEMU в Xen не эмулирует карты 10 Гб.
Однако это не имеет особого значения. Некоторое время назад я провел некоторое тестирование Xen (и KVM), сравнивая производительность различных эмулируемых сетевых адаптеров для передачи данных на одной и той же физической машине. Одним из протестированных адаптеров был старый сетевой адаптер на 10 Мб, который гостевая ОС распознала как таковой. В действительности этот эмулированный адаптер мог передавать данные намного быстрее, чем 10 Мбит / с.
Предыдущее применимо и к другим эмулируемым адаптерам таким же образом: в коде эмуляции нет искусственного узкого места полосы пропускания. Просто используйте эмулированный адаптер 1 ГБ или 100 МБ, и он будет передавать быстрее, чем это, если нет других узких мест.
Обратите внимание, что между разными эмулируемыми сетевыми картами существует большая разница в скорости. Вам следует попробовать несколько и выбрать тот, который дает вам наилучшие результаты. Я думаю, что получил лучшие результаты (с наименьшими накладными расходами) с эмуляцией e1000, но я не уверен, было ли это на Xen или KVM. Вместо эмулируемого оборудования вы можете использовать сетевой драйвер Xen PV даже при работе в режиме HVM. Он должен быть самым быстрым, но требует наличия необходимого драйвера в вашем гостевом ядре (CONFIG_XEN_PVHVM и CONFIG_NETXEN_NIC - соответствующие параметры ядра). Debian squeeze включает их по умолчанию.