Atribuir NIC individual a convidado KVM

7

Eu tenho um servidor com 6 NICs instalados e está executando o Ubuntu 12.04LTS. Eu quero configurar 4 VMs convidadas usando o kvm. Agora quero atribuir 2 NICs para o host (1 IP público e 1 IP privado) e 1 NIC para cada 4 guest VM (todos os IP privados). Como faço isso?

/etc/network/interfaces

Estou com problemas no arquivo de configuração mostrado abaixo:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.1.109
    netmask 255.255.255.0
    gateway 192.168.1.5

auto eth1
iface eth1 inet static
        address 192.168.1.117
        netmask 255.255.255.0

auto eth2
iface eth2 inet manual

auto br0
iface br0 inet static
        address 192.168.1.118
        netmask 255.255.255.0
        bridge_ports eth2
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

auto eth3
iface eth3 inet manual

auto br1
iface br1 inet static
        address 192.168.1.119
        netmask 255.255.255.0
        bridge_ports eth3
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

auto eth4
iface eth4 inet manual

auto br2
iface br2 inet static
        address 192.168.1.123
        netmask 255.255.255.0
        bridge_ports eth4
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

auto eth5
iface eth5 inet manual

auto br3
iface br3 inet static
        address 192.168.1.124
        netmask 255.255.255.0
        bridge_ports eth5
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

Obrigado pelas soluções, agora estou trabalhando. O único problema é que as NICs designadas para serem usadas com o convidado ainda obtêm um IP no host, a saída é a seguinte:

encapsulamento de ligação eth0: Ethernet HWaddr 78: 2b: cb: 2b: 61:

          inet addr: 192.168.1.109 Bcast: 192.168.1.255 Máscara: 255.255.255.0           inet6 addr: fe80 :: 7a2b: cbff: fe2b: 61ed / 64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 117 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes TX: 108 erros: 0 caiu: 0 superestime: 0 portador: 0           colisões: 0 txqueuelen: 1000           Bytes RX: 26221 (26,2 KB) bytes TX: 17217 (17,2 KB)           Interrupção: 36 Memória: d2000000-d2012800

encapsulamento de enlace eth1: Ethernet HWaddr 78: 2b: cb: 2b: 61: ee
          inet addr: 192.168.1.10 Bcast: 192.168.1.255 Máscara: 255.255.255.0           inet6 addr: fe80 :: 7a2b: cbff: fe2b: 61ee / 64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 40 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes TX: 14 erros: 0 caiu: 0 superestime: 0 portador: 0           colisões: 0 txqueuelen: 1000           Bytes RX: 9898 (9,8 KB) bytes TX: 3409 (3,4 KB)           Interrupção: 48 Memória: d4000000-d4012800

eth2 Link encap: Ethernet HWaddr 00: 10: 18: a8: 84: 80
          inet6 addr: fe80 :: 210: 18ff: fea8: 8480/64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 46 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes de TX: 10 erros: 0 caiu: 0 superações: 0 portador: 0           colisões: 0 txqueuelen: 1000           Bytes de RX: 11309 (11,3 KB) bytes de TX: 2523 (2,5 KB)           Interrupção: 47 Memória: da000000-da012800

link eth3: Ethernet HWaddr 00: 10: 18: a8: 84: 82
          inet6 addr: fe80 :: 210: 18ff: fea8: 8482/64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 51 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes TX: 17 erros: 0 descartados: 0 overruns: 0 portador: 0           colisões: 0 txqueuelen: 1000           Bytes RX: 12541 (12,5 KB) bytes TX: 4154 (4,1 KB)           Interromper: 46 Memória: dc000000-dc012800

eth4 Link encap: Ethernet HWaddr 00: 10: 18: a8: 84: 84
          inet6 addr: fe80 :: 210: 18ff: fea8: 8484/64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 55 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes TX: 13 erros: 0 descartados: 0 overruns: 0 portador: 0           colisões: 0 txqueuelen: 1000           Bytes de RX: 15136 (15,1 KB) bytes de TX: 3053 (3,0 KB)           Interrupção: 38 Memória: d6000000-d6012800

Link de enlace eth5: Ethernet HWaddr 00: 10: 18: a8: 84: 86
          inet6 addr: fe80 :: 210: 18ff: fea8: 8486/64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 58 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes de TX: 10 erros: 0 caiu: 0 superações: 0 portador: 0           colisões: 0 txqueuelen: 1000           Bytes de RX: 14742 (14,7 KB) bytes de TX: 2523 (2,5 KB)           Interrupção: 45 Memória: d8000000-d8012800

lo Link encap: Loopback local
          inet addr: 127.0.0.1 Máscara: 255.0.0.0           inet6 addr: :: 1/128 Escopo: Host           UP LOOPBACK RUNNING MTU: 16436 Métrica: 1           Pacotes RX: 639 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes de TX: 639 erros: 0 deixados: 0 overruns: 0 carrier: 0           colisões: 0 txqueuelen: 0           Bytes RX: 46422 (46,4 KB) bytes TX: 46422 (46,4 KB)

macvtap0 Link encap: Ethernet HWaddr 52: 54: 00: 8d: e7: e6
          inet6 addr: fe80 :: 5054: ff: fe8d: e7e6 / 64 Escopo: Link           UP TRANSMISSÃO EM FUNCIONAMENTO MULTICAST MTU: 1500 Métrica: 1           Pacotes RX: 57 erros: 0 descartados: 0 overruns: 0 frame: 0           Pacotes TX: 7 erros: 0 descartados: 0 overruns: 0 portador: 0           colisões: 0 txqueuelen: 500           Bytes RX: 14074 (14,0 KB) bytes TX: 1553 (1,5 KB)

    
por Bin S 08.11.2012 / 10:24

1 resposta

9

A maneira mais fácil de atribuir NICs ao convidado é deixá-los desconfigurados no host e usar o modo de passagem macvtap para as NICs convidadas. Lembre-se de que, sem configurações adicionais e mais complexas, isso bloqueará a migração ao vivo da VM.

Configurações:

  <devices>
    ...
    <interface type='direct'>
      <source dev='eth0' mode='private'/>
    </interface>
  </devices>

Ou você pode optar por um modo de passagem PCI completo (desde que tenha o IOMMU / VT-d):

  <devices>
    <interface type='hostdev'>
      <source>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
      </source>
      <mac address='52:54:00:6d:90:02'>
    </interface>
  </devices>
    
por 08.11.2012 / 10:36