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