<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深信服aBos一體機(jī)介紹

          共 6021字,需瀏覽 13分鐘

           ·

          2021-09-23 09:47



          aBos一體機(jī)解決方案,是一種將網(wǎng)絡(luò)設(shè)備、計算、存儲等資源作為基本組成元素,通過一體機(jī)的方式承載中小型或者分支機(jī)構(gòu)的 IT 網(wǎng)絡(luò)建設(shè)技術(shù)。深信服的 aBos 一體機(jī)解決方案軟件架構(gòu)主要包含三大組件(網(wǎng)絡(luò)設(shè)備虛擬化、服務(wù)器虛擬化、存儲虛擬化)、一個 WEB 控制平臺(虛擬化管理平臺 VMP)、總部集中管理(BBC 管理中心)。


          深信服的aBos 一體機(jī)解決方案中的計算虛擬化采用 aSV 虛擬化系統(tǒng),通過將服務(wù)器資源虛擬化為多臺虛擬機(jī)。最終用戶可以在這些虛擬機(jī)上安裝各種軟件,掛載磁盤,調(diào)整配置,調(diào)整網(wǎng)絡(luò),就像普通的 x86 服務(wù)器一樣使用它。


          Hypervisor 架構(gòu)

          Hypervisor 是一種運行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件,因此也可以看作是虛擬環(huán)境中的“元”操作系統(tǒng),它可以協(xié)調(diào)訪問服務(wù)器上的所有物理設(shè)備和虛擬機(jī),也叫虛擬機(jī)監(jiān)視器(Virtual Machine Monitor)。



          Hypervisor 是所有虛擬化技術(shù)的核心。非中斷地支持多工作負(fù)載遷移的能力是Hypervisor 的基本功能。當(dāng)服務(wù)器啟動并執(zhí)行 Hypervisor 時,它會給每一臺虛擬機(jī)分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機(jī)的客戶操作系統(tǒng)。



          虛擬化技術(shù)架構(gòu)Hypervisor,常見的 Hypervisor 分兩類:


          Type-I(裸金屬型):指 VMM 直接運作在裸機(jī)上,使用和管理底層的硬件資源,GuestOS 對真實硬件資源的訪問都要通過 VMM 來完成,作為底層硬件的直接操作者,VMM 擁有硬件的驅(qū)動程序。裸金屬虛擬化中 Hypervisor 直接管理調(diào)用硬件資源,不需要底層操作系統(tǒng),也可以理解為 Hypervisor 被做成了一個很薄的操作系統(tǒng)。這種方案的性能處于主機(jī)虛擬化與操作系統(tǒng)虛擬化之間。代表是 VMware ESX Server、Citrix XenServer 和 Microsoft Hyper-V,Linux KVM。


          Type-II 型(宿主型):指 VMM 之下還有一層宿主操作系統(tǒng),由于 Guest OS 對硬件的訪問必須經(jīng)過宿主操作系統(tǒng),因而帶來了額外的性能開銷,但可充分利用宿主操作系統(tǒng)?供的設(shè)備驅(qū)動和底層服務(wù)來進(jìn)行內(nèi)存管理、進(jìn)程調(diào)度和資源管理等。主機(jī)虛擬化中 VM 的應(yīng)用程序調(diào)用硬件資源時需要經(jīng)過:VM 內(nèi)核->Hypervisor->主機(jī)內(nèi)核,導(dǎo)致性能是三種虛擬化技術(shù)中最差的。主機(jī)虛擬化技術(shù)代表是 VMware Server (GSX )、Workstation 和Microsoft Virtual PC、Virtual Server 等。


          由于主機(jī)型 Hypervisor 的效率問題,深信服的 aSV 采用了裸機(jī)型 Hypervisor 中 的 Linux KVM 虛擬化,即為 Type-I(裸金屬型)。


          KVM(Kenerl-based Virtual Machine) 是基于 linux 內(nèi)核虛擬化技術(shù),自linux2.6.20 之后就集成在 linux 的各個主要發(fā)行版本中。它使用 linux 自身的調(diào)度器進(jìn)行管理,所以相對于 xen,其核心源碼很少。KVM 是基于硬件虛擬化擴(kuò)展(Intel VT- X )和QEMU 的修改版,KVM 屬于Linux kernel 的一個模塊,可以用命令 modprobe 去加載 KVM 模塊。加載了該模塊后,才能進(jìn)一步通過工具創(chuàng)建虛擬機(jī)。


          但是僅有 KVM 模塊是不夠的。因為用戶無法直接控制內(nèi)核去做事情,還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,我們選擇了已經(jīng)成型的開源虛擬化軟件 QEMU,QEMU 也是一個虛擬化軟件,它的特點是可虛擬不同的 CPU,比如說在 x86 的 CPU 上可虛擬一個 power 的 CPU,并可利用它編譯出可運行在 power 上的 CPU,并可利用它編譯出可運行在 power 上的程序。KVM 使用了QEMU 的一部分,并稍加改造,就成了可控制 KVM 的用戶空間工具了。這就是 KVM 和QEMU 的關(guān)系。



          一個普通的 linux 進(jìn)程有兩種運行模式:內(nèi)核和用戶。而 KVM 增加了第三種模式:客戶模式(有自己的內(nèi)核和用戶模式)。在 kvm 模型中,每一個虛擬機(jī)都是由 linux調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程。總體來說,kvm 由兩個部分組成:一個是管理虛擬硬件的設(shè)備驅(qū)動,該驅(qū)動使用字符設(shè)備/dev/kvm 作為管理接口;另一個是模擬 PC 硬件的用戶空間組件,這是一個稍作修改的 qemu 進(jìn)程。


          aSV的 Hypervisor 實現(xiàn)

          VMM (Virtual Machine Monitor)對物理資源的虛擬可以劃分為三個部分:CPU 虛擬化、內(nèi)存虛擬化和 I/O 設(shè)備虛擬化,其中以 CPU 的虛擬化最為關(guān)鍵。


          經(jīng)典的虛擬化方法:現(xiàn)代計算機(jī)體系結(jié)構(gòu)一般至少有兩個特權(quán)級(即用戶態(tài)和核心態(tài),x86 有四個特權(quán)級 Ring0~ Ring3)用來分隔系統(tǒng)軟件和應(yīng)用軟件。那些只能在處理器的最高特權(quán)級(內(nèi)核態(tài))執(zhí)行的指令稱之為特權(quán)指令,一般可讀寫系統(tǒng)關(guān)鍵資源的指令(即敏感指令)決大多數(shù)都是特權(quán)指令(X86 存在若干敏感指令是非特權(quán)指令的情況)。如果執(zhí)行特權(quán)指令時處理器的狀態(tài)不在內(nèi)核態(tài),通常會引發(fā)一個異常而交由系統(tǒng)軟件來處理這個非法訪問(陷入)。


          經(jīng)典的虛擬化方法就是使用“特權(quán)解除”和“陷入-模擬”的方式,即將 GuestOS 運行在非特權(quán)級,而將 VMM 運行于最高特權(quán)級(完全控制系統(tǒng)資源)。解除了 GuestOS 的特權(quán)級后,Guest OS 的大部分指令仍可以在硬件上直接運行,只有執(zhí)行到特權(quán)指令時,才會陷入到 VMM 模擬執(zhí)行(陷入-模擬)。“陷入-模擬” 的本質(zhì)是保證可能影響 VMM 正確運行的指令由 VMM 模擬執(zhí)行,大部分的非敏感指令還是照常運行。


          因為 X86 指令集中有若干條指令是需要被 VMM 捕獲的敏感指令,但是卻不是特權(quán)指令(稱為臨界指令),因此“特權(quán)解除”并不能導(dǎo)致他們發(fā)生陷入模擬,執(zhí)行它們不會發(fā)生自動的“陷入”而被 VMM 捕獲,從而阻礙了指令的虛擬化,這也稱之為X86 的虛擬化漏洞。X86 架構(gòu)虛擬化的實現(xiàn)方式可分為:


          1、X86“全虛擬化”(指所抽象的 VM 具有完全的物理機(jī)特性,OS 在其上運行不需要任何修改)Full 派秉承無需修改直接運行的理念,對“運行時監(jiān)測,捕捉后模擬”的過程進(jìn)行優(yōu)化。該派內(nèi)部之實現(xiàn)又有些差別,其中以 VMWare 為代表的基于二進(jìn)制翻譯 (BT) 的全虛擬化為代表, 其主要思想是在執(zhí)行時將 VM 上執(zhí)行的 Guest OS 指令,翻譯成 x86 指令集的一個子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進(jìn)行,不含敏感指令的用戶態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。


          2、X86“半虛擬化”(指需 OS 協(xié)助的虛擬化,在其上運行的 OS 需要修改)半虛擬化的基本思想是通過修改 Guest OS 的代碼,將含有敏感指令的操作,替換為對VMM 的超調(diào)用 Hypercall,類似 OS 的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到 VMM,該技術(shù)因 VMM 項目而廣為人知。該技術(shù)的優(yōu)勢在于 VM 的性能能接近于物理機(jī),缺點在于需要修改GuestOS(如:Windows 不支持修改)及增加的維護(hù)成本,關(guān)鍵修改 Guest OS 會導(dǎo)致操作系統(tǒng)對特定 hypervisor 的依賴性,因此很多虛擬化廠商基于 VMM 開發(fā)的虛擬化產(chǎn)品部分已經(jīng)放棄了 Linux 半虛擬化,而專注基于硬件輔助的全虛擬化開發(fā),來支持未經(jīng)修改的操作系統(tǒng)。


          3、X86“硬件輔助虛擬化”:其基本思想就是引入新的處理器運行模式和新的指令,使得 VMM 和 Guest OS 運行于不同的模式下,Guest OS 運行于受控模式,原來的一些敏感指令在受控模式下全部會陷入 VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時上下文的保存恢復(fù)由硬件來完成,這樣就大大?高了“陷入-模擬”時上下文切換的效率。


          Intel VT-x 硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM 運作在 Root 操作模式下,而 Guest OS 運行在 Non-root 操作模式下。這兩個操作模式分別擁有自己的特權(quán)級環(huán),VMM 和虛擬機(jī)的 Guest OS 分別運行在這兩個操作模式的 0 環(huán)。這樣,既能使 VMM 運行在 0 環(huán),也能使 Guest OS 運行在 0 環(huán),避免了修改 Guest OS。Root 操作模式和 Non-root 操作模式的切換是通過新增的 CPU 指令(如:VMXON、VMXOFF )來完成。


          硬件輔助虛擬化技術(shù)消除了操作系統(tǒng)的 ring 轉(zhuǎn)換問題,降低了虛擬化門檻,支持任何操作系統(tǒng)的虛擬化而無須修改 OS 內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差別,并成為未來的發(fā)展趨勢。


          vCPU 機(jī)制

          對虛擬機(jī)來說,不直接感知物理 CPU,虛擬機(jī)的計算單元通過 vCPU 對象來呈現(xiàn)。虛擬機(jī)只看到 VMM 呈現(xiàn)給它的 vCPU。在 VMM 中,每個 vCPU 對應(yīng)一個 VMCS(Virtual-MachineControl Structure)結(jié)構(gòu),當(dāng) vcpu 被從物理 CPU 上切換下來的時候,其運行上下文會被保存在其對應(yīng)的 VMCS 結(jié)構(gòu)中;當(dāng) vcpu 被切換到 pcpu 上運行時,其運行上下文會從對應(yīng)的 VMCS 結(jié)構(gòu)中導(dǎo)入到物理 CPU 上。通過這種方式,實現(xiàn)各 vCPU 之間的獨立運行。



          內(nèi)存虛擬化

          因為 VMM (Virtual Machine Monitor) 掌控所有系統(tǒng)資源,因此 VMM 握有整個內(nèi)存資源,其負(fù)責(zé)頁式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因 Guest OS 本身亦有頁式內(nèi)存管理機(jī)制,則有 VMM 的整個系統(tǒng)就比正常系統(tǒng)多了一層映射:


          • A. 虛擬地址(VA),指 Guest OS ?供給其應(yīng)用程序使用的線性地址空間;

          • B. 物理地址(PA),經(jīng) VMM 抽象的、虛擬機(jī)看到的偽物理地址;

          • C. 機(jī)器地址(MA),真實的機(jī)器地址,即地址總線上出現(xiàn)的地址信號;


          映射關(guān)系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 維護(hù)一套頁表,負(fù)責(zé) PA 到 MA 的映射。Guest OS 維護(hù)一套頁表,負(fù)責(zé) VA 到 PA 的映射。實際運行時,用戶程序訪問 VA1,經(jīng) Guest OS 的頁表轉(zhuǎn)換得到 PA1,再由 VMM 介入,使用 VMM 的頁表將 PA1 轉(zhuǎn)換為 MA1。



          普通 MMU 只能完成一次虛擬地址到物理地址的映射,在虛擬機(jī)環(huán)境下,經(jīng)過 MMU 轉(zhuǎn)換所得到的“物理地址”并不是真正的機(jī)器地址。若需得到真正的機(jī)器地址,必須由 VMM 介入,再經(jīng)過一次映射才能得到總線上使用的機(jī)器地址。如果虛擬機(jī)的每個內(nèi)存訪問都需要 VMM 介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實際可用性,為實現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由 VMM 根據(jù)映射 f 和 g 生成復(fù)合的映射 fg,并直接將這個映射關(guān)系寫入 MMU。當(dāng)前采用的頁表虛擬化方法主要是 MMU 類虛擬化(MMU Paravirtualization)和影子頁表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。


          內(nèi)存硬件輔助虛擬化

          內(nèi)存的硬件輔助虛擬化技術(shù)是用于替代虛擬化技術(shù)中軟件實現(xiàn)的“影子頁表”的一種硬件輔助虛擬化技術(shù),其基本原理是:GVA(客戶操作系統(tǒng)的虛擬地址)-> GPA(客戶操作系統(tǒng)的物理地址)-> HPA(宿主操作系統(tǒng)的物理地址)兩次地址轉(zhuǎn)換都由CPU 硬件自動完成(軟件實現(xiàn)內(nèi)存開銷大、性能差)。



          以VT-x 技術(shù)的頁表擴(kuò)充技術(shù)Extended PageTable(EPT)為例,首先 VMM 預(yù)先把客戶機(jī)物理地址轉(zhuǎn)換到機(jī)器地址的 EPT 頁表設(shè)置到 CPU 中;其次客戶機(jī)修改客戶機(jī)頁表無需 VMM 干預(yù);最后,地址轉(zhuǎn)換時,CPU 自動查找兩張頁表完成客戶機(jī)虛擬地址到機(jī)器地址的轉(zhuǎn)換。使用內(nèi)存的硬件輔助虛擬化技術(shù),客戶機(jī)運行過程中無需 VMM 干預(yù),去除了大量軟件開銷,內(nèi)存訪問性能接近物理機(jī)。


          I/O 設(shè)備虛擬化

          VMM 通過 I/O 虛擬化來復(fù)用有限的外設(shè)資源,其通過截獲 Guest OS 對 I/O 設(shè)備的訪問請求,然后通過軟件模擬真實的硬件,目前 I/O 設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端/后端模擬、直接劃分。


          1、設(shè)備接口完全模擬:

          即軟件精確模擬與物理設(shè)備完全一樣的接口,Guest OS 驅(qū)動無須修改就能驅(qū)動這個虛擬設(shè)備。優(yōu)點是沒有額外的硬件開銷,可重用現(xiàn)有驅(qū)動程序;缺點在于為完成一次操作要涉及到多個寄存器的操作,使得 VMM 要截獲每個寄存器訪問并進(jìn)行相應(yīng)的模擬,這就導(dǎo)致多次上下文切換;由于是軟件模擬,性能較低。



          2、前端/后端模擬:

          VMM提供一個簡化的驅(qū)動程序(后端, Back-End),Guest OS中的驅(qū)動程序為前端(Front-End, FE),前端驅(qū)動將來自其他模塊的請求通過與 Guest OS 間的特殊通信機(jī)制直接發(fā)送給 Guest OS 的后端驅(qū)動,后端驅(qū)動在處理完請求后再發(fā)回通知給前端,VMM 即采用該方法。


          3、直接劃分:

          即直接將物理設(shè)備分配給某個 Guest OS,由 Guest OS 直接訪問 I/O 設(shè)備(不經(jīng) VMM),目前與此相關(guān)的技術(shù)有 IOMMU(Intel VT-d, PCI-SIG 之 SR-IOV 等),旨在建立高效的 I/O 虛擬化直通道。


          下載鏈接:

          深信服aBOS一體機(jī)技術(shù)

          來源:全棧云技術(shù)架構(gòu)




          轉(zhuǎn)載申明:轉(zhuǎn)載本號文章請注明作者來源,本號發(fā)布文章若存在版權(quán)等問題,請留言聯(lián)系處理,謝謝。


          推薦閱讀

          更多架構(gòu)相關(guān)技術(shù)知識總結(jié)請參考“架構(gòu)師全店鋪技術(shù)資料打包”相關(guān)電子書(37本技術(shù)資料打包匯總詳情可通過“閱讀原文”獲取)。

          全店內(nèi)容持續(xù)更新,現(xiàn)下單“全店鋪技術(shù)資料打包(全)”,后續(xù)可享全店內(nèi)容更新“免費”贈閱,價格僅收198元(原總價350元)。



          溫馨提示:

          掃描二維碼關(guān)注公眾號,點擊閱讀原文鏈接獲取架構(gòu)師技術(shù)全店資料打包匯總(全)電子書資料詳情


          瀏覽 347
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产在线拍揄自揄拍无码福利 | 五月天性爱 | 青青草俺就射 | AV的天堂 | 爱爱网址 |