◎ 中國空間技術研究院、北京空間機電研究所 閆順琪 趙永豐 史秀鵬 張宏宇 孫麒 靳力
網(wǎng)絡發(fā)展過程中,網(wǎng)絡功能基本都是通過硬件設備來完成對數(shù)據(jù)的處理。隨著網(wǎng)絡“僵化”現(xiàn)象的發(fā)生,網(wǎng)絡虛擬化技術應運而生。研究學者為了提升硬件設備的資源利用效率,通過虛擬化技術來實現(xiàn)硬件設備的虛擬化,實現(xiàn)在同一個硬件設備的相互隔離,這可以顯著提升資源效率和網(wǎng)絡靈活性,節(jié)約企業(yè)的經(jīng)濟成本,具備較好的經(jīng)濟效益。
云計算能夠根據(jù)用戶需求進行數(shù)據(jù)中心資源的分配工作,從而節(jié)約數(shù)據(jù)中心的能耗。在云計算資源管理過程中,虛擬機遷移也是較為常見的處理方式,它是在目標主機上完成部署源主機的操作系統(tǒng)、應用程序共享,此時就可以在目標主機中正常工作。
云計算能夠充分利用硬件設備資源,提供給用戶足夠得存儲空間。云存儲中的所有數(shù)據(jù)基本都是可以實現(xiàn)共享,能夠在各個終端中進行下載。因此云計算具有分布式低能耗、資源共享等優(yōu)勢。隨著技術的發(fā)展,云服務的網(wǎng)絡架構架構也在逐步改進優(yōu)化,較為經(jīng)典的云網(wǎng)絡架構如圖1所示,包含有云服務供應商(CSP),用戶(Users)和密鑰服務器(KS)。
如圖1所示,用戶會將數(shù)據(jù)直接上傳到網(wǎng)絡云中,并存儲在分布式虛擬地址中,其它用戶只要通過獲取得到該地址就可以實現(xiàn)數(shù)據(jù)下載。為了確保數(shù)據(jù)的云存儲安全性,通過K S 來部署服務發(fā)布的密鑰等信息。云計算的數(shù)據(jù)服務具有較多的優(yōu)勢,因此在日常網(wǎng)絡應用中應用越來越廣泛,很多用戶都選擇將個人數(shù)據(jù)直接存儲到云中,實現(xiàn)隨時隨地的安全下載和查看。
傳統(tǒng)的數(shù)據(jù)存儲都是在本地硬盤中,云中數(shù)據(jù)是存儲在網(wǎng)絡上,因此數(shù)據(jù)存儲有一定的安全風險,容易遭受到網(wǎng)絡攻擊、病毒感染等。這都是由于網(wǎng)絡環(huán)境的復雜性、開放性導致,傳統(tǒng)的加密算法也無法直接部署和應用在云環(huán)境中,使得云數(shù)據(jù)安全的挑戰(zhàn)非常多。云計算的數(shù)據(jù)安全必須要滿足機密性(Confidentiality),所有的云數(shù)據(jù)都必須是合法的被下載、傳輸,不會受到非法用戶的下載和讀取等操作。此外還需要具備完整性(Integrity),所有的數(shù)據(jù)都是在網(wǎng)絡進行傳輸,整個過程必須要安全,不能夠被非法篡改。最后要確保具備可用性(Availability),所有的用戶在通過驗證后都能夠安全的使用數(shù)據(jù)。
較為典型的云計算部署方式為:
一是私有云。這是一種安全的云數(shù)據(jù)部署方式,它是在云端中獨立的開辟空間給個人或者第三方機構。這種沒有共享的方式,安全隱私性能非常好。
二是公有云。它是一種公用的云數(shù)據(jù)部署方式,根據(jù)不同的應用需求可以部署在本地、網(wǎng)絡云等位置,提供給社會群組網(wǎng)絡服務。
三是社區(qū)云。對于部分具備相同目標的用戶和組織群體,社區(qū)云能夠提供統(tǒng)一的服務,并沒有嚴格的所有權規(guī)定和部署位置,提供給它們相關的網(wǎng)絡服務。
四是混合云。綜合私有云、公有云、社區(qū)云等特點,根據(jù)用戶需求進行組合綜合應用,不同云是通過設定公認的標準來相互連結,但每個云內部都是獨立運行。
圖1 云計算架構
虛擬化技術通過將實際的硬件資源分配為多個應用環(huán)境,各個環(huán)境是相互獨立、安全的,并可以實現(xiàn)軟硬件的通用,逐步將物理資源變換為邏輯可管理資源。云計算的虛擬技術能夠將一個硬件設備變換為多個虛擬邏輯設備,從之前的部署多臺硬件設備可以節(jié)約為部署一臺硬件設備,且每個虛擬設備都是相互獨立、隔離的,能夠最大化的利用硬件資源。
在工業(yè)社會、日常應用中虛擬化技術都在不斷的優(yōu)化改進,當前已經(jīng)出現(xiàn)了非常多的虛擬化框架技術,較為核心的有:
1.KVM 虛擬化技術
KVM是由以色列公司Qumranet研發(fā)的基于內核虛擬機,并很快被Linux系統(tǒng)直接定義為內部KVM模塊,所有的用戶都可以直接進行部署和調用。2008年,Redhat收購Qumranet公司后,則被正式認為是Linux系統(tǒng)內部的默認虛擬化解決方案,因此在當前的應用也是最多的。KVM框架中,Linux系統(tǒng)將一臺虛擬機定義為一個進程,可以根據(jù)需求部署多個虛擬機,這就能夠顯著的提升資源調度的效率。
2.VMware 虛擬化
VMware包含有比較多的組件,是一個vSphere虛擬化平臺。其中ESXi組件是能夠提供虛擬化服務的監(jiān)控程序,它能夠在物理硬件設備上進行安裝、運行操作,且這個過程是獨立的。vSphere Client組件讓用戶能夠直接進行ESXi服務的訪問操作,并能夠對所屬的虛擬機進行管理。VMware 是集成了ESXi物理機、虛擬機的一個平臺。
3.Xen 虛擬化技術
Xen是開源的VMM技術,在物理硬件設備上直接進行運行,它能夠實現(xiàn)全虛擬化、半虛擬化功能。Xen部署的多個虛擬機都是通過一個特殊的0號虛擬機來完成對I/O控制操作,Linux操作系統(tǒng)中內部的內核驅動程序修改、刪除等操作都是通過0號虛擬機來實現(xiàn),這就能夠保證各個虛擬機具備良好的隔離性和安全性。
4.Hyper V 虛擬化技術
微軟研發(fā)的Hyper-V虛擬化技術架構為微內核方式,能夠兼具高性能要求、安全性。Hyper-V虛擬化是借鑒X e n框架,其中V M M具備最高的權限,因此可以直接訪問底層硬件設備,無需中間進行二進制翻譯。
虛擬機遷移技術主要是確保主機能夠較快的實現(xiàn)負載均衡,因此可以變換虛擬機位置。虛擬化是在同一個計算機上實現(xiàn)多臺虛擬機的部署工作,遷移技術則是將已經(jīng)在源主機上部署虛擬機直接遷移到目標主機上。主要包含如下的步驟:
(1)根據(jù)主機主機負載狀態(tài),在經(jīng)過判斷后進行遷移時機的選擇;
(2)篩選源主機上的虛擬機,從中獲取得到一個最佳的虛擬機進行 遷移;
(3)目標主機部署最佳虛擬機環(huán)境,完成遷移操作。
我國公有云的使用規(guī)模擴大速度非???,用戶群體規(guī)模和數(shù)量的快速增加,會出現(xiàn)較為復雜的情況。此時云服務商要實時進行主機負載狀態(tài)的監(jiān)控,實現(xiàn)將硬件設備的虛擬機遷出、遷入操作,具體可以劃分為:
(1)冷遷移,也可以被稱之為靜態(tài)遷移方式。它是在虛擬機被關閉的情況下直接遷移用戶存儲數(shù)據(jù)。冷遷移過程中會中斷業(yè)務,因此具備較高的數(shù)據(jù)安全性、丟失率低等優(yōu)勢,主要是被應用在硬件主機故障發(fā)生時。
(2)熱遷移,也可以被稱之為動態(tài)遷移。虛擬機處于正常工作時,此時能夠快速將虛擬機從源主機轉移到目標主機中,該方式是在后臺直接處理。通常被應用在系統(tǒng)升級或者主機負載過高等情況中,這是由于熱遷移具備較好的可用性服務,但復雜的操作不太適用在日常工作。熱遷移的中斷事件發(fā)生時間非???,基本能夠達到ms級別,用戶對虛擬機位置的變化不會有感受,通常在云服務器中被廣泛應用,這就能夠顯著的提升云數(shù)據(jù)中心得資源利用率,提升整體的能耗利用率。在進行數(shù)據(jù)復制拷貝時,熱遷移可能會存在已經(jīng)拷貝的內存已經(jīng)被重寫或刪除現(xiàn)象,這就會影響到數(shù)據(jù)的精確性。
虛擬機在進行內存拷貝過程中,為了提升數(shù)據(jù)精確性,使用預拷貝(Pre-Copy)技術。內存拷貝是迭代流程,當發(fā)生源主機上已經(jīng)被拷貝的內存出現(xiàn)了修改,就會在迭代時將修改信號告知目標主機??截惲鞒倘鐖D2所示,它會根據(jù)當前的迭代情況確定結束條件。
拷貝流程步驟為:
預遷移環(huán)節(jié)。該階段中高目標主機會直接拷貝源主機上的所有虛擬機內存頁。
迭代拷貝環(huán)節(jié)。該階段會時刻監(jiān)控迭代中虛擬機內存情況,一旦發(fā)生內存頁修改,就會直接在目標主機上完成內存拷貝。
停機拷貝環(huán)節(jié)。該階段會暫停源主機上虛擬機,目標主機會拷貝源主機上的CPU狀態(tài)、剩余內存臟頁,啟動目標主機上的虛擬機。
圖2 虛擬機拷貝流程
數(shù)據(jù)遷移過程中,主機、虛擬機的負載都是時刻變化的。根據(jù)遷移狀態(tài)的變化,就會生成海量的負載數(shù)據(jù),直接表明了主機負載的變化,通過收集這些主機負載歷史數(shù)據(jù),使用機器學習等方式預測主機負載的發(fā)展趨勢,提前判斷主機負載可能發(fā)生的情況,減小SLA違背風險。通過制定合理的主機負載方案,能夠最大化的提升數(shù)據(jù)負載能力、能量消耗、資源利用率。因此研究主機負載預測技術具備非常強的應用價值。
1.負載變化特性
在進行主機負載的平衡預測前,要明確主機負載的變化特征,并根據(jù)不同的應用情況選擇最佳的負載預測算法,獲取得到精確的負載數(shù)據(jù)。云數(shù)據(jù)中心的主機負載特征如下:
1)隨機性:主機的負載情況可以被認為是信號,隨機性比較強;
2)分布復雜性:主機負載平均值和分布性呈現(xiàn)正比關系,越復雜則平均值越高;
3)高差異性:各個虛擬機的負載變化差異比較大,且波動性非常強;
4)突變性:在經(jīng)過了長時間的虛擬機穩(wěn)定后,負載變化會瞬時進行波段的變化,此時就需要再次適應負載變化情況,重新進行預測;
5)自相似性:隨著時間的推進,負載會產(chǎn)生較強的依賴性,這是由于負載變化呈現(xiàn)高度自相似性。
6)強關聯(lián)性:負載和時間強關聯(lián),表明歷史的負載數(shù)據(jù)會對未來的負載預測值有很大的影響。
綜合分析主機負載變化特征后,表明其變化規(guī)律較為穩(wěn)定,通過分析依賴性較強的歷史數(shù)據(jù),采用機器算法就能夠實現(xiàn)精確的負載預測。
2.負載預測常見方法
在進行數(shù)據(jù)分析過程中,負載數(shù)據(jù)基本都是時間序列數(shù)據(jù),在進行主機內虛擬機遷移時刻選擇時,可以通過歷史數(shù)據(jù)來進行預判,提升了整體的預測效率。歷史數(shù)據(jù)的分析和采集可以采用不同的方式,定量預測是綜合數(shù)理統(tǒng)計、概率論來進行分析,根據(jù)使用的機器學習方法,可以劃分為:智能預測,通常都是應用神 經(jīng)網(wǎng)絡法等;統(tǒng)計預測,通常都是應用時間序列法、回歸分析法、灰色預測等。
1)時間序列法。由于時間序列數(shù)據(jù)具備如下的變化特征:趨勢性、綜合性、周期性、隨機性。因此可以通過分析歷史數(shù)據(jù)的負載情況來進行未來主機負載變化情況,根據(jù)應用環(huán)境的差異,劃分為:簡單序時平均數(shù)法、加權移動平均數(shù)法、加權序時平均數(shù)法、指數(shù)平滑法等。
2)灰色預測法。該種方式具備較高的建模精確度,計算過程較為簡單,因此被廣泛應用在工業(yè)社會中?;疑A測法能夠修正缺失數(shù)據(jù)來完成主機未來負載預測,因此非常適合 應用存在缺失數(shù)據(jù)的指數(shù)增長時間序列中。
3)回歸分析法。它是分析輸入變量、輸出變量之間的內在聯(lián)系,通過分析和計算兩者之間的數(shù)據(jù)模型數(shù)據(jù)來進行預測,通過輸入變量來預測輸出變量。
云計算能夠根據(jù)用戶需求進行數(shù)據(jù)中心資源的分配工作,能夠顯著的提升資源效率和網(wǎng)絡靈活性,節(jié)約企業(yè)的經(jīng)濟成本,具備較好的經(jīng)濟效益。云計算的數(shù)據(jù)安全必須要滿足機密性、完整性、可用性,確保所有的云數(shù)據(jù)都必須是合法的被下載、傳輸,不會受到非法用戶的竊取。虛擬化是在同一個計算機上實現(xiàn)多臺虛擬機的部署工作,遷移技術則是將已經(jīng)在源主機上部署虛擬機直接遷移到目標主機上。根據(jù)遷移狀態(tài)的變化,能夠直接反映主機負載的變化,通過收集這些主機負載歷史數(shù)據(jù),使用機器學習等方式預測主機負載的發(fā)展趨勢,提前判斷主機負載可能發(fā)生的情況,減小SLA違背風險,具備非常強的應用價值。