Короче, собрал я эти модули. Вот манул, может, потом кому надо будет или даже мне. Итак, ставим хедеры и сорс, это банально. Сорс распаковываем в /usr/src, копируем в него из хедеров файлы .config и Module.symvers, это важно. Делаем make menuconfig, включаем нужные модули, делаем make prepare && make modules_prepare. Дальше тонкость: make M=drivers/staging/hv (это в моём случае, надо указать каталог с дровами или сделать типа make M=drivers/staging/hv hv_vmbus.ko и т.д. для каждого нужного драйвера). После этого можно скопировать полученные модули в /lib/modules/<версия>/drivers/... и не забыть сделать depmod -aq. Я сделал modules_install, но оно свалило в каталог extra несуществующего ядра 2.6.32 (а надо было 2.6.32-5-686), так что один фиг руками переносил.
Теперь интересное. Во-первых, M$, разумеется, не может толком в линукс, поэтому дрова получились кривущие и явно заточенные только под сусю-энтерпрайз и редхат. В дебиане автоматом загружается только hv_vmbus, остальное надо ручками. Если вписать их в /etc/modules, при загрузке вылетает тонна бэктрейсов, чуть ли не кернелпаник, и процесс загрузки зависает. Машина пингуется, но толку мало от этого. Всё нормально работает, если загрузить модули после запуска всех init-сервисов, так что я вбил в /etc/rc.local вот такую конструкцию: (sleep 10 && modprobe hv_netvsc && modprobe hv_blkvsc && modprobe hv_storvsc)& Чудовищный костыль работает как надо.
И, наконец, самое главное — стоила ли эта ебля выделки? Да, стоила. После загрузки данных кривых дров, накладные расходы на виртуализацию сети упали настолько, что вместо привычных 20 мегабит из канала удалось выжать 120 мегабит!

6 comments
recommend
bookmark
subscribe
"Вот манул" — это пять
Нет, это боян.
одно не понял, а нахуя тебе гиперви?
Под ним крутится виртуалка на дебиане, которая даёт VPN.
скажу по другому, какой смысл использовать вендовую виртуализацию вообще?
Увы, отсутствие выбора и сраное легаси.