在KVM中配置SR-IOV

SR-IOV概念

single root input/output virtualization,SR-IOV可以將一個(gè)獨(dú)立的物理PCI資源劃分成多個(gè)虛擬的PCI資源引镊,并可以加載到虛擬機(jī)內(nèi)使用朦蕴。由于有了網(wǎng)絡(luò)VF,令流量繞過宿主機(jī)的網(wǎng)絡(luò)棧弟头,SR-IOV增強(qiáng)了南北向(從虛擬機(jī)末端流出宿主機(jī)的流量)的網(wǎng)絡(luò)性能吩抓。

支持的網(wǎng)卡型號(hào)

Intel X710(32VF)、XL710(64VF)赴恨、X540(32VF)等

接入方法

  • 作為SR-IOV VF PCI的直通設(shè)備接入
  • 使用macvtap作為SR-IOV網(wǎng)絡(luò)適配器
  • 使用KVM的虛擬網(wǎng)絡(luò)適配器池疹娶,作為SR-IOV網(wǎng)絡(luò)適配器接入
  • 如果使用XL710網(wǎng)卡,需要在虛擬機(jī)內(nèi)安裝Data Plane Development Kit (DPDK) 伦连,否則無法達(dá)到最高性能雨饺。

一、直通設(shè)備接入

  1. 查看VF PCI的總線信息惑淳,也可以使用該腳本查看https://github.com/intel/SDN-NFV-Hands-on-Samples/blob/master/SR-IOV_Network_Virtual_Functions_in_KVM/listvfs_by_pf.sh

    # lshw -c network -businfo
    
  2. 添加一個(gè)<hostdev>的tag到虛擬機(jī)额港。

    通過上面的腳本將查看到的domain、bus歧焦、slot及function信息寫入tag內(nèi)移斩。

    # virsh edit <name of virtual machine>
    # virsh dump <name of virtual machine>
    <domain>
    …
    <devices>
    …
    <hostdev mode='subsystem' type='pci' managed='yes'>
          <source>
            <address domain='0x0000' bus='0x03' slot='0x10' function='0x0'/>
          </source>
    </hostdev>
    …
    </devices>
    …
    </domain>
    
  3. 啟動(dòng)虛擬機(jī)。

二、使用macvtap作為SR-IOV網(wǎng)絡(luò)適配器

這種方式不需要知道VF 的PCI總線信息向瓷,只需要知道系統(tǒng)創(chuàng)建的VF的接口名稱肠套。

  1. 執(zhí)行腳本,確定VF的接口名稱猖任。

  2. 關(guān)機(jī)你稚,增加interface的tag到虛擬機(jī)。

    # virsh edit <name of virtual machine>
    # virsh dump <name of virtual machine>
    <domain>
    …
    <devices>
    …
       <interface type='direct'>
          <source dev='enp3s16f1' mode='passthrough'/>
       </interface>
    …
    </devices>
    …
    </domain>
    
  3. 當(dāng)虛擬機(jī)開機(jī)后超升,KVM會(huì)在指定的VF接口創(chuàng)建一個(gè)macvtap的適配器入宦,在宿主上能看到一個(gè)macvtap適配器摊沉,它的mac地址和vm內(nèi)的設(shè)備是不同的枉圃。實(shí)際上,一個(gè)macvtap設(shè)備會(huì)被分配了兩個(gè)mac地址疏日,這種復(fù)雜的配置可能會(huì)導(dǎo)致網(wǎng)絡(luò)性能變差盈滴。

三涯肩、使用KVM的虛擬網(wǎng)絡(luò)適配器池

用這種方式配置既不需要知道VF的PCI信息也不需要知道VF的接口名稱,只需要知道物理網(wǎng)卡的名稱即可完成配置巢钓。KVM將會(huì)創(chuàng)建一個(gè)VF網(wǎng)絡(luò)設(shè)備的資源池病苗,資源池內(nèi)的設(shè)備可以自動(dòng)地分配給虛擬機(jī)使用,資源池內(nèi)的設(shè)備數(shù)量取決于物理網(wǎng)絡(luò)創(chuàng)建的VF數(shù)量症汹。

  1. 創(chuàng)建虛擬網(wǎng)絡(luò)適配器池硫朦。

    查看已經(jīng)創(chuàng)建了VF的網(wǎng)卡設(shè)備,找到出現(xiàn)vf字段的設(shè)備背镇。

    ip l
    

    創(chuàng)建一個(gè)XML咬展。

    # cat > sr-iov-net-XL710.xml << EOF
    > <network>
    >  <name>sr-iov-net-40G-XL710</name>
    >  <forward mode='hostdev' managed='yes'>
    >   <pf dev='ens802f0'/>
    >  </forward>
    > </network>
    > EOF
    

    Virsh define這個(gè)網(wǎng)絡(luò)池。

    # virsh net-define sr-iov-net-XL710.xml
    
  2. 展示全部的虛擬網(wǎng)絡(luò)瞒斩。

    # virsh net-list --all
     Name                 State      Autostart     Persistent
    ----------------------------------------------------------
     default              active     yes           yes
     sr-iov-net-40G-XL710 inactive   no            yes
    
  3. 啟動(dòng)及配置自啟動(dòng)破婆。

    # virsh net-start sr-iov-net-40G-XL710
    # virsh net-autostart sr-iov-net-40G-XL710
    
  4. 使用virsh-edit增加一個(gè)網(wǎng)絡(luò)適配器的tag,從網(wǎng)絡(luò)池接入一個(gè)設(shè)備到虛擬機(jī)胸囱。

    # virsh edit <name of virtual machine>
    # virsh dump <name of virtual machine>
    <domain>
    …
    <devices>
    …
    <interface type='network'>
      <source network='sr-iov-net-40G-XL710'/>
    </interface>
    …
    </devices>
    …
    </domain>
    
  5. 啟動(dòng)虛擬機(jī)祷舀。

    # virsh start <name of virtual machine>
    

參考:https://software.intel.com/en-us/articles/configure-sr-iov-network-virtual-functions-in-linux-kvm

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市烹笔,隨后出現(xiàn)的幾起案子裳扯,更是在濱河造成了極大的恐慌,老刑警劉巖谤职,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚎朽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡柬帕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陷寝,“玉大人锅很,你說我怎么就攤上這事》锱埽” “怎么了爆安?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)仔引。 經(jīng)常有香客問我扔仓,道長(zhǎng),這世上最難降的妖魔是什么咖耘? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任翘簇,我火速辦了婚禮,結(jié)果婚禮上儿倒,老公的妹妹穿的比我還像新娘版保。我一直安慰自己,他們只是感情好夫否,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布彻犁。 她就那樣靜靜地躺著,像睡著了一般凰慈。 火紅的嫁衣襯著肌膚如雪汞幢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天微谓,我揣著相機(jī)與錄音森篷,去河邊找鬼。 笑死堰酿,一個(gè)胖子當(dāng)著我的面吹牛疾宏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播触创,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坎藐,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了哼绑?” 一聲冷哼從身側(cè)響起岩馍,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抖韩,沒想到半個(gè)月后蛀恩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茂浮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年双谆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了壳咕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顽馋,死狀恐怖谓厘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寸谜,我是刑警寧澤竟稳,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站熊痴,受9級(jí)特大地震影響他爸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜果善,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一诊笤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岭埠,春花似錦盏混、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至馆类,卻和暖如春混聊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乾巧。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國打工句喜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沟于。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓咳胃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親旷太。 傳聞我的和親對(duì)象是個(gè)殘疾皇子展懈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容