怎么做網(wǎng)站公司宣傳資料電商seo優(yōu)化是什么
前言
大家好,我是秋意零。
今天介紹的內(nèi)容是KVM的概述,以及它所支持的基本功能。
👿 簡介
- 🏠 個人主頁: 秋意零
- 🔥 賬號:全平臺同名, 秋意零 賬號創(chuàng)作者、 云社區(qū) 創(chuàng)建者
- 🧑 個人介紹:在校期間參與眾多云計算相關比賽,如:🌟 “省賽”、“國賽”,并斬獲多項獎項榮譽證書
- 🎉 目前狀況:24 屆畢業(yè)生,拿到一家私有云(IAAS)公司 offer,目前已在實習
- 💕歡迎大家:歡迎大家一起學習云計算,走向年薪 30 萬
- 💕推廣:CSDN 主頁左側(cè),是個人扣扣群推廣。方便大家技術交流、技術博客互助。
一、KVM介紹
KVM全稱是Kernel-based Virtual Machine,基于內(nèi)核的虛擬機,是采用硬件虛擬化技術的全虛擬化解決方案(對于某些設備,如硬盤、網(wǎng)卡,KVM也支持virtio的半虛擬化方式)。
2006年10月,KVM模塊的源代碼被正式納入Linux kernel,成為內(nèi)核源代碼的一部分。
KVM基于硬件虛擬化支持的全虛擬化實現(xiàn)。它以內(nèi)核模塊的形式加載之后,就將Linux內(nèi)核變成了一個Hypervisor,但硬件管理等還是通過Linux kernel來完成的,所以它是一個典型的Type 2 Hypervisor。
二、架構
一個KVM虛擬機對應于一個Linux進程,每個vCPU是該進程下的一個線程,還有單獨的處理IO的線程,也是在該進程中的線程組內(nèi)。
所以,宿主機上各個虛擬機是由宿主機內(nèi)核像調(diào)度普通進程一樣調(diào)度的,即可以通過Linux的各種進程調(diào)度的手段來實現(xiàn)不同客戶機的權限限定、優(yōu)先級等功能。
虛擬機所看到的硬件設備是QEMU模擬出來的 (不包括VT-d透傳的設備),當虛擬機對模擬設備進行操作時,由QEMU截獲并轉(zhuǎn)換為對實際的物理設備(可能設置都不實際物理地存在)的驅(qū)動操作來完成。
三、功能概述
3.1 內(nèi)存管理
KVM依賴Linux內(nèi)核進行內(nèi)存管理。上面提到,一個KVM客戶機就是一個普通的Linux進程,所以,客戶機的“物理內(nèi)存”就是宿主機內(nèi)核管理的普通進程的虛擬內(nèi)存。進而,Linux內(nèi)存管理的機制,如大頁、KSM (Kernel Same Page Merge,內(nèi)核的同頁合并)、NUMA(Non-Uniform Memory Arch,非一致性內(nèi)存架構)、通過mmap的進程間共享內(nèi)存,統(tǒng)統(tǒng)可以應用到客戶機內(nèi)存管理上。
3.2 存儲和客戶機鏡像的格式
嚴格來說,這是QEMU的功能特性。
KVM能夠使用Linux支持的任何存儲來存儲虛擬機鏡像,包括具有IDE、SCSI和SATA的本地磁盤,網(wǎng)絡附加存儲 (NAS) (包括NFS和SAMBA/CIFS),或者支持iSCSI和光線通道的SAN。多路徑I/0可用于改進存儲吞吐量和提供幾余。
KVM的原生磁盤格式為QCOW2,它支持快照,允許多級快照、壓縮和加密。
3.3 實時遷移
KVM支持實時遷移,這提供了在宿主機之間轉(zhuǎn)移正在運行的客戶機而不中斷服務的能力。實時遷移對用戶是透明的,客戶機保持打開,網(wǎng)絡連接保持活動,用戶應用程序也持續(xù)運行,但客戶機轉(zhuǎn)移到了一個新的宿主機上。
除了實時遷移,KVM支持將客戶機的當前狀態(tài) (快照,snapshot) 保存到磁以允許存儲并在以后恢復它。
3.4 設備驅(qū)動程序
KVM支持混合虛擬化,因為KVM使用的QEMU軟件模擬IO設備(網(wǎng)卡、磁盤、顯卡),性能比較低,這個時候在虛擬機中安裝使用VirtIO半虛擬化驅(qū)動來實現(xiàn)IO等性能的提高。
其中半虛擬化的驅(qū)動程序安裝在客戶機操作系統(tǒng)中,允許虛擬機使用優(yōu)化的I/O接口而不使用模擬的設備,從而為網(wǎng)絡和塊設備提供高性能的I/0。
KVM使用的半虛擬化的驅(qū)動程序是VirtlO標準;它是一個與Hypervisor獨立的、構建設備驅(qū)動程序的接口,允許多種Hypervisor使用一組相同的設備驅(qū)動程序,能夠?qū)崿F(xiàn)更好的對客戶機的互操作性。
同時,KVM也支持Intel的VT-d技術,通過將宿主機的PCI總線上的設備透傳(pass-through)給客戶機,讓客戶機可以直接使用原生的驅(qū)動程序高效地使用這些設備。這種使用是幾乎不需要Hypervisor的介入的。
3.5 性能和可伸縮性
KVM也繼承了Linux的性能和可伸縮性。KVM在CPU、內(nèi)存、網(wǎng)絡、磁盤等虛擬化性能上表現(xiàn)出色,大多都在原生系統(tǒng)的95%以上。KVM的伸縮性也非常好支持擁有多達288個vCPU和4TB RAM的客戶機,對于宿主機上可以同時運行的客戶機數(shù)量,軟件上無上限。
這意味著,任何要求非??量痰膽贸绦蚬ぷ髫撦d都可以運行在KVM虛擬機。
總結(jié)
通過KVM介紹,我們知道了KVM是基于內(nèi)核的虛擬機,是基于硬件虛擬化輔助的全虛擬化技術,KVM的VMM層目前已經(jīng)被寫入到了Linux內(nèi)核模塊中。
功能概述中,介紹了KVM的虛擬機可以安裝VirtIO來提高我們IO性能。