《KVM虛擬化技術實戰和原理解析》讀書筆記(二)

2021-07-23 22:43:49 字數 1990 閱讀 4408

在x86-64架構的處理器中,kvm必需的硬體虛擬化擴充套件分別為:intel的虛擬化技術(intel vt)和amd的amd-v技術。

除了必需的處理器虛擬化擴充套件以外,如果伺服器晶元還支援vt-d,也建議在bios中將其開啟,因為後面一些相對高階的裝置的直接分配功能會需要硬體vt-d技術的支援。vt-d(virtualization technology for directed io)是對裝置i/o的虛擬化硬體支援。

在linux系統中,可以通過檢查 /proc/cpuinfo 檔案中的cpu特性標誌(flags)來檢視cpu目前是否支援硬體虛擬化。在x86或x86-64平台中,intel系列cpu支援虛擬化的標誌為vmx,amd系列cpu的標誌為svm,所以可用如下命令列檢視vmx或者svm標誌。

grep -e '(vmx|svm)' /proc/cpuinfo

清華的映象站點:

進入kvm.git之後:

- 檢視幫助資訊

make help

常用配置命令:

- make config

- 輸入y 將該特性編譯進核心

- 輸入n 不將該特性編譯進核心

- 輸入m 將該特性作為模組進行編譯

- 輸入? 顯示幫助資訊

需要經過編譯kernel、編譯bzimage和編譯module三步。其中編譯bzimage這一步不是必須的。

直接執行 make 或 make all 也可以將以上三步全部包括。

編譯kernel的命令為 make vmlinuz

make vmlinuz -j 8

此處,-j 引數是讓make工具採用多程序來編譯。

執行編譯bzimage的命令 make bzimage

執行編譯核心模組的命令 make modules

kvm的安裝包括2個步驟:module的安裝, kernel和initramfs的安裝

安裝 module

make modules_all - 可以將編譯好的module安裝到相應的目錄中。

在預設情況下,module被安裝到 /lib/modules//kernel 目錄中。

安裝kernel和initramfs

make install - 可以安裝kernel和initramfs.

可以在 /boot 目錄下看見生成了的核心(vmlinuz)和 initramfs 等核心啟動所需的檔案。

在執行make install之後,grub配置檔案(如 /boot/grub/grub.conf)中也自動新增了乙個grub選項。

重啟系統,就可以選擇剛才為了kvm而編譯、安裝的核心來啟動了。

通常情況下,系統啟動時缺省會載入 kvm 和 kvm_intel 這2個模組。若沒有載入,可以手動用 modprob 命令依次載入 kvm 和 kvm_intel 模組。

modprob kvm

modprob kvm_intel

lsmod | grep kvm

確認kvm相關模組載入成功後,檢查 /dev/kvm 這個檔案,它是kvm核心模組提供給使用者空間的qemu-kvm程式使用的乙個控制介面,它提供了客戶機作業系統執行所需的模擬和實際的硬體裝置環境。

ls -l /dev/kvm

注: 錯誤:

出現問題」glib-2.12 required to compile qemu」.

解決:

在執行 apt-cache search glib2 之後,決定執行 apt-get install libglib2.0-dev

make -j 2

sudo make install

注: 錯誤:

在make的時候會報錯,說有乙個warning,而編譯過程又將所有的warning當成了error.

解決:

在makefile中找到qemu_cflags最開始出現的地方新增一行: qemu_cflags += -w

暫略 暫略

《kvm虛擬化技術 實戰與原理解析》讀書筆記

x86平台虛擬化技術中,新引入的虛擬化層通常稱為虛擬機器監控器 virtual machine monitor,vmm 也叫做hypervisor.宿主機是真實的物理平台,客戶機是虛擬出來的平台。虛擬化實現的技術方式有多種,比如軟體虛擬化和硬體虛擬化,再比如準虛擬化和全虛擬化。準虛擬化需要修改客戶機...

開源KVM虛擬化技術

1.kvm虛擬機器技術原理 kvm全稱kernel based virtual machine,是乙個基於linux環境的開源虛擬化解決方案。與xen vmware等提供完整解決方案的商業化虛擬產品不同,kvm的思想是在linux核心的基礎上新增虛擬機器管理模組,重用linux核心中已經完善的程序排...

Linux 桌面虛擬化技術 KVM

虛擬化產品對比介紹 虛擬化技術 vmware 支援 虛擬化 kvm 概述 kvm 即 kernel based virtual machine 基於核心的虛擬機器 kvm,是乙個開源系統虛擬化模組,自 linux 2.6.20 之後整合在 linux 的各個主要發行版中,它使用linux 自身的排程...