回覆列表
-
1 # 紅日出關山
-
2 # 紅黑遊騎兵
首先資料中心的整體架構要符合高可擴容性。個人設計中大型DC一般都採用基於SOA的模組化資料中心。模組間透過可橫向擴容的核心區設計完成構造。每個模組可理解為一個獨立的POD,模組與核心間部署安全管理裝置,同時會部署動態路由,模組內部一般是靜態路由,當然按模組功能的不同也會獨立部署動態路由協議,比如雙活的外聯。
在此基礎上會才有用一些overlay技術將一些POD在邏輯上合併,形成若干個POD組成的虛擬大二層環境。
模組也可直接用sdn代替,看具體的業務場景和需求。
資料中心虛擬化技術可以細分為如下:
1、全虛擬化(Full Virtualization)全虛擬化是指虛擬機器模擬了完整的底層硬體,包括處理器、物理記憶體、時鐘、外設等,使得為原始硬體設計的作業系統或其它系統軟體完全不做任何修改就可以在虛擬機器中執行。作業系統與真實硬體之間的互動可以看成是透過一個預先規定的硬體介面進行的。全虛擬化 VMM 以完整模擬硬體的方式提供全部介面(同時還必須模擬特權指令的執行過程)。舉例而言,x86 體系結構中,對於作業系統切換程序頁表的操作,真實硬體透過提供一個特權 CR3 暫存器來實現該介面,作業系統只需執行 "mov pgtable,%%cr3" 彙編指令即可。全虛擬化 VMM 必須完整地模擬該介面執行的全過程。如果硬體不提供虛擬化的特殊支援,那麼這個模擬過程將會十分複雜:一般而言,VMM 必須執行在最高優先順序來完全控制主機系統,而 Guest OS 需要降級執行,從而不能執行特權操作。當 Guest OS 執行前面的特權彙編指令時,主機系統產生異常(General Protection Exception),執行控制權重新從 Guest OS 轉到 VMM 手中。VMM 事先分配一個變數作為影子 CR3 暫存器給 Guest OS,將 pgtable 代表的客戶機物理地址(Guest Physical Address)填入影子 CR3 暫存器,然後 VMM 還需要 pgtable 翻譯成主機物理地址(Host Physical Address)並填入物理 CR3 暫存器,最後返回到 Guest OS中。隨後 VMM 還將處理複雜的 Guest OS 缺頁異常(Page Fault)。比較著名的全虛擬化 VMM 有 Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac 和 QEMU。
2、超虛擬化(Paravirtualization)這是一種修改 Guest OS 部分訪問特權狀態的程式碼以便直接與 VMM 互動的技術。在超虛擬化虛擬機器中,部分硬體介面以軟體的形式提供給客戶機作業系統,這可以透過 Hypercall(VMM 提供給 Guest OS 的直接呼叫,與系統呼叫類似)的方式來提供。例如,Guest OS 把切換頁表的程式碼修改為呼叫 Hypercall 來直接完成修改影子 CR3 暫存器和翻譯地址的工作。由於不需要產生額外的異常和模擬部分硬體執行流程,超虛擬化可以大幅度提高效能,比較著名的 VMM 有 Denali、Xen。
3、硬體輔助虛擬化(Hardware-Assisted Virtualization)硬體輔助虛擬化是指藉助硬體(主要是主機處理器)的支援來實現高效的全虛擬化。例如有了 Intel-VT 技術的支援,Guest OS 和 VMM 的執行環境自動地完全隔離開來,Guest OS 有自己的“全套暫存器”,可以直接執行在最高級別。因此在上面的例子中,Guest OS 能夠執行修改頁表的彙編指令。Intel-VT 和 AMD-V 是目前 x86 體系結構上可用的兩種硬體輔助虛擬化技術。
4、部分虛擬化(Partial Virtualization)VMM 只模擬部分底層硬體,因此客戶機作業系統不做修改是無法在虛擬機器中執行的,其它程式可能也需要進行修改。在歷史上,部分虛擬化是通往全虛擬化道路上的重要里程碑,最早出現在第一代的分時系統 CTSS 和 IBM M44/44X 實驗性的分頁系統中。
5、作業系統級虛擬化(Operating System Level Virtualization)在傳統作業系統中,所有使用者的程序本質上是在同一個作業系統的例項中執行,因此核心或應用程式的缺陷可能影響到其它程序。作業系統級虛擬化是一種在伺服器作業系統中使用的輕量級的虛擬化技術,核心透過建立多個虛擬的作業系統例項(核心和庫)來隔離不同的程序,不同例項中的程序完全不瞭解對方的存在。