Linux桌面虛擬化技術(shù)KVM
虛擬化產(chǎn)品對比介紹
- vmware
- KVM rhel6_x64
- xen [kernel-xen] rhel5
虛擬化技術(shù):
- 仿真虛擬化:對系統(tǒng)硬件沒有要求,性能最低
- 半虛擬化:虛擬機(jī)可以使用真機(jī)物理硬件,性能高,需要改內(nèi)核
- 全虛擬化:直接使用物理硬件,性能高
- vmware 支持仿真虛擬化
- xen 半虛 REHL5 自帶 xen, 安裝時需要安裝內(nèi)核 rpm -ivh kernel-xen-xxx.rpm
- kvm 全虛擬化 RHEL6 自帶 kvm
KVM 概述
KVM即Kernel-based Virtual Machine基于內(nèi)核的虛擬機(jī)。
KVM,是一個開源的系統(tǒng)虛擬化模塊,自 Linux 2.6.20 之后集成在 Linux 的各個主要發(fā)行版本中。它使用 Linux 自身的調(diào)度器進(jìn)行管理,所以相對亍 Xen,其核心源碼很少。KVM 目前已成為學(xué)術(shù)界的主流 VMM(虛擬機(jī)監(jiān)控器)之一。KVM 的虛擬化需要硬件支持(如 Intel VT 技術(shù)戒者 AMD V 技術(shù))。是基于硬件的完全虛擬化。而 Xen 早期則是基于軟件模擬的 Para-Virtualization。
KVM: 是指基于 Linux 內(nèi)核的虛擬機(jī)(Kernel-based Virtual Machine)。是第一個整合到 Linux內(nèi)核的虛擬化技術(shù)。在 KVM 模型中,每一個虛擬機(jī)都是一個由 Linux 調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程,你可以在用戶空間啟動客戶機(jī)操作系統(tǒng)。
一個普通的 Linux 進(jìn)程有兩種運行模式:內(nèi)核和用戶。 KVM 增加了第三種模式:客戶模式(有自己的內(nèi)核和用戶模式)
- XEN :需要升級內(nèi)核,只能支持和物理機(jī)系統(tǒng)一樣的操作系統(tǒng)。
- KVM:支持 linux 以外的其它系統(tǒng)。比如:windows
- QEMU:是一套由 Fabrice Bellard 所編寫的以 GPL 許可證分發(fā)源碼的模擬處理器,在 GNU/Linux平臺上使用廣泛。QEMU 具有高速度和跨平臺的特性,QEMU 能模擬至接近真實電腦的速度。QEMU 能模擬整個電腦系統(tǒng),包括中央處理器及其他周邊設(shè)備。QEMU 和 vmware一樣都是支持仿真虛擬化,效率比較低。
配置 KVM 前期準(zhǔn)備工作
實驗環(huán)境是在PC機(jī)上裝有win7系統(tǒng),并安裝VMware Workstation軟件
1、把虛擬機(jī)內(nèi)存調(diào)成 2G 以上,因為我們要在 VMware 虛擬中安裝 KVM,然后在 KVM 中再安裝虛擬機(jī)

內(nèi)存至少2GB以上
2、開啟 vmware 中虛擬化支持

開啟 vmware 中虛擬化支持功能
虛擬化 cpu 性能計數(shù)器作用:(安裝KVM不需要打開此功能)
VMware 官網(wǎng)手冊里有說明 http://pubs.vmware.com/workstation-12/index.jsp
3、添加一個 20G 的硬盤,用于存 KVM 虛擬機(jī)

添加一個 20G 的硬盤
注: 只有 64 位 RHEL6 以上系統(tǒng)支持 KVM。 32 位系統(tǒng)不支持。
4、查看 CPU 是否支持硬件虛擬化技術(shù)。
查看自己的 CPU 是否支持全虛擬化虛擬化技術(shù)且是 64 位的
Intel:cat /proc/cpuinfo | grep --color vmxAMD: cat /proc/cpuinfo | grep --color svm
看看 flag 有沒有上面的 vmx 或者是 svm,有的話就是支持全虛擬化技術(shù)
5、開啟 BIOS 虛擬化支持。 找到 VT 改為:enable 。BIOS 中也要打開,默認(rèn)很多機(jī)器沒有打開。

沒有開啟VT

BIOS開啟VT
6、安裝RHEL 64位以上操作系統(tǒng)
此過程不在過多贅述,大家可自行安裝
安裝 KVM 虛擬機(jī)
開機(jī)后查看 CPU 是否支持全虛擬化
查看自己的 CPU 是否支持全虛擬化虛擬化技術(shù)且是 64 位的
- Intel:cat /proc/cpuinfo | grep --color vmx
- AMD :cat /proc/cpuinfo | grep --color svm
- 看看 flag 有沒有上面的 vmx 或者是 svm,有的話就是支持全虛擬化技術(shù)
安裝 KVM
安裝 KVM 模塊、管理工具和 libvirt,命令行安裝:
- # yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python
注:使用系統(tǒng)鏡像,先配置好 yum 本地源
注:
- qemu-kvm : kvm 主程序, KVM 虛擬化模塊
- virt-manager: KVM 圖形化管理工具
- libvirt: 虛擬化服務(wù)
- libguestfs-tools : 虛擬機(jī)的系統(tǒng)管理工具
- virt-install : 安裝虛擬機(jī)的實用工具 。比如 virt-clone 克隆工具就是這個包安裝的
- libvirt-python : python 調(diào)用 libvirt 虛擬化服務(wù)的 api 接口庫文件
查看安裝完KVM后的服務(wù):
- # systemctl start libvirtd #開啟虛擬化服務(wù)
- # systemctl enable libvirtd #設(shè)置 libvirtd 服務(wù)開機(jī)啟勱
- # systemctl is-enabled libvirtd #查看是不是開機(jī)啟勱
確定正確加載 kvm 模塊
- # lsmod | grep kvm
- kvm_intel 170086 0
- kvm 566340 1 kvm_intel
- irqbypass 13503 1 kvm
使用命令:virt-manager 建立虛擬機(jī)
將 kvm 管理工具從英文界面,切換成中文界面:
- # echo $LANG
- en_US.UTF-8
- # LANG='zh_CN.UTF-8'
- # virt-manager
1、執(zhí)行 virt-manager 后,彈出如下界面:

virt-manager
2、創(chuàng)建一個分區(qū),用于存放安裝好的 Linux 操作系統(tǒng):
- # fdisk /dev/sdb #創(chuàng)建 sdb1,大小 20G
...略
格式化,并掛載使用
- # mkfs.xfs /dev/sdb1
- #mount /dev/sdb1 /var/lib/libvirt/images/ #安裝虛擬機(jī),默認(rèn)存放的路徑:
注:準(zhǔn)備系統(tǒng)鏡像:把 centos7.4 鏡像上傳到/var/lib/libvirt/images/目錄下。
3、創(chuàng)建虛擬機(jī)
- # virt-manager

virt-manager

選擇如何安裝系統(tǒng)

使用ISO鏡像

配置資源

配置磁盤

配置網(wǎng)絡(luò)
點"完成"到此創(chuàng)建好一個新的 KVM 虛擬機(jī)了。
4、修改 KVM 中 BIOS 引導(dǎo)順序

引導(dǎo)選項
5、正常安裝系統(tǒng)測試
KVM 虛擬機(jī)常用命令
# virsh list #列出在運行的虛擬機(jī)
# virsh start centos7-71 #啟勱 centos7-71 虛擬機(jī)
# virsh shutdown centos7-71 #關(guān)閉 centos7-71 虛擬機(jī)
# virsh autostart centos7-71 #設(shè)置 centos7-71 虛擬機(jī)為物理機(jī)開機(jī)后,自動啟動
測試:
reboot 后,沒有發(fā)現(xiàn) kvm 虛擬機(jī)開機(jī)自動啟動
解決:
# vim /etc/fstab #記得設(shè)置開機(jī)自動掛載 sdb1,不然是啟動不了的
- /dev/sdb1 /var/lib/libvirt/images xfs defaults 0 0