wget https://fast.dpdk.org/rel/dpdk-17.05.2.tar.xz
tar vxf dpdk-17.05.2.tar.xz

下載dpvs
git clone https://github.com/iqiyi/dpvs.git

給dpdk打補(bǔ)丁,加入kni驅(qū)動(dòng)
cd <path-of-dpvs>
cp patch/dpdk-stable-17.05.2/*.patch dpdk-stable-17.05.2/
cd dpdk-stable-17.05.2/
patch -p 1 < 0001-PATCH-kni-use-netlink-event-for-multicast-driver-par.patch

另一個(gè)補(bǔ)丁,uoa模塊
patch -p1 < 0002-net-support-variable-IP-header-len-for-checksum-API.patch

編譯dpdk并安裝
cd dpdk-stable-17.05.2/
make config T=x86_64-native-linuxapp-gcc
make
export RTE_SDK=$PWD

啟動(dòng)hugepage
服務(wù)器是numa系統(tǒng)(centos)
echo 8192 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 8192 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages

mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge

注:這個(gè)操作是臨時(shí)的,如果服務(wù)器有別的應(yīng)用再跑,可能已經(jīng)占用hugepage了,后面給出另外的方法

安裝uio驅(qū)動(dòng),并綁定網(wǎng)卡
modprobe uio
cd dpdk-stable-17.05.2
insmod build/kmod/igb_uio.ko
insmod build/kmod/rte_kni.ko

查看網(wǎng)卡狀態(tài) ./usertools/dpdk-devbind.py –status

Network devices using kernel driver

===================================

0000:01:00.0 \\\’I350 Gigabit Network Connection 1521\\\’ if=eth0 drv=igb unused=

0000:01:00.1 \\\’I350 Gigabit Network Connection 1521\\\’ if=eth2 drv=igb unused=

0000:01:00.2 \\\’I350 Gigabit Network Connection 1521\\\’ if=eth3 drv=igb unused=

0000:01:00.3 \\\’I350 Gigabit Network Connection 1521\\\’ if=eth4 drv=igb unused=

綁定eth3
./usertools/dpdk-devbind.py -b igb_uio 0000:01:00.2

注:這里綁定的網(wǎng)卡,最好是沒(méi)有使用的,因?yàn)榫W(wǎng)卡需要down 掉才能綁

編譯dpvs
cd dpdk-stable-17.05.2/
export RTE_SDK=$PWD
cd <path-of-dpvs>
make

make install

注:安裝的時(shí)候 可能有依賴包報(bào)錯(cuò),提示哪個(gè),yum安裝就可以了

編譯后的文件
ls bin/
dpip dpvs ipvsadm keepalived

啟動(dòng)dpvs
cp conf/dpvs.conf.single-nic.sample /etc/dpvs.conf
cd <path-of-dpvs>/bin
./dpvs &

查看是否啟動(dòng)正常
./dpip link show
1: dpdk0: socket 0 mtu 1500 rx-queue 8 tx-queue 8
UP 10000 Mbps full-duplex fixed-nego promisc-off
addr A0:36:9F:9D:61:F4 OF_RX_IP_CSUM OF_TX_IP_CSUM OF_TX_TCP_CSUM OF_TX_UDP_CSUM

以DR模式舉例

官方URL https://github.com/iqiyi/dpvs/blob/master/doc/tutorial.md ,各種lvs模式配置

給dpvs添加lan ip 37,這個(gè)步驟必須在添加vip之前

./dpip addr add 192.168.1.37/24 dev dpdk0

給dpvs添加vip 57

./dpip addr add 192.168.1.57/32 dev dpdk0

設(shè)置算法為rr,vip為57

./ipvsadm -A -t 192.168.1.57:80 -s rr

添加后端機(jī)器11

./ipvsadm -a -t 192.168.1.57:80 -r 192.168.1.11 -g

在11機(jī)器執(zhí)行
ip addr add 192.168.1.11/32 dev lo
sysctl -w net.ipv4.conf.lo.arp_ignore=1

dpvs在啟動(dòng)的時(shí)候,有時(shí)候 會(huì)報(bào)錯(cuò),罪魁禍?zhǔn)资莾?nèi)存碎片,app無(wú)法申請(qǐng)到足夠多的連續(xù)大塊內(nèi)存,只能申請(qǐng)到很多小塊內(nèi)存。以至于內(nèi)存塊數(shù)目超過(guò)了系統(tǒng)設(shè)置的256個(gè)。

解決方式 就是申請(qǐng)大頁(yè)內(nèi)存應(yīng)該在系統(tǒng)啟動(dòng)時(shí),或系統(tǒng)啟動(dòng)后盡快申請(qǐng),避免內(nèi)存被割裂

https://www.cnblogs.com/cobbliu/p/6603391.html

為了省事 可以加入到kernel參數(shù) /etc/boot/grub2.cfg

default_hugepagesz=1G hugepagesz=1G hugepages=8G

引用別人的結(jié)論:
結(jié)論:DPDK 再快也是收包到送給應(yīng)用層的時(shí)間短,而不是“轉(zhuǎn)發(fā)”快。收到包后,各類檢查跟查表(一般都是并發(fā)環(huán)境,加鎖啊什么的,無(wú)鎖?……哈哈)處理的時(shí)間,基本上都是要遠(yuǎn)遠(yuǎn)超過(guò) DPDK 的自身開(kāi)銷的。

想要快過(guò) Linux,要明白為什么 Linux 網(wǎng)絡(luò)協(xié)議棧會(huì)“慢”,這個(gè)慢是相比 DPDK 的處理而言的,對(duì)大部分應(yīng)用而言,上層的業(yè)務(wù)延遲已經(jīng)沒(méi)多大必要在網(wǎng)絡(luò)方面下功夫??傊芊窠档吐酚醒舆t,要看應(yīng)用環(huán)境(買得起那么多物理機(jī)么?有相應(yīng)的穩(wěn)定可靠人才支撐么?),然后再做 profiling,看瓶頸在哪里。不要想當(dāng)然的 DPDK。

舉例來(lái)說(shuō)吧,做 UDP 的 dns,就可以用 DPDK,繞過(guò) Linux 協(xié)議棧提升 QPS. 如果做路由,我覺(jué)得拼不過(guò)硬件,我是不贊同這種做法的。為了低延遲,沒(méi)有包的時(shí)候,DPDK 都要讓 CPU 滿載跑著,這時(shí)如果想提升吞吐量,延遲也會(huì)跟著上去。如果系統(tǒng)里邊是多個(gè)干活程序一起跑的,老板窮或者不舍得買好機(jī)器,開(kāi)發(fā)運(yùn)維技能沒(méi)跟著上去,DPDK 也會(huì)被用殘的。

硬件差不多,網(wǎng)絡(luò) IO 內(nèi)存類的程序,Linux 跑萬(wàn)兆是沒(méi)問(wèn)題的。

如果做包轉(zhuǎn)發(fā),相比 x86 linux 肯定會(huì)大大提升性能,其實(shí)大部分瓶頸不在 dpdk 處理的網(wǎng)絡(luò)這塊

更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問(wèn)題,請(qǐng)?jiān)L問(wèn)三五互聯(lián)官網(wǎng):m.shinetop.cn

贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:三五互聯(lián)知識(shí)庫(kù) » dpvs部署

登錄

找回密碼

注冊(cè)

主站蜘蛛池模板: 美女一区二区三区亚洲麻豆| 久久久www成人免费精品| 成全高清在线播放电视剧| 大肉大捧一进一出好爽视频动漫| 国产va免费精品观看精品| 亚洲中文字幕无码日韩精品| 亚洲av成人在线一区| 巨胸不知火舞露双奶头无遮挡| 亚洲成人免费一级av| 国产av国片精品一区二区| 精品无套挺进少妇内谢| 我国产码在线观看av哈哈哈网站| 日本精品一区二区不卡| 亚洲中文字幕av不卡无码| 国产av日韩精品一区二区| 偷炮少妇宾馆半推半就激情| 国产亚洲av手机在线观看| 极品美女扒开粉嫩小泬图片| 丰满无码人妻热妇无码区| 青草热在线观看精品视频| 午夜精品极品粉嫩国产尤物| 亚洲乱码精品中文字幕| 国产免费无遮挡吃奶视频| 亚洲中文字幕一区精品自| 国产成人无码性教育视频| 久久综合综合久久高清免费| 国产AV无码专区亚洲AV潘金链| 大胸美女被吃奶爽死视频| 日韩一区二区三区日韩精品| 亚洲第一香蕉视频啪啪爽| 亚洲日本欧洲二区精品| 亚洲色大成网站WWW国产| 国产女人水真多18毛片18精品| 亚洲精品不卡av在线播放| 午夜大尺度福利视频一区| 国产av最新一区二区| 精品av无码国产一区二区| 国产精品∧v在线观看| 亚洲av第二区国产精品| 五级黄高潮片90分钟视频 | 内射干少妇亚洲69XXX|