KVM學習筆記

2021-08-04 05:40:28 字數 1302 閱讀 9316

kvm 是基於虛擬化擴充套件(intel vt 或者 amd-v)的

x86 硬體

的開源的 linux 原生的

全虛擬化解決方案

。kvm 中,虛擬機器被實現為常規的 linux 程序,由標準 linux 排程程式進行排程;

虛擬機器的每個虛擬 cpu 被實現為乙個常規的 linux 程序

。這使得 kmv 能夠使用 linux 核心的已有功能。

但是,kvm 本身不執行任何硬體模擬

qemu

。kernel-based virtual machine,基於linux核心的虛擬機器,kvm.ko負責cpu和記憶體虛擬化。io虛擬化由linux核心和qemu實現。kvm的管理工具為libvirt,

openstack底層也使用libvirt。

kvm安裝:直接在linux系統上安裝kvm所需包。其中qemu-kvm、qemu-systerm負責cpu、記憶體和io虛擬化,libvirt-bin為libvirt,virt-manager為kvm圖形管理工具,網路虛擬化由bridge-utils、vlan實現。

使用virt-manager啟動虛擬機器,

/var/lib/libvirt/images/ 目錄為kvm預設存放映象檔案的地方。virt-manager也可以用來管理其他宿主機上的虛擬機器,注意此處需要配置被管理宿主機中的兩個檔案。

virsh list 命令用於檢視宿主機上的虛擬機器,還可以使用其他virsh命令管理虛擬機器。 注:

乙個kvm虛擬機器在宿主機中作為乙個qemu-kvm程序執行,與其他linux程序一樣被排程。

cpu虛擬化

由vmx 或 svm 實現。虛擬機器中每乙個vcpu對應qemu-kvm程序中的每乙個執行緒。因此虛擬機器中vcpu總數可以超過物理cpu總數,這個叫cpu超配。

記憶體虛擬化

實現客戶機物理記憶體到宿主機機器記憶體的轉化,客戶機作業系統負責客戶機虛擬位址到客戶機實體地址的轉化,也可以實現超配。kvm實現記憶體虛擬化的方式有兩種:

影子頁表

和ept

頁表,可參考

儲存虛擬化

由儲存池(storage pool)和volume卷實現,儲存池為宿主機中可見的一塊記憶體,volume為儲存池中分配給虛擬機器的一塊空間。

kvm 將宿主機目錄 /var/lib/libvirt/images/ 作為預設的 storage pool,是一種目錄型別的儲存池,而volume則為該目錄下的檔案,如乙個映象檔案則為乙個volume,volume有多種型別,包括raw,qcow,vmdk,vdl。

網路虛擬化

通過linux bridge實現vnet br0 eth0之間的資料傳輸。

kvm虛擬化學習筆記 八 之kvm虛擬機器vnc配置

kvm虛擬化學習筆記系列文章列表 kvm虛擬化學習筆記 一 之kvm虛擬化環境安裝 kvm虛擬化學習筆記 二 之linux kvm虛擬機器安裝 kvm虛擬化學習筆記 三 之windows kvm虛擬機器安裝 kvm虛擬化學習筆記 四 之kvm虛擬機器日常管理與配置 kvm虛擬化學習筆記 五 之win...

kvm虛擬化學習筆記 八 之kvm虛擬機器vnc配置

原始出處 作者資訊和本宣告。否則將追究法律責任。kvm虛擬化學習筆記系列文章列表 kvm虛擬化學習筆記 一 之kvm虛擬化環境安裝 kvm虛擬化學習筆記 二 之linux kvm虛擬機器安裝 kvm虛擬化學習筆記 三 之windows kvm虛擬機器安裝 kvm虛擬化學習筆記 四 之kvm虛擬機器日...

KVM學習1 安裝編譯測試kvm模組

kernel 3.10.0 327.el7.src.rpm,kvm 位置arch x86 kvm下 參考how to recompile just a single kernel module?編譯完核心後,如果想單獨編譯kvm模組 make modules subdirs arch x86 kvm...