• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      P2P技術提升桌面虛擬化中鏡像下載速度研究

      2018-05-15 08:31:14程良胡丹婷
      軟件導刊 2018年4期

      程良 胡丹婷

      摘 要:在大規(guī)模桌面虛擬化集群部署過程中,虛擬機鏡像創(chuàng)建時,大量鏡像數(shù)據(jù)在鏡像服務器和計算節(jié)點服務器之間傳輸,下載速度直接影響著虛擬桌面的創(chuàng)建和更新速度。為了提高虛擬機鏡像模板部署和系統(tǒng)的整體性能,從網絡傳輸角度,提出一種基于BitTorrent的P2P技術提升鏡像下載速度的方法。該方法在計算節(jié)點數(shù)量較多的情況下,能大幅提高鏡像下載速度,從而保證鏡像模板的快速分發(fā),提升用戶對桌面虛擬化系統(tǒng)的使用體驗。

      關鍵詞:P2P;BitTorrent;桌面虛擬化;鏡像下載

      DOI:10.11907/rjdk.172620

      中圖分類號:TP319

      文獻標識碼:A 文章編號:1672-7800(2018)004-0151-04

      Abstract:In the process of mass desktop virtualization cluster deployment, when the image of virtual machines is being created, massive image data are transmitted between image storage servers and computing node servers, whose download speed directly influences the speed of creating and of updating the virtual desktop. In terms of network transmission, the paper proposes the technique of P2P based on BitTorrent to accelerate image download and to improve the deployment of virtual machine image templates and the performance of the whole system. The approach is able to considerably accelerate the image download when there are a comparatively large number of computing nodes, so as to ensure the rapid distribution of image templates and to refine the user experience in the desktop virtualization system.

      Key Words:P2P; BitTorrent; desktop virtualization; image download

      0 引言

      隨著我國教育信息化改革的不斷深入,教學方式也在不斷創(chuàng)新,很多高校的機房基礎設施建設都采用了桌面虛擬化技術[1](VDI技術),以期為教學提供高效靈活的實驗環(huán)境。研究表明,桌面虛擬化技術的應用,能顯著提高系統(tǒng)的資源利用率,并大幅降低能源消耗[2],因此被越來越多的高校作為機房系統(tǒng)建設目標。目前在桌面虛擬化系統(tǒng)中,虛擬機鏡像的創(chuàng)建流程和方法如下:所有鏡像都存放在鏡像服務器上,由鏡像服務進行管理,計算節(jié)點需要從鏡像創(chuàng)建第一個虛擬機時,通過HTTP從鏡像服務器下載鏡像。在計算節(jié)點較少時,這種HTTP下載方式基本能滿足鏡像的下載需求,不會影響下載效率,但在計算節(jié)點數(shù)量相對較多的情況下,并發(fā)從鏡像服務器下載鏡像,所有節(jié)點同時向服務器提出請求,鏡像服務器必將成為一個瓶頸,從而降低鏡像下載速度,以及桌面創(chuàng)建、更新速度,影響系統(tǒng)的整體性能和用戶使用體驗。

      假定鏡像服務器的網絡帶寬為N,計算節(jié)點數(shù)量為M,需同時下載的鏡像大小為P,計算出在理想情況下需要花費的時間T為:T=P/(N/M)。

      根據(jù)公式,結合實際使用環(huán)境得出以下數(shù)據(jù),如表1所示。

      從表1數(shù)據(jù)可以看出:①當集群規(guī)模較大時,下載數(shù)據(jù)耗時非常長;②將鏡像服務器網絡帶寬擴充到萬兆,能有效減少下載耗時,但隨著集群規(guī)模增加,仍會存在明顯瓶頸。

      針對上述問題,文獻[3]從鏡像管理的角度提出鏡像按需分發(fā)框架,根據(jù)虛擬機啟動和運行過程中只對有限數(shù)據(jù)塊訪問的特性,僅傳輸虛擬機啟動和運行所需的數(shù)據(jù)塊,避免了存儲節(jié)點和網絡瓶頸問題,并采用差異化的數(shù)據(jù)塊劃分方法,提高了鏡像分發(fā)速度;文獻[4]從虛擬機鏡像存儲系統(tǒng)方面,設計了一種系統(tǒng)層的虛擬機鏡像數(shù)據(jù)協(xié)作式緩存機制,通過充分利用各節(jié)點緩存的服務能力,使其暫存的虛擬機鏡像數(shù)據(jù)能夠為其它節(jié)點提供讀取服務。協(xié)作式緩存實現(xiàn)了物理節(jié)點間類P2P模式的數(shù)據(jù)傳輸,可有效減少虛擬機讀取數(shù)據(jù)的傳輸開銷,提升虛擬機存儲系統(tǒng)性能;文獻[5]設計了一種桌面虛擬化鏡像分布式存儲系統(tǒng),通過把頻繁訪問的只讀根鏡像數(shù)據(jù)塊緩存在本地,采用輕量級元數(shù)據(jù)服務器架構,結合中心化設計和去中心化設計的優(yōu)點,進一步提升了虛擬機鏡像的讀寫性能;文獻[6]發(fā)明了一種將虛擬機鏡像文件中的系統(tǒng)文件按預定規(guī)則劃分成邏輯塊的方法,通過判斷邏輯塊對應的數(shù)據(jù),去除鏡像文件中的冗余數(shù)據(jù),進而有效降低桌面云系統(tǒng)虛擬機鏡像在數(shù)據(jù)存儲時的存儲量。

      綜上所述,目前在桌面虛擬化場景中,現(xiàn)有大部分方法都是通過改進虛擬機鏡像文件存儲及降低鏡像文件體積,以提升鏡像文件的傳輸性能。然而,本文提出一種更為簡單、直接、易于實施的方法,該方法從網絡傳輸?shù)慕嵌?,在桌面虛擬化中基于P2P技術[7]提升鏡像下載速度,使計算節(jié)點采用P2P方式進行鏡像下載。在多個計算節(jié)點同時下載同一鏡像的過程中,不同計算節(jié)點會直接連接并交換數(shù)據(jù),使鏡像服務器不會成為瓶頸。在大規(guī)模部署桌面云的環(huán)境中,系統(tǒng)效能提升尤為明顯。

      1 BitTorrent技術原理

      BitTorrent[8]是一個基于P2P(Peer to Peer)的文件分發(fā)協(xié)議,其用途是多用戶的文件上傳和下載,僅占用文件發(fā)布者極少的帶寬資源,具有很高的效率[9]。基于BitTorrent協(xié)議的下載方式被稱為BitTorrent下載,簡稱“BT下載”。傳統(tǒng)的HTTP、FTP下載方式需要在網絡中存在一個文件服務器,所有文件下載客戶端均需連接到該服務器進行下載,從而增加了文件服務器及其所載網絡的負荷,降低網絡使用效率,甚至造成網絡癱瘓[10]。BT協(xié)議與其不同,特點是下載的人越多,下載速度越快,原因在于每個下載者可將已下載的數(shù)據(jù)提供給其他下載者下載,充分利用了用戶的上載帶寬。同時,通過一定策略保證上傳速度越快,下載速度也越快。

      普通的HTTP/FTP下載使用TCP/IP協(xié)議,BitTorrent協(xié)議是架構于TCP/IP協(xié)議之上的一個P2P文件傳輸協(xié)議,處于TCP/IP結構的應用層。BitTorrent協(xié)議本身也包含了很多具體的內容協(xié)議和擴展協(xié)議,并在不斷擴充中。

      根據(jù)BitTorrent協(xié)議,文件發(fā)布者根據(jù)要發(fā)布的文件生成一個.torrent文件,即種子文件,簡稱為“種子”。.torrent文件本質上是文本文件,包含Tracker信息和文件信息兩部分[11]。Tracker信息主要是BT下載中需要用到的Tracker服務器地址和針對Tracker服務器的設置;文件信息是根據(jù)對目標文件的計算生成的,計算結果根據(jù)BitTorrent協(xié)議內的B編碼規(guī)則進行編碼。其主要原理是把提供下載的文件虛擬分成大小相等的塊,大小一般為2k的n次方(實際硬盤上不會生成每個塊文件),并把每個塊的索引信息和Hash校驗碼寫入種子文件(.torrent)中。所以,種子文件(.torrent)是被下載文件的“索引”[12]。

      在VDI場景中,往往需要從某個鏡像批量創(chuàng)建多個虛擬機,而且要求虛擬機分布到多個計算節(jié)點上,以滿足并發(fā)快速啟動的需求,這意味著需要完成鏡像文件從鏡像服務器快速分發(fā)到多個計算節(jié)點上。由于每個節(jié)點都能提供上傳服務,所以系統(tǒng)總體服務能力會隨著下載節(jié)點個數(shù)的增加而增加,使系統(tǒng)具有良好的可擴展性[13],這與BT和P2P解決的問題是一致的。

      2 系統(tǒng)架構與工作流程

      2.1 系統(tǒng)框架

      在桌面虛擬化(VDI技術)場景中實現(xiàn)P2P下載,系統(tǒng)架構主要包括以下3個組件:鏡像服務、計算節(jié)點服務、BT-Tracker服務,如圖1所示。

      鏡像服務:完成鏡像文件的保存、做種等功能。

      BT-Tracker:維護每個種子文件連接的節(jié)點信息,在本文提出的方案中,節(jié)點包含鏡像服務和計算節(jié)點服務。

      計算節(jié)點服務:創(chuàng)建虛擬機前,通過P2P技術從鏡像服務器下載鏡像。

      鏡像服務和計算節(jié)點服務通過BT-Tracker連接進行信息交換后,直接連接進行數(shù)據(jù)交換。

      以一個需要從鏡像服務分發(fā)鏡像文件到2個計算節(jié)點的場景,描述鏡像文件下發(fā)的整體過程如下:①鏡像服務對鏡像文件做種,并對BT-Tracker報告擁有鏡像完整文件;②計算節(jié)點1、2對BT-Tracker報告,并取回鏡像服務擁有完整文件的信息;③計算節(jié)點1、2直接連接鏡像服務,下載鏡像文件;④計算節(jié)點1、2在下載過程中,計算節(jié)點報告BT-Tracker服務擁有鏡像文件的部分內容;⑤計算節(jié)點1同時連接鏡像服務與計算節(jié)點2進行數(shù)據(jù)交換;⑥計算節(jié)點2同時連接鏡像服務與計算節(jié)點1進行數(shù)據(jù)交換。

      2.2 BT-Tracker模塊內部工作流程

      BT-Tracker服務為鏡像服務與計算節(jié)點溝通的紐帶,鏡像服務和計算節(jié)點作為P2P下載中的客戶端。在系統(tǒng)剛開始運行時并不知曉對方存在,所有客戶端需向BT-tracker報告自己的狀態(tài),并獲取其它客戶端信息。當其它客戶端有需要下載的數(shù)據(jù)時,會直接發(fā)起與該客戶端的連接,并完成下載操作。

      BT-Tracker在收到客戶端報告時,如果該客戶端報告的狀態(tài)為非stopped,則會保存該報告信息,并將其返回給客戶端,否則會將該信息移除。工作流程如圖2所示。

      其中生成種子文件的核心偽代碼如下:

      (1)構建libtorrent文件存儲對象:

      fs <- lt.file_storage()

      (2)將做種的文件加入到文件存儲對象中:

      lt.add_files fs, image_file

      (3)創(chuàng)建libtorrent種子文件對象:

      t <- lt.create_torrent fs, trunk_size

      (4)對鏡像文件分塊計算HASH值,并設置到種子文件對象中:

      FOR 每個分塊設置每塊HASH

      (5)生成種子文件。通過HASH信息生成種子文件。

      2.3 鏡像下載工作流程

      客戶端在進行鏡像下載時,會先判斷客戶端所在節(jié)點與鏡像服務是否在同一節(jié)點,如果是則直接使用文件拷貝,如果不是,則判斷是否啟用了P2P機制。如果未啟用,則使用HTTP方式進行下載,如已啟用P2P,則判斷種子文件是否存在。如種子不存在,則使用HTTP方式進行下載,否則使用P2P下載。詳細流程如圖3所示。

      下載鏡像文件的核心偽代碼如下:

      (1)構建OEBitTorrent對象:

      bt <- OEBitTorrent()

      (2)加入種子文件到OEBitTorrent對象,自動開始下載:

      torrent_handle <- bt.add_torrent torrent_file_path, save_path, new_file_name, new_tracker_urls

      (3)等待下載完成:

      WHILE下載未完成

      SLEEP 10

      (4)從OEBitTorrent中移除種子文件:

      bt.remove_torrent(torrent_handle)

      3 實驗結果與分析

      3.1 實驗環(huán)境設置

      實驗共使用5臺硬件配置相同的服務器,包含1個2.0GHz Xeon E5-2640 CPU,32GB內存,存儲設備為1塊2 TB SATA硬盤。工作過程完全相同,只是服務器數(shù)量不同。鏡像存儲節(jié)點和計算節(jié)點通過千兆交換機連接。其中1個節(jié)點運行鏡像服務和BT-Tracker服務,剩余節(jié)點運行計算節(jié)點服務。

      3.2 實驗結果與分析

      本文所設置的實驗過程描述如下:①分別準備20G和40G的磁盤鏡像文件;②使用鏡像服務分別對2個鏡像文件做種,生成種子文件;③種子文件存放在共享文件系統(tǒng)NFS中,使4個計算節(jié)點都能正常訪問;④3/4個運行計算節(jié)點的服務器同時進行文件下載,分別針對使用HTTP方式和P2P方式下載進行計時,下載完成后記錄下載平均時間。在本次實驗中,每次都在同樣環(huán)境中進行3次下載,取平均值。實驗結果如表2所示。

      由表2可知,使用HTTP下載時,因鏡像服務器所在節(jié)點網絡帶寬存在瓶頸,所有節(jié)點總下載速度為100.2MB/S左右。節(jié)點越多,同樣大小的鏡像文件下載時間越長。使用P2P下載,當節(jié)點數(shù)為3時,所有節(jié)點總下載速度為180.1MB/S左右;節(jié)點數(shù)為4時,所有節(jié)點的總下載速度為276.3MB/S左右。隨著節(jié)點數(shù)增多,下載速度隨之提升,同樣鏡像大小的文件下載時間會縮短。

      綜上所述,在計算節(jié)點數(shù)為3個以上時,P2P技術能有效提升鏡像下載速度,并且節(jié)點數(shù)越多,速度提升表現(xiàn)越明顯。這意味著虛擬桌面數(shù)量規(guī)模越大、計算節(jié)點越多,采用P2P技術越能提升鏡像下載速度。

      4 結語

      在桌面虛擬化(VDI技術)系統(tǒng)中,虛擬機鏡像分發(fā)采用P2P方式,在使多個計算節(jié)點同時下載同一鏡像過程中,不同計算節(jié)點可直接連接并交換數(shù)據(jù),從而使鏡像服務器不會成為瓶頸,提升了鏡像下載速度及桌面創(chuàng)建速度,同時提升了系統(tǒng)整體性能和用戶使用體驗。實驗結果也證實了P2P技術對于多個計算節(jié)點同時下載鏡像文件時的速度提升較為明顯。

      參考文獻:

      [1] 盛雯雯,李家峰.基于桌面虛擬化的多媒體機房設計——桌面虛擬化引導機房建設革命[J].硅谷,2011(18):49,14.

      [2] DEBOOSERE L, VANKEIRSBILCK B, SIMONES P, et al. Efficient resource management for virtual desktop cloud computing[J]. The Journal of Supercomputing,2012,62(2):741-767.

      [3] 劉圣卓,姜進磊,楊廣文.一種用于虛擬集群的鏡像按需分發(fā)框架[J].計算機工程與應用,2016(2):1-6.

      [4] 李紫陽.云環(huán)境下虛擬機鏡像數(shù)據(jù)的協(xié)作式緩存研究[D].長沙:國防科技大學,2012.

      [5] 姜躍.面向桌面虛擬化的分布式鏡像存儲研究[D].武漢:華中科技大學,2012.

      [6] 江云飛,裘杰,徐紅仙.虛擬機鏡像文件處理方法、裝置及系統(tǒng)[P].中國:CN103942292A,2014.

      [7] 周文莉,吳曉非.P2P技術綜述[J].計算機工程與設計,2006(1):76-79.

      [8] BitTorrent.org. Bittorrent[EB/OL].http://www.bittorrent.org.2015.

      [9] 孔彬,徐良賢.BitTorrent原理分析及改進[J].計算機工程,2004,30(A1):257-259.

      [10] 王玨,周莉.BitTorrent模型原理分析[J].華東交通大學學報,2009(1):82.

      [11] 黃江勇.基于非結構化P2P網絡的可擴展性研究[D].長沙:湖南大學,2012.

      [12] 柳斌,李芝棠.基于訪問控制列表的BitTorrent流量控制策略[J].計算機應用與軟件,2006(5):19-34.

      [13] YANG X Y, GUSTAVO D V. Service capacity of peer to peer networks[C]. Proceedings of the 23rd Conference of the IEEE Computer and Communications Societies,2004:2242-2252.

      (責任編輯:黃 ?。?/p>

      贵定县| 明溪县| 甘泉县| 兴义市| 成都市| 武平县| 陵川县| 永和县| 安平县| 龙井市| 佛学| 洛阳市| 宜兰县| 宁武县| 北安市| 安龙县| 阜平县| 句容市| 桂平市| 家居| 龙州县| 井冈山市| 司法| 盐池县| 烟台市| 通江县| 克拉玛依市| 安西县| 同江市| 寻乌县| 昌吉市| 和林格尔县| 东乡| 天门市| 临江市| 内乡县| 高淳县| 静海县| 瓦房店市| 鹤岗市| 桐庐县|