kvm三個組件及應用

來源:魅力女性吧 3.04W
kvm三個組件及應用

KVM虛擬化架構及三種模式

1、 客户模式(guestOS):VM中的OS為GuestOS

客户機在操作系統中運行的模式,客户機分為內核模成和用户模式

2、用户模式:

為用户提供虛擬機管理的用户空間工具以及代表用户執行I/O, Qemu工作在此模式下(Qemu的主要功能)

3、linux內核模式

模擬CPU、內存,實現客户模式切換,處理從客户模式的推出,KVM即運行在此模式下

KVM原理

1、 Guest:客户機系統,包括CPU (vCPU) 、內存、驅動(Console、 網卡、I/O設備驅動等)

被KVM置於一種受限制的CPU模式下運行。

2、KVM內核模塊模擬處理器和內存以支持虛擬機運行

3、Qemu主要處理I/O以及為客户提供一 個用户空間/dev/kvm工具libvirt來進行虛擬機管理

ioctl(定義)專用於設備輸入輸出操作的系統調用

libvirt: KVM管理工具

以上構成一個完整的虛擬化平台

簡單理解:

KVM驅動提供處理器、內存的虛擬化,以及客户機I/O的攔截,guest的I/O被攔截後,交由Qemu處理

Qemu利用接口libkvm調用(ioctl)虛擬機設備接口/dev/kvm來分配資源、管理、維護虛擬機

KVM工作流程

用户模式的Qemu利用接口libkvm 通過 ioctl系統調用進入內核模式。KVM驅動為虛擬機創建虛擬CPU和虛擬內存,然後執行VMLAU-NCH指令進入客户模式,裝載Guest OS並運行。Guest OS運行過程中如果發生異常,則暫停Guest OS的運行並保存當前狀態同時退出到內核模式來處理這些異常。

內核模式處理這些異常時如果不需要V/O則處理完成後重新進入客户模式。如果需要V/O則進入到用户模式,則由Qemu來處理I/O,處理完成後進入內核模式,再進入客户模式

熱門標籤