OnWorks Linux ve Windows Çevrimiçi İş İstasyonları

Logo

İş İstasyonları için Çevrimiçi Ücretsiz Barındırma

<Önceki | İçerik | Sonraki>

5.5. OpenVswitch-DPDK


Bir kütüphane olduğu için kendi başına pek bir şey yapmaz, bu yüzden onu kullanan yeni projelere bağlıdır. Ubuntu 16.04 sürümünde zaten paketlenmiş olan kitaplığın bir tüketicisi, openvswitch-switch-dpdk paketinde DPDK destekli OpenVswitch'tir.

Burada, libvirt/ qemu-kvm aracılığıyla daha sonra kullanmak üzere DPDK kullanarak temel bir OpenVswitch'in nasıl kurulacağı ve yapılandırılacağına dair bir örnek.


sudo apt-get openvswitch-switch-dpdk'yi kurun

sudo güncelleme alternatifleri --set ovs-vswitchd /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd- dpdk

echo "DPDK_OPTS='--dpdk -c 0x1 -n 4 -m 2048 --vhost-owner libvirt-qemu:kvm --vhost-perm 0664'" | sudo tee -a /etc/default/openvswitch-switch

sudo hizmeti openvswitch-anahtar yeniden başlatma


Yeniden başlatmadan önce cihazları DPDK uyumlu sürücülere (yukarıya bakın) atamanız gerektiğini lütfen unutmayın.


Bölüm --vhost-sahibi libvirt-qemu:kvm --vhost-perm 0664 vhost_user portları sahip/izinlerle Ubuntus'un qemu-kvm/libvirt'i daha fazla güvenlik için azaltılmış ayrıcalıklarla çalıştırma yöntemiyle uyumlu olacak şekilde ayarlayacaktır.

Lütfen dikkat edin, bölüm -m2048 tek bir soket sistemi için en temel nüma kurulumudur. Birden fazla soketiniz varsa, örneğin belleğinizi bunlar arasında nasıl böleceğinizi tanımlamak isteyebilirsiniz. -m 1024, 1024. DPDK'nın birlikte çalıştığı ağ kartlarına (performans nedenleriyle) yalnızca yerel bellekle çalışmaya çalışacağını lütfen unutmayın. Bununla birlikte, birden fazla düğümünüz varsa, ancak tüm ağ kartları bir aradaysa, kartlarınızı yaymayı düşünmelisiniz. En azından belleğinizi kartların bulunduğu düğüme, örneğin iki düğümün tümü düğüm # 2'ye ayırın: -m 0, 2048. aracı kullanabilirsiniz ıstopo paketten hwloc-nox Kartlarınızın hangi sokette olduğunu görmek için.

Şimdi başlattığınız OpenVswitch, OpenVswitch'in genellikle yaptığı tüm bağlantı noktası türlerini ve ayrıca DPDK bağlantı noktası türlerini destekler. Burada bir köprünün nasıl oluşturulacağına ve - normal bir harici bağlantı noktası yerine - buna harici bir DPDK bağlantı noktası eklenmesine bir örnek.


ovs-vsctl eklentisi ovsdpdkbr0 -- köprü kur ovsdpdkbr0 datapath_type=netdev ovs-vsctl eklenti bağlantı noktası ovsdpdkbr0 dpdk0 -- Arayüz ayarla dpdk0 tipi=dpdk



görüntü

DPDK'nın Open vSwitch'te etkinleştirilmesi sürüm 2.6'da değişti. Yani sürüm kullanıcıları için

>=16.10, aynı zamanda Ubuntu Bulut Arşivi kullanıcıları için37 >=neutron etkinleştirme, Ubuntu 16.04 kullanıcıları için olana kıyasla değişti. Önceden DPDK_OPTS aracılığıyla iletilen seçenekler artık ovs-vsctl aracılığıyla Open vSwitch yapılandırma veritabanına yapılandırılıyor.


Yukarıdakiyle aynı örnek, yeni şekilde şöyle görünür:


görüntü

37 https://wiki.ubuntu.com/OpenStack/CloudArchive



# DPDK'yı etkinleştir

ovs-vsctl Open_vSwitch'i ayarlayın. "other_config:dpdk-init=true"

# çekirdek 0'da çalıştır

ovs-vsctl Open_vSwitch'i ayarlayın. "other_config:dpdk-lcore-mask=0x1"

# 2G büyük sayfaları ayırın (Numa düğümü farkında değil)

ovs-vsctl Open_vSwitch'i ayarlayın. "other_config:dpdk-alloc-mem=2048"

# sankon-kullanıcı soketleri için grup/izinler (libvirt/qemu ile çalışmak için gereklidir) ovs-vsctl Open_vSwitch'i ayarlayın. \

"other_config:dpdk-extra=--vhost-sahibi libvirt-qemu:kvm --vhost-perm 0666"


Lütfen daha fazla ayrıntı için ilgili yukarı akış belgelerine ve vswitch yapılandırmasının paket tarafından sağlanan kılavuz sayfasına bakın:

/usr/share/doc/openvswitch-common/INSTALL.DPDK.md.gz

/usr/share/doc/openvswitch-common/INSTALL.DPDK-ADVANCED.md.gz

adam ovs-vswitchd.conf.db


OnWorks'te En İyi OS Bulut Bilişimi: