<Precedenti | Contenuti | Succ.>
5.6. OpenVswitch DPDK a KVM ospiti
Se non stai costruendo una sorta di switch SDN o NFV su DPDK, è molto probabile che tu voglia inoltrare il traffico ai guest KVM. La buona notizia è che con le nuove versioni qemu/libvirt/dpdk/openvswitch in Ubuntu 16.04 non si tratta più di aggiungere manualmente la stringa della riga di comando. Questo capitolo tratta una configurazione di base su come connettere un guest KVM a un'istanza OpenVswitch-DPDK.
Il Guest deve essere supportato da enormi pagine condivise affinché DPDK/vhost_user funzioni. Per garantire in generale che libvirt/qemu-kvm trovi un punto di montaggio di enormi pagine appropriato, puoi semplicemente abilitare KVM_HUGEPAGES in /etc/default/qemu-kvm. Successivamente riavviare il servizio per prelevare la configurazione modificata.
sed -ri -e 's,(KVM_HUGEPAGES=).*,\11,' /etc/default/qemu-kvm service qemu-kvm restart
Per consentire a un ospite di essere supportato da enormi pagine ora è supportato anche tramite libvirt recente, basta aggiungere il seguente frammento al tuo xml virsh (o all'interfaccia libvirt equivalente che usi). Questi xml possono anche essere usati come modelli per generare facilmente ospiti con "uvt-kvm create".
[...]
Il modo nuovo e consigliato per raggiungere un guest KVM è usare vhost_user. Ciò farà sì che DPDK crei un socket a cui qemu collegherà il guest. Ecco un esempio di come aggiungere una tale porta al bridge che hai creato (vedi sopra).
ovs-vsctl add-port ovsdpdkbr0 vhost-user-1 -- imposta l'interfaccia vhost-user-1 type=dpdkvhostuser
Questo creerà un socket vhost_user in /var/run/openvswitch/vhost-user-1
Per consentire a libvirt/kvm di consumare questo socket e creare un dispositivo di rete guest virtio per esso, aggiungi uno snippet come questo alla definizione guest come definizione di rete.