LINUX.ORG.RU
ФорумAdmin

Не поднимается сеть в госте с PCI passthrough

 ,


0

1

Хост - CentOS 5.7, гость - CentOS 6.3, одна из сетевых карт хоста проброшена гостю через PCI passthrough.

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x06' slot='0x01' function='0x0'/>
      </source>
    </hostdev>
При включении гостя сетевуха пропадает в хосте (это нормально, скорее всего?), а гость обнаруживает её при загрузке как
0:nbw@nsv1:~% dmesg | grep -B1 eth0
e100 0000:00:06.0: PCI INT A -> Link[LNKB] -> GSI 11 (level, high) -> IRQ 11
e100 0000:00:06.0: eth0: addr 0xc4001000, irq 11, MAC addr 00:02:b3:a2:e8:1a
(да, это оно и есть); после загрузки гостя сетевуха вполне нормально отображается как железяка всеми соответствующими утилитами
0:nbw@nsv1:~% lspci -nn | grep Ethernet
00:03.0 Ethernet controller [0200]: Red Hat, Inc Virtio network device [1af4:1000]
00:06.0 Ethernet controller [0200]: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 [8086:1229] (rev 0c)

0:nbw@nsv1:~% sudo ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes

0:nbw@nsv1:~% sudo mii-tool -v eth0
eth0: negotiated 100baseTx-FD, link ok
  product info: Intel 82555 rev 4
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

# А это конфиг интерфейса, ничего запредельного
0:nbw@nsv1:~% cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE="eth0"
HWADDR="00:02:B3:A2:E8:1A"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
BOOTPROTO=none
Но. Линк не поднимается. При попытке сделать
0:nbw@nsv1:~% sudo ifup eth0
RTNETLINK answers: Connection timed out
RTNETLINK answers: Network is down
, и всё.

Что это? Может, я что-то делаю не так? о_о

UPD: dmesg'и и прочие messages'ы молчат.

★★★

Последнее исправление: nbw (всего исправлений: 3)

Я, так, поинтересуюсь. А зачем ее туда пробрасывать? Неужто настолько критична латентность и скорость? У меня даже на 10Гбит виртуализованные сетевухи (vmxnet3) почти полностью кушали эти 10Гбит, оверхеда почти не было.

Или это для спортивного интересу?

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

В данном конкретном случае - из спортивного интересу, скорее) Это будущий nameserver, так что запредельных нагрузок по объёму трафика ждать не приходится, разве что pps ожидается в районе 1-2k. Но, в перспективе, для создания виртуализированных шлюзов может пригодиться.

ip link set dev eth0 up что говорит?

Вот так и говорит,

RTNETLINK answers: Connection timed out

nbw ★★★
() автор топика
Ответ на: комментарий от nbw

Причём оно это сразу говорит, без сколько-нибудь заметной задержки. Какой тут таймаут - неясно.

nbw ★★★
() автор топика

во первых хост устаревший, надо бы тоже 6.3 во вторых что получается если выставить BOOTPROTO=static и IPADDR=;NETMASK=;GATEWAY= ?

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

во первых хост устаревший

Есть такое дело; но пока нет ни желания, ни возможности проапгрейдить этот хост - 24/7/365, а мигрировать некуда, да пока и так всё устраивает. Да он ещё к тому же работает на ядре 2.6.18-238.19.1.el5, с более поздними он валится в kernel panic по неяcной причине. Железо здоровое, полгода назад поменяли мать со всеми причиндалами на новые - всё равно валится.

во вторых что получается если выставить

Всё то же самое,

RTNETLINK answers: Connection timed out
Ошибка активации интерфейса eth0

nbw ★★★
() автор топика
Ответ на: комментарий от nbw

понятно. pci passthrough в пятерке был слабоват, и никто его особо серьезно не гонял. если очень надо ускориться, то я бы все таки предложил использовать virtio_net, а во вторых пользоваться не бриджем а прямым пробросом сетевухи на vmfex или vepa интерфeйс через macvtap. особо хорош vmfex, но для него надо купить UCS

dyasny ★★★★★
()
Ответ на: комментарий от dyasny

то я бы все таки предложил использовать virtio_net

Хм, разумеется с бриджами драйверы везде virtio-pci

macvtap

Кажется, мой не первой свежести хост это не поддерживает.

Ну да фиг с ним, обойдусь бриджом, если никто по сабжу ничего не подскажет)

nbw ★★★
() автор топика
Ответ на: комментарий от nbw

Ну по моим подсчётам (да и самой вмвари той же) больше 5% вряд-ли можно выиграть на pass-through, так что либо обновляй хост, либо вообще не заморачивайся :) У меня днс сервер в vSphere на вмваре с 1 процессором, виртуализованой сетевухой и репликацией по Fault Tolerance выдает биндом 30т запросов в секунду по dnsperf, более чем достаточно ИМХО.

Для шлюзов - может быть, но, как по мне, уж лучше их делать либо на спец железе, как взрослые дяди (cisco), либо уж (если денег нет) на простом железе, а не в виртуалках...

blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.