簡述KVM架構和Xen架構

2022-09-06 22:15:22 字數 1783 閱讀 3598

暑假最後一篇更新,因為,,,明天我就回學校了。

以下均為個人理解,如果有不對的地方還望各位dalao不吝賜教。

虛擬化

虛擬化是通過hypervisor程式實現的,hypervisor的作用是將硬體虛擬化提供給多個作業系統使用,是虛擬化技術的核心。

虛擬化分為兩種:1型虛擬化2型虛擬化

kvm架構

先來看一下kvm,kvm是基於linux核心實現的,kvm的核心模組叫做kvm.ko,實現對linux的cpu和記憶體虛擬化,是linux的乙個程序,負責vcpu記憶體的分配,而其他裝置的虛擬就交給了qemu

qemu執行在使用者空間,kvm執行在核心,兩者通過/dev/kvm進行互動。

kvm僅支援全域性虛擬化。

xen架構

再來看一下xenxen支援全虛擬化和半虛擬化,(全虛擬化就是執行在虛擬環境的虛擬機器無法感知到自己是執行在虛擬環境之上,只會覺得自己是執行在硬體之上,半虛擬化是執行在虛擬環境的虛擬機器可以感知到自己不是直接執行在硬體環境之上)這一點不同於kvm的僅支援全域性虛擬化。xen是直接執行在硬體上的,也就是上面提到的1型虛擬化,直接對硬體進行虛擬化,然後在硬體之上直接跑虛擬機器,在xen架構中的虛擬機器分為兩種:domain0doaminu.domain0又叫做特權虛擬機器,具有直接訪問硬體和管理其他作業系統的許可權,而doaminu就是普通的虛擬機器,doaminu不能直接訪問硬體,所有的操作都是通過驅動傳送到特權虛擬機器domain0,由domain0去和硬體互動再返回給普通使用者,所以,xen架構的虛擬化需要先執行domain0

xen架構也是對cpu記憶體進行虛擬化,提供給虛擬機器用,其餘硬體訪問是通過特權虛擬機器直接與硬體進行互動再返回的。

預設domain0vcpu和記憶體的大小是這樣計算的:

domain0的vcpu = 物理裝置執行緒數 % 10然後向上取最小的乙個偶數,就是domain0的vcpu數。

domain0的記憶體:如果物理裝置的記憶體小於96g,那麼就預設為8g,如果物理機的記憶體大於96g,那麼domain0的記憶體 = 物理機記憶體 *0.05 + 8g

多層架構簡述

使用多層架構進行系統開發是現今系統設計的流行趨勢。通過分解業務細節,將不同的功能 分散開來,更利於系統的設計和開發,同時為可能的變更提供了更小的單元。以下就是乙個典型的多層體系結構圖。首先我們以 訂單 order 為例,進行乙個簡單的業務分解。1.訂單自然包括訂單的內容 orderinfo 其中有諸...

多層架構簡述

分類 多層架構 2007 06 20 14 47 2247人閱讀收藏 舉報 資料庫ioc 架構設計 儲存session作業 使用多層架構進行系統開發是現今系統設計的流行趨勢。通過分解業務細節,將不同的功能 分散開來,更利於系統的設計和開發,同時為可能的變更提供了更小的單元。以下就是乙個典型的多層體系...

Openstack 架構簡述

概述 本文章相關的靈感 說明 來自於 首先放幾張圖,詳細的解釋了openstack的架構以及網路拓撲結構.架構 拓撲openstack架構詳解 整個openstack由控制節點,計算節點,網路節點,儲存節點四大部分組成 以下架構僅為本人理解,不盡完全,如有錯誤歡迎指出 控制節點架構 控制節點包括以下...