這篇文章主要介紹“KVM虛擬化是什么”,在日常操作中,相信很多人在KVM虛擬化是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對大家解答”KVM虛擬化是什么”的疑惑有所幫助!接下來(lái),請跟著(zhù)小編一起來(lái)學(xué)習吧!
1、虛擬化分為:全虛擬化和半虛擬化,需要CPU的支持。
2、全虛擬化:不需要做任何配置,讓用戶(hù)覺(jué)得就是一臺真實(shí)的
3、半虛擬機化:需要用戶(hù)配置,有點(diǎn)麻煩。
4、KVM 僅僅是 Linux 內核的一個(gè)模塊。管理和創(chuàng )建完整的 KVM 虛擬機,需要更多的輔助工具。
5、與Xen相比較,KVM就簡(jiǎn)化的多了。它不需要重新編譯內核,也不需要對當前kernel做任何修改,它只是幾個(gè)可以動(dòng)態(tài)加載的.ko模塊。它結構更加精簡(jiǎn)、代碼量更小。所以,出錯的可能性更小。并且在某些方面,性能比Xen更勝一籌。
6、/etc/libvirt/qemu目錄,存放虛擬機的配置文件。
7、kvm的備份:拷貝/etc/libvirt/qemu目錄下的xml配置文件,以及xml中設置的img文件。
8、kvm的還原:進(jìn)入virsh,執行define 目錄下的xml文件路徑,且確保鏡像文件的存在。
virsh # define /etc/libvirt/qemu/winxp.xml
9、KVM允許客戶(hù)機過(guò)載使用(over-commit)物理資源,即給客戶(hù)機分配的CPU和內存數量多于物理上實(shí)際存在的資源。
10、CPU的過(guò)載使用,是讓一個(gè)或多個(gè)客戶(hù)機使用vCPU的總數量超過(guò)實(shí)際擁有的物理CPU數量,QEMU會(huì )啟動(dòng)更多的線(xiàn)程來(lái)為客戶(hù)機提供服務(wù),這些線(xiàn)程也是被Linux內核調度運行在物理CPU硬件上。
11、最推薦的做法是對多個(gè)單CPU的客戶(hù)機使用over-commit,比如:在擁有4個(gè)邏輯CPU的宿主機中,同時(shí)運行多于4個(gè)(如8個(gè)、16個(gè))客戶(hù)機,其中每個(gè)客戶(hù)機都被分配一個(gè)vCPU。這時(shí),如果每個(gè)宿主機的負載不很大的情況下,宿主機Linux對每個(gè)客戶(hù)機的調度是非常有效的,這樣的過(guò)載使用并不會(huì )帶來(lái)客戶(hù)機中的性能損失。
12、最不推薦的做法是讓某一個(gè)客戶(hù)機的vCPU數量超過(guò)物理CPU數量。比如,在擁有4個(gè)邏輯CPU的宿主機中,同時(shí)運行一個(gè)或多個(gè)客戶(hù)機,其中每個(gè)客戶(hù)機的vCPU數量多于4個(gè)(如16個(gè))。這樣的使用方法會(huì )帶來(lái)比較明顯的性能下降,其性能反而不如將客戶(hù)機分配2個(gè)(或4個(gè))vCPU,而且如果客戶(hù)機中負載過(guò)重時(shí),可能會(huì )讓整個(gè)系統運行不穩定。不過(guò),在并非100%滿(mǎn)負載的情況下,一個(gè)(或多個(gè))有4個(gè)vCPU的客戶(hù)機運行在擁有4個(gè)邏輯CPU的宿主機中并不會(huì )帶來(lái)明顯的性能損失。
13、總的來(lái)說(shuō),KVM允許CPU的過(guò)載使用,但是并不推薦在實(shí)際的生產(chǎn)環(huán)境(特別是負載較重的環(huán)境)中過(guò)載使用CPU。在生產(chǎn)環(huán)境中過(guò)載使用CPU,有必要在部署前進(jìn)行嚴格的性能和穩定性測試。
14、KVM中內存也是允許過(guò)載使用(over-commit)的,KVM能夠讓分配給客戶(hù)機的內存總數大于實(shí)際可用的物理內存總數。
15、一般來(lái)說(shuō),有如下三種方式來(lái)實(shí)現內存的過(guò)載使用:
(1)內存交換(swapping):用交換空間(swap space)來(lái)彌補內存的不足。
(2)氣球(ballooning):通過(guò)virio_balloon驅動(dòng)來(lái)實(shí)現宿主機Hypervisor和客戶(hù)機之間的協(xié)作來(lái)完成。
(3)頁(yè)共享(page sharing):通過(guò)KSM(Kernel Samepage Merging)合并多個(gè)客戶(hù)機進(jìn)程使用的相同內存頁(yè)。
其中,第一種內存交換的方式是最成熟的(Linux中很早就開(kāi)始應用),但不推薦使用虛擬內存swap。
16、KVM(模塊):
modprobe 命令加載 KVM 模塊,如果用 RPM 安裝 KVM 軟件包,系統會(huì )在啟動(dòng)時(shí)自動(dòng)加載模塊。加載了模塊后,才能進(jìn)一步通過(guò)其他工具創(chuàng )建虛擬機。但僅有 KVM 模塊是遠遠不夠的,因為用戶(hù)無(wú)法直接控制內核模塊去做事情,還必須有一個(gè)用戶(hù)空間的工具。
17、QEMU (管理工具):
QEMU 是一個(gè)強大的虛擬化軟件,它可以虛擬不同的 CPU 構架。比如說(shuō)在 x86 的 CPU 上虛擬一個(gè) Power 的 CPU,并利用它編譯出可運行在 Power 上的程序。
18、QEMU-KVM (管理工具):
KVM 使用了 QEMU 的基于 x86 的部分,并稍加改造,形成可控制 KVM 內核模塊的用戶(hù)空間工具 QEMU-KVM。所以 Linux 發(fā)行版中分為 內核部分的 KVM 內核模塊和 QEMU-KVM 工具。
19、Libvirt、virsh、virt-manager(管理工具):
RedHat 為 KVM 開(kāi)發(fā)了更多的輔助工具,比如 libvirt、libguestfs 等。原因是 QEMU 工具效率不高,不易于使用。Libvirt 是一套提供了多種語(yǔ)言接口的 API,為各種虛擬化工具提供一套方便、可靠的編程接口,不僅支持 KVM,而且支持 Xen 等其他虛擬機。使用 libvirt,你只需要通過(guò) libvirt 提供的函數連接到 KVM 或 Xen 宿主機,便可以用同樣的命令控制不同的虛擬機了。Libvirt 不僅提供了 API,還自帶一套基于文本的管理虛擬機的命令virsh,你可以通過(guò)使用 virsh 命令來(lái)使用 libvirt 的全部功能。但最終用戶(hù)更渴望的是圖形用戶(hù)界面,這就是 virt-manager。它是一套用 python 編寫(xiě)的虛擬機管理圖形界面,用戶(hù)可以通過(guò)它直觀(guān)地操作不同的虛擬機。Virt-manager 就是利用 libvirt 的 API 實(shí)現的。
20、在 KVM 模型中,每一個(gè)虛擬機都是一個(gè)由 Linux 調度程序管理的標準進(jìn)程,你可以在用戶(hù)空間啟動(dòng)客戶(hù)機操作系統。一個(gè)普通的 Linux 進(jìn)程有兩種運行模式:內核和用戶(hù)。 KVM 增加了第三種模式:客戶(hù)模式(有自己的內核和用戶(hù)模式)。
21、內核模塊導出了一個(gè)名為 /dev/kvm 的設備,它可以啟用內核的客戶(hù)模式(除了傳統的內核模式和用戶(hù)模式)。有了 /dev/kvm 設備,VM 使自己的地址空間獨立于內核或運行著(zhù)的任何其他 VM 的地址空間。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站