本發(fā)明涉及計(jì)算機(jī)虛擬化領(lǐng)域之高性能i/o需求場景,具體涉及一種運(yùn)用sr-iov技術(shù)解決大規(guī)模視頻云應(yīng)用中的網(wǎng)絡(luò)性能瓶頸的方法。
背景技術(shù):
虛擬化技術(shù)發(fā)展至今,主要適用場景還是集中在cpu密集、內(nèi)存密集型應(yīng)用,例如web應(yīng)用等,其主要原因是虛擬化技術(shù)的cpu虛擬化、內(nèi)存虛擬化技術(shù)出現(xiàn)最早,解決方案較為成熟,cpu和內(nèi)存的虛擬化效率較高(達(dá)90%以上)。但是在涉及高i/o負(fù)載的應(yīng)用場景中,如大規(guī)模視頻應(yīng)用、高負(fù)載數(shù)據(jù)庫應(yīng)用、3d游戲等場景,虛擬技術(shù)很少能得到應(yīng)用,這是由于i/o虛擬化效率表現(xiàn)不佳(30%-60%不等),這也意味著這些應(yīng)用無法進(jìn)行虛擬化,無法享受虛擬化架構(gòu)所帶來的各種好處,如快速部署、快整遷移、硬件解耦、集群ha等。
在傳統(tǒng)虛擬化技術(shù)架構(gòu)中,由于虛擬機(jī)中的所有網(wǎng)絡(luò)流量都必須經(jīng)過虛擬化底層管理程序、虛擬交換機(jī)進(jìn)行中轉(zhuǎn),在網(wǎng)絡(luò)流量較大時(shí)(大于400mbps),會(huì)造成巨量的cpu中斷與cpu上下文切換,嚴(yán)重時(shí),會(huì)占用所有cpu資源,導(dǎo)致虛擬機(jī)網(wǎng)絡(luò)出現(xiàn)丟包、延遲大幅度抖動(dòng)等故障。
視頻應(yīng)用場景對(duì)網(wǎng)絡(luò)質(zhì)量要求極高,要求網(wǎng)絡(luò)通道高帶寬、低延遲、低抖動(dòng),否則很容易出現(xiàn)視頻畫面卡頓、花屏故障。在大規(guī)模視頻應(yīng)用場景下,每臺(tái)視頻服務(wù)器將承載100-200路視頻,網(wǎng)絡(luò)流量高達(dá)800mbps,如果使用普通的虛擬化技術(shù)架構(gòu)來承載視頻流量,視頻畫面會(huì)出現(xiàn)嚴(yán)重卡頓、花屏現(xiàn)象,故此,目前市場主流的大規(guī)模視頻解決方案都使用物理服務(wù)器進(jìn)行部署。
技術(shù)實(shí)現(xiàn)要素:
為克服虛擬技術(shù)在高i/o負(fù)載應(yīng)用場景中的短板,本發(fā)明提出一種解決大規(guī)模視頻云應(yīng)用中的網(wǎng)絡(luò)性能瓶頸的方法,其基于sr-iov技術(shù),將物理網(wǎng)卡直通給視頻應(yīng)用虛擬機(jī)使用,使視頻流量處理程序直接與物理網(wǎng)卡交互,跳過虛擬化管理層和虛擬交換機(jī)層,從而解決虛擬化環(huán)境中的網(wǎng)絡(luò)丟包和延時(shí)抖動(dòng)問題。
具體技術(shù)內(nèi)容如下:
一種解決大規(guī)模視頻云應(yīng)用中的網(wǎng)絡(luò)性能瓶頸的方法,其包括硬件環(huán)境實(shí)施步驟和軟件環(huán)境實(shí)施步驟;
所述硬件環(huán)境實(shí)施步驟是:
s11,配置有支持sr-iov功能的pc服務(wù)器,該pc服務(wù)器具有支持sr-iov功能的網(wǎng)卡;
所述軟件環(huán)境實(shí)施步驟是:
s21,所述pc服務(wù)器的虛擬化底層使用xenserver平臺(tái),并于其視頻應(yīng)用虛擬機(jī)中安裝有若干視頻服務(wù)軟件,包括視頻流轉(zhuǎn)發(fā)軟件和視頻數(shù)據(jù)存儲(chǔ)軟件;
s22,在pc服務(wù)器的bios設(shè)置中開啟sr-iov功能,在網(wǎng)卡的bios設(shè)置中將其調(diào)整為sr-iov模式;
s23,修改xenserver的啟動(dòng)參數(shù),配置需要直通給視頻應(yīng)用虛擬機(jī)使用的網(wǎng)卡,具體包括以下操作:
s231,定位需要網(wǎng)卡的pci總線地址,將查詢出來的網(wǎng)卡pci總線地址的編號(hào)填入到配置文件中,并重啟pc服務(wù)器令其生效;
s232,查詢到視頻應(yīng)用虛擬機(jī)的uuid,為視頻應(yīng)用虛擬機(jī)分配硬件直通網(wǎng)卡;
s233,開啟視頻應(yīng)用虛擬機(jī),在虛擬機(jī)的操作系統(tǒng)里安裝網(wǎng)卡驅(qū)動(dòng),隨后將該網(wǎng)卡用于視頻應(yīng)用流量處理。
優(yōu)選的,所述pc服務(wù)器的虛擬化底層采用xenserver6.5以上版本。
本發(fā)明通過使用sr-iov技術(shù)結(jié)合開源虛擬化平臺(tái)(xenserver),將虛擬化技術(shù)引入到視頻應(yīng)用場景中。具體的有益效果說明如下:
1)解決了虛擬化環(huán)境中的網(wǎng)絡(luò)丟包和延時(shí)抖動(dòng)問題,消除了虛擬化環(huán)境在處理巨量網(wǎng)絡(luò)流量時(shí)的網(wǎng)絡(luò)丟包問題,虛擬機(jī)網(wǎng)絡(luò)延時(shí)抖動(dòng)由之前的1~100ms,穩(wěn)定在1ms左右,基本沒有網(wǎng)絡(luò)延時(shí)抖動(dòng)。
2)消除了虛擬化層用于處理網(wǎng)絡(luò)流量的巨量cpu開銷,消除了虛擬化管理程序和虛擬交換機(jī)軟件層處理巨量流量時(shí)所觸發(fā)的海量cpu中斷和cpu上下文切換開銷,極大的提升了物理服務(wù)器的虛擬化效率。
3)將虛擬化技術(shù)引入到視頻應(yīng)用場景,使得視頻云首次架構(gòu)在虛擬化架構(gòu)平臺(tái)上,依托虛擬化架構(gòu)平臺(tái)的先天優(yōu)勢,短時(shí)間就完成生產(chǎn)環(huán)境的快速部署上線,且大大降低了項(xiàng)目實(shí)施成本,以較低的代價(jià)實(shí)現(xiàn)了整套系統(tǒng)的整體容災(zāi)。
附圖說明
圖1為本發(fā)明的軟件環(huán)境實(shí)施步驟的流程圖。
具體實(shí)施方式
如下結(jié)合附圖1,對(duì)本申請(qǐng)方案作進(jìn)一步描述:
一種解決大規(guī)模視頻云應(yīng)用中的網(wǎng)絡(luò)性能瓶頸的方法,其包括硬件環(huán)境實(shí)施步驟和軟件環(huán)境實(shí)施步驟;
所述硬件環(huán)境實(shí)施步驟是:
s11,配置有支持sr-iov功能的pc服務(wù)器,該pc服務(wù)器具有支持sr-iov功能的網(wǎng)卡;
所述軟件環(huán)境實(shí)施步驟是:
s21,所述pc服務(wù)器的虛擬化底層使用xenserver平臺(tái),并于其視頻應(yīng)用虛擬機(jī)中安裝有若干視頻服務(wù)軟件,包括視頻流轉(zhuǎn)發(fā)軟件和視頻數(shù)據(jù)存儲(chǔ)軟件;
s22,在pc服務(wù)器的bios設(shè)置中開啟sr-iov功能,在網(wǎng)卡的bios設(shè)置中將其調(diào)整為sr-iov模式;
s23,修改xenserver的啟動(dòng)參數(shù),配置需要直通給視頻應(yīng)用虛擬機(jī)使用的網(wǎng)卡,具體包括以下操作:
s231,
定位需要網(wǎng)卡的pci總線地址,所使用的命令是:1spci|grep-inet;
將查詢出來的網(wǎng)卡pci總線地址的編號(hào)填入到配置文件中,所使用的命令是:
vi/boot/extlinux.conf;
...splashpciback.hide=(43:00.0)(43:00.1)(44:00.0)(44:00.1)---...;斜體顯示為相應(yīng)的格式示例;
執(zhí)行命令,并重啟pc服務(wù)器令其生效,所使用的命令是:
extlinux-i/boot;
reboot;
s232,
查詢到視頻應(yīng)用虛擬機(jī)的uuid,所使用的命令是:
xevm-listname-lable=”視頻應(yīng)用虛擬機(jī)的名稱”;
為視頻應(yīng)用虛擬機(jī)分配硬件直通網(wǎng)卡,所使用的命令是:
xevm-param-set;
other-config:pci=0/0000:44:00.0,0/0000:44:00.1
uuid=8a4998a2-d781-81a2-edd2-36f149f4055e
s233,開啟視頻應(yīng)用虛擬機(jī),在虛擬機(jī)的操作系統(tǒng)里安裝網(wǎng)卡驅(qū)動(dòng),隨后將該網(wǎng)卡用于視頻應(yīng)用流量處理。
所述pc服務(wù)器的虛擬化底層采用xenserver6.5以上版本。
測試數(shù)據(jù)如下:(iperf網(wǎng)絡(luò)流量壓力9gb/s)
本發(fā)明涉及的名詞解釋:
uuid,即universallyuniqueidentifier,其含義是通用唯一識(shí)別碼。
xenserver,是一種全面而易于管理的服務(wù)器虛擬化平臺(tái),基于強(qiáng)大的xenhypervisor程序之上,是為了高效地管理windows(r)和linux(r)虛擬服務(wù)器而設(shè)計(jì)的,可提供經(jīng)濟(jì)高效的服務(wù)器整合和業(yè)務(wù)連續(xù)性。xen技術(shù)被廣泛看作是業(yè)界最快速、最安全的虛擬化軟件。
sr-iov,即single-rooti/ovirtualization,意為單根i/o虛擬化,使用sr-iov技術(shù)會(huì)使處理器利用率和網(wǎng)絡(luò)延遲降低50%,而且會(huì)增加30%的網(wǎng)絡(luò)吞吐率;通過網(wǎng)絡(luò)性能的優(yōu)化,可以在不花錢投資sr-iov網(wǎng)絡(luò)基礎(chǔ)設(shè)施的情況下,在同樣一臺(tái)sr-iov服務(wù)器上支持更多的虛擬機(jī),或在高i/o負(fù)載的機(jī)器上很好地運(yùn)行vm;同時(shí),sr-iov提供的低延遲可以讓對(duì)延遲敏感的網(wǎng)絡(luò)流量(例如交易型數(shù)據(jù)或流媒體)有更好的網(wǎng)絡(luò)性能。
上述優(yōu)選實(shí)施方式應(yīng)視為本申請(qǐng)方案實(shí)施方式的舉例說明,凡與本申請(qǐng)方案雷同、近似或以此為基礎(chǔ)作出的技術(shù)推演、替換、改進(jìn)等,均應(yīng)視為本專利的保護(hù)范圍。