新聞資訊
您現在的(de)位置:首頁>新聞資訊>

虛拟化(huà)基礎知識分(fēn)享

發布時(shí)間:2018-9-11 浏覽次數:687

引言
     開始前給大(dà)家舉個(gè)例子:
    場(chǎng)景如下(xià):一台服務器隻有有8G内存,程序A需要4G内存,程序B需要4G内存,傳統架構無法滿足這(zhè)樣的(de)場(chǎng)景,那隻有依靠虛拟化(huà)來(lái)解決,通(tōng)過虛拟化(huà)方式,我們可(kě)以不僅提供2台4G内存,更可(kě)以通(tōng)過内存氣泡、内存複用(yòng)、内存置換等技術實現超分(fēn)配!
Part A.虛拟化(huà)簡介        
    虛拟化(huà)是雲計算(suàn)的(de)基礎,基于虛拟化(huà)我們可(kě)以實現私有雲、公有雲、桌面雲等。
    虛拟化(huà)是一種資源管理(lǐ)技術,是将計算(suàn)機的(de)各種實體資源(CPU、内存、磁盤空間、網絡适配器等),予以抽象、轉換後呈現出來(lái)并可(kě)供分(fēn)區(qū)、組合爲一個(gè)或多(duō)個(gè)電腦(nǎo)配置環境。由此,打破實體結構間的(de)不可(kě)切割的(de)障礙,使用(yòng)戶可(kě)以比原本的(de)配置更好的(de)方式來(lái)應用(yòng)這(zhè)些電腦(nǎo)硬件資源。這(zhè)些資源的(de)新虛拟部分(fēn)是不受現有資源的(de)架設方式,地域或物(wù)理(lǐ)配置所限制。一般所指的(de)虛拟化(huà)資源包括計算(suàn)能力和(hé)數據存儲。
虛拟化(huà)架構
幾個(gè)重要的(de)概念:
A.宿主機:Host  ,即物(wù)理(lǐ)服務器
B.虛拟機:Guest ,也(yě)稱客戶機、虛機
C.VMM(virtual Machine Monitor):即Hypervisors,它是一種運行在基礎物(wù)理(lǐ)服務器和(hé)操作系統之間的(de)中間軟件層,可(kě)允許多(duō)個(gè)操作系統和(hé)應用(yòng)共享硬件。Hypervisors是一種在虛拟環境中的(de)“元”操作系統。他(tā)們可(kě)以訪問服務器上包括磁盤和(hé)内存在内的(de)所有物(wù)理(lǐ)設備。Hypervisor不但協調著(zhe)這(zhè)些硬件資源的(de)訪問,也(yě)同時(shí)在各個(gè)虛拟機之間施加防護。當服務器啓動并執行Hypervisor時(shí),它會加載所有虛拟機客戶端的(de)操作系統同時(shí)會分(fēn)配給每一台虛拟機适量的(de)内存、CPU、網絡和(hé)磁盤。
 
Part B.虛拟化(huà)的(de)分(fēn)類

【常規分(fēn)類】
此外還(hái)有混合虛拟化(huà),是指将一個(gè)内核級驅動器插入到宿主操作系統内核。這(zhè)個(gè)驅動器作爲虛拟硬件管理(lǐ)器來(lái)協調虛拟機和(hé)宿主操作系統之間的(de)硬件訪問。混合虛拟化(huà)需要底層硬件支持虛拟化(huà)擴展功能。
【基于Guest OS CPU對(duì)硬件訪問分(fēn)類】
      CPU的(de)運行級别,Ring 0也(yě)稱爲核心态,操作系統需要直接訪問硬件和(hé)内存,使用(yòng)特權指令,控制中斷、修改頁表、訪問設備,因此它的(de)代碼需要運行在最高(gāo)運行級别。Ring 3也(yě)稱爲用(yòng)戶态,需要訪問磁盤、寫文件時(shí),則需要調用(yòng)系統函數,這(zhè)樣的(de)操作稱爲用(yòng)戶态到核心态。
      大(dà)家都知道宿主機的(de)操作系統運行級别是Ring 0,虛拟機的(de)操作系統就無法在Ring 0級别運行,但是虛拟機OS不知道這(zhè)一點,執行的(de)命令與物(wù)理(lǐ)機無異,但是沒有執行權限是會出錯的(de)。所以這(zhè)時(shí)候虛拟機管理(lǐ)程序(VMM)需要避免這(zhè)件事情發生。 虛機怎麽通(tōng)過 VMM 實現 Guest CPU 對(duì)硬件的(de)訪問,根據其原理(lǐ)不同有三種實現技術:
1. 全虛拟化(huà)
2. 半虛拟化(huà)
3. 硬件輔助的(de)虛拟化(huà) 
主要區(qū)别見下(xià)圖:
A.全虛拟化(huà)
        一般采用(yòng)優先級壓縮技術(Ring Compression)和(hé)二進制代碼翻譯技術(BinaryTranslation)。優先級壓縮技術讓VMM和(hé)Guest運行在不同的(de)特權級下(xià)。對(duì)x86架構而言,即VMM運行在最高(gāo)特權級别Ring 0下(xià),guest OS運行在Ring 1下(xià),用(yòng)戶應用(yòng)運行在Ring 3下(xià)。因此,Guest OS的(de)核心指令無法直接下(xià)達到計算(suàn)機系統硬件執行,而是需要經過VMM的(de)捕獲和(hé)模拟執行(部分(fēn)難以虛拟化(huà)的(de)指令需要通(tōng)過Binary Translation技術進行轉換)。
B.輔助虛拟化(huà)
     當前主要有Intel的(de)VT-x和(hé)AMD的(de)AMD-V這(zhè)兩種技術。其核心思想都是通(tōng)過引入新的(de)指令和(hé)運行模式,使VMM和(hé)Guest OS分(fēn)别運行在不同模式(ROOT模式和(hé)非ROOT模式)下(xià),且Guest OS運行在Ring 0下(xià)。通(tōng)常情況下(xià),Guest OS的(de)核心指令可(kě)以直接下(xià)達到計算(suàn)機系統硬件執行,而不需要經過VMM。當Guest OS執行到特殊指令的(de)時(shí)候,系統會切換到VMM,讓VMM來(lái)處理(lǐ)特殊指令。
C.全虛拟化(huà)
    采用(yòng)Hypercall技術。Guest OS的(de)部分(fēn)代碼被改變,從而使Guest OS會将和(hé)特權指令相關的(de)操作都轉換爲發給VMM的(de)Hypercall(超級調用(yòng)),由VMM繼續進行處理(lǐ)。而Hypercall支持的(de)批處理(lǐ)和(hé)異步這(zhè)兩種優化(huà)方式,使得(de)通(tōng)過Hypercall能得(de)到近似于物(wù)理(lǐ)機的(de)速度。
【按虛拟化(huà)技術分(fēn)類】
    1.服務器虛拟化(huà),計算(suàn)、存儲、網絡和(hé)IO的(de)虛拟化(huà)
    2.存儲虛拟化(huà),如Serversan,支持虛拟化(huà)的(de)存儲陣列等
    3.網絡虛拟化(huà),如vlan、虛拟防火牆、虛拟分(fēn)布式交換機
    4.桌面(應用(yòng))虛拟化(huà),即桌面雲
其他(tā)分(fēn)類這(zhè)裏不在細說,下(xià)面給大(dà)家分(fēn)享下(xià)KVM和(hé)XEN的(de)一些區(qū)别:
【對(duì)比KVM和(hé)XEN】
    Xen作爲最優秀的(de)半虛拟化(huà)引擎,在基于硬件的(de)虛拟化(huà)幫助下(xià),現在也(yě)完全支持虛拟化(huà)MS Windows。被設計成一個(gè)獨立的(de)内核,它隻需要Linux執行 I/O,這(zhè)樣使得(de)它非常的(de)大(dà),并且它有自己的(de)調度程序、内存管理(lǐ)器、計時(shí)器和(hé)機器初始化(huà)程序。
    做(zuò)華爲虛拟化(huà)的(de)同學應該都知道有個(gè)Dom0,這(zhè)個(gè)Dom0是個(gè)什(shén)麽東西呢(ne)?這(zhè)個(gè)Domain 0(特權虛拟機)是其他(tā)虛拟機的(de)管理(lǐ)者和(hé)控制者,可(kě)以構建其他(tā)更多(duō)Domain,并管理(lǐ)虛拟設備。它還(hái)能執行管理(lǐ)任務,比如虛拟機的(de)休眠、喚醒和(hé)遷移其他(tā)虛拟機。此外,還(hái)有個(gè)Dom u,這(zhè)個(gè)是指除了(le)Dom 0之外的(de)普通(tōng)虛拟機。
    KVM是一個(gè)獨特的(de)管理(lǐ)程序,其讓Linux内核自身變成一個(gè)管理(lǐ)程序,通(tōng)過KVM作爲一個(gè)内核模塊實現,在虛拟環境下(xià)Linux内核集成管理(lǐ)程序将其作爲一個(gè)可(kě)加載的(de)模塊,可(kě)以簡化(huà)管理(lǐ)以及提升性能。KVM使用(yòng)标準Linux調度程序、内存管理(lǐ)器和(hé)其他(tā)服務。将虛拟技術建立在内核上而不是去替換内核。
    KVM架構
    Xen架構
此外,還(hái)有微軟的(de)Hyper-V、OpenVz,這(zhè)裏不再跟大(dà)家介紹!
Part C.虛拟化(huà)的(de)優勢
1.降低運營成本
    服務器虛拟化(huà)降低了(le)IT基礎設施的(de)運營成本,運維人(rén)員(yuán)可(kě)以從繁重的(de)物(wù)理(lǐ)服務器、OS、中間件及兼容性的(de)管理(lǐ)工作解放處理(lǐ),減少人(rén)工幹預頻(pín)率,使管理(lǐ)更加強大(dà)、便捷。
2.縮短上線周期
    虛拟化(huà)中對(duì)可(kě)以将需要批量預安裝機器進行模闆化(huà),使用(yòng)模闆創建虛拟機,不僅可(kě)以縮短安裝周期,也(yě)可(kě)以減少人(rén)工帶來(lái)的(de)配置失誤。從而縮短操作系統安裝部署周期,進而縮短業務的(de)上線周期。
3.提高(gāo)可(kě)靠性
     通(tōng)過集群部署、雙網卡、雙電源以及OS盤的(de)RAID策略都可(kě)以爲我們提升基礎架構的(de)可(kě)靠性。通(tōng)過對(duì)集群設置,我們可(kě)以實現虛拟機的(de)冷(lěng)熱(rè)遷移,故障恢複甚至容錯等,從而在架構上實現了(le)高(gāo)可(kě)靠。
4.提高(gāo)資源利用(yòng)率
     擺脫傳統架構單台服務器單個(gè)應用(yòng),通(tōng)過虛拟化(huà)技術,資源可(kě)以以更小的(de)單位提供,可(kě)以實現一比多(duō)的(de)形式,很大(dà)程度提高(gāo)了(le)物(wù)理(lǐ)資源的(de)利用(yòng)率,同時(shí),可(kě)對(duì)虛拟機進行隔離,保證了(le)安全性。
5.動态資源調度(DRS)
     通(tōng)過DRS可(kě)以實現機房(fáng)節能環保,降低功耗,在資源閑置時(shí)自動遷移并關閉部分(fēn)資源,資源緊張時(shí)可(kě)自動開啓資源并負載均衡
Part D.幾種虛拟化(huà)關鍵技術
一、内存複用(yòng)
    a.内存共享:虛拟機内存隻讀時(shí),可(kě)共享同一内存空間,需要寫時(shí),再分(fēn)配空間。
    b.内存氣泡:虛拟機之間的(de)内存交換負載,即内存使用(yòng)低的(de)釋放給内存使用(yòng)較高(gāo)的(de)虛拟機。
    c.内存置換:暫時(shí)不用(yòng)的(de)内存置換到存儲中,從而提高(gāo)内存使用(yòng)。
二、CPU相關
    CPU虛拟化(huà)的(de)開啓,物(wù)理(lǐ)在BIOS裏面設置相關Virtual Technology項,如果需要開啓虛拟化(huà)嵌套,則需要在VMwareworkstation設置相關虛拟化(huà)模式,如果是kvm的(de)嵌套則可(kě)能需要升級内核。
三、ServerSan
    ServerSan通(tōng)常基于傳統的(de)X86服務器,配以SSD做(zuò)緩存和(hé)萬兆網卡做(zuò)傳輸,同時(shí)滿足了(le)計算(suàn)和(hé)存儲資源,從而實現了(le)計算(suàn)和(hé)存儲的(de)融合,大(dà)多(duō)數的(de)ServerSan都基于開源的(de)Ceph,不僅可(kě)以實現高(gāo)性能,也(yě)可(kě)以實現數據的(de)多(duō)副本,更可(kě)以實現存儲的(de)高(gāo)級功能,如快(kuài)照(zhào)、鏈接克隆、精簡配置等。
主要特點如下(xià):
1.軟件定義,獨立于硬件;
2.分(fēn)布式,不存在單點故障;
3.系統自治,自動進行故障自愈和(hé)數據平衡;
4.融合系統,存儲和(hé)計算(suàn)部署在相同硬件上;
5.橫向擴展,最小部署(至少3台),按需擴容;
6.強一緻性,隻有所有副本寫成功,單次寫操作完成,确保從任意副本數據的(de)完整性。
地址:陝西省西安市高(gāo)新區(qū)科技四路南(nán)側心橋佳苑第1幢2單元23層22304室
聯系人(rén):任經理(lǐ) 136-5921-0883
陽泉市向日葵信息技術服務有限公司 版權所有