<Trước | Nội dung | Tiếp theo>
5.5. OpenVswitch-DPDK
Là một thư viện, nó không tự làm được nhiều việc, vì vậy nó phụ thuộc vào các dự án mới nổi sử dụng nó. Một người dùng thư viện đã được đóng gói trong bản phát hành Ubuntu 16.04 là OpenVswitch với hỗ trợ DPDK trong gói openvswitch-switch-dpdk.
Dưới đây là ví dụ về cách cài đặt và cấu hình một OpenVswitch cơ bản bằng DPDK để sử dụng sau này qua libvirt / qemu-kvm.
sudo apt-get cài đặt openvswitch-switch-dpdk
sudo update-Alternatives --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
dịch vụ sudo openvswitch-switch khởi động lại
Hãy nhớ rằng bạn phải gán thiết bị cho trình điều khiển tương thích DPDK (xem ở trên) trước khi khởi động lại.
Phần --vhost-owner libvirt-qemu: kvm --vhost-perm 0664 sẽ thiết lập các cổng vhost_user với chủ sở hữu / quyền để tương thích với cách chạy qemu-kvm / libvirt của Ubuntus với các đặc quyền được giảm bớt để bảo mật hơn.
Xin lưu ý rằng phần -m 2048 là cách thiết lập numa cơ bản nhất cho một hệ thống ổ cắm duy nhất. Nếu bạn có nhiều ổ cắm, bạn có thể muốn xác định cách chia bộ nhớ của mình giữa các ổ cắm đó, chẳng hạn như -m 1024, 1024. Xin lưu ý rằng DPDK sẽ cố gắng chỉ hoạt động với bộ nhớ cục bộ đối với các card mạng mà nó hoạt động (vì lý do hiệu suất). Điều đó nói rằng nếu bạn có nhiều nút, nhưng tất cả các thẻ mạng trên một, bạn nên cân nhắc việc rải các thẻ của mình. Nếu không ít nhất là phân bổ bộ nhớ của bạn cho nút nơi các thẻ cư trú, ví dụ: trong một nút hai tất cả cho nút số 2: -m 0, 2048. Bạn có thể sử dụng công cụ lstopo từ gói hwloc-nox để xem thẻ của bạn được đặt trên ổ cắm nào.
OpenVswitch mà bạn bắt đầu hiện nay hỗ trợ tất cả các loại cổng mà OpenVswitch thường làm, cùng với các loại cổng DPDK. Dưới đây là ví dụ về cách tạo một cầu nối và - thay vì một cổng bên ngoài thông thường - hãy thêm một cổng DPDK bên ngoài vào nó.
ovs-vsctl add-br ovsdpdkbr0 - set bridge ovsdpdkbr0 datapath_type = netdev ovs-vsctl add-port ovsdpdkbr0 dpdk0 - set Interface dpdk0 type = dpdk
Việc kích hoạt DPDK trong Open vSwitch đã thay đổi trong phiên bản 2.6. Vì vậy, đối với người dùng các bản phát hành
> = 16.10, nhưng cũng dành cho người dùng Ubuntu Cloud Archive37 > = neutron, kích hoạt đã thay đổi so với kích hoạt cho người dùng Ubuntu 16.04. Các tùy chọn trước đây được chuyển qua DPDK_OPTS hiện được định cấu hình qua ovs-vsctl vào cơ sở dữ liệu cấu hình Open vSwitch.
Ví dụ tương tự như trên sẽ theo cách mới như sau:
37 https://wiki.ubuntu.com/OpenStack/CloudArchive
# Bật DPDK
ovs-vsctl đặt Open_vSwitch. "other_config: dpdk-init = true"
# chạy trên lõi 0
ovs-vsctl đặt Open_vSwitch. "other_config: dpdk-lcore-mask = 0x1"
# Phân bổ các trang lớn 2G (không nhận biết được nút Numa)
ovs-vsctl đặt Open_vSwitch. "other_config: dpdk-cert-mem = 2048"
# group / quyền cho các ổ cắm vhost-user (bắt buộc để hoạt động với libvirt / qemu) ovs-vsctl đặt Open_vSwitch. \
"other_config: dpdk-extra = - vhost-owner libvirt-qemu: kvm --vhost-perm 0666"
Vui lòng xem tài liệu ngược dòng được liên kết và trang chủ của cấu hình vswitch do gói cung cấp để biết thêm chi tiết:
• /usr/share/doc/openvswitch-common/INSTALL.DPDK.md.gz
• /usr/share/doc/openvswitch-common/INSTALL.DPDK-ADVANCED.md.gz
• người đàn ông ovs-vswitchd.conf.db
<Trước | Nội dung | Tiếp theo>