(乾貨)Linux桌面虛擬化技術KVM

虛擬化產品對比介紹

  • vmware
  • KVM rhel6_x64
  • xen [kernel-xen] rhel5

虛擬化技術:

  • 仿真虛擬化:對系統硬件沒有要求,性能最低
  • 半虛擬化:虛擬機可以使用真機物理硬件,性能高,需要改內核
  • 全虛擬化:直接使用物理硬件,性能高

vmware 支持仿真虛擬化

xen 半虛 REHL5 自帶 xen, 安裝時需要安裝內核 rpm -ivh kernel-xen-xxx.rpm

kvm 全虛擬化 RHEL6 自帶 kvm

KVM 概述

KVM即Kernel-based Virtual Machine基於內核的虛擬機。

KVM,是一個開源的系統虛擬化模塊,自 Linux 2.6.20 之後集成在 Linux 的各個主要發行版本中。它使用 Linux 自身的調度器進行管理,所以相對亍 Xen,其核心源碼很少。KVM 目前已成為學術界的主流 VMM(虛擬機監控器)之一。KVM 的虛擬化需要硬件支持(如 Intel VT 技術戒者 AMD V 技術)。是基於硬件的完全虛擬化。而 Xen 早期則是基於軟件模擬的 Para-Virtualization。

KVM: 是指基於 Linux 內核的虛擬機(Kernel-based Virtual Machine)。是第一個整合到 Linux內核的虛擬化技術。在 KVM 模型中,每一個虛擬機都是一個由 Linux 調度程序管理的標準進程,你可以在用戶空間啟動客戶機操作系統。

一個普通的 Linux 進程有兩種運行模式:內核和用戶。 KVM 增加了第三種模式:客戶模式(有自己的內核和用戶模式)

  • XEN :需要升級內核,只能支持和物理機系統一樣的操作系統。
  • KVM:支持 linux 以外的其它系統。比如:windows
  • QEMU:是一套由 Fabrice Bellard 所編寫的以 GPL 許可證分發源碼的模擬處理器,在 GNU/Linux平臺上使用廣泛。QEMU 具有高速度和跨平臺的特性,QEMU 能模擬至接近真實電腦的速度。QEMU 能模擬整個電腦系統,包括中央處理器及其他周邊設備。QEMU 和 vmware一樣都是支持仿真虛擬化,效率比較低。

配置 KVM 前期準備工作

實驗環境是在PC機上裝有win7系統,並安裝VMware Workstation軟件

1、把虛擬機內存調成 2G 以上,因為我們要在 VMware 虛擬中安裝 KVM,然後在 KVM 中再安裝虛擬機

(乾貨)Linux桌面虛擬化技術KVM

內存至少2GB以上

2、開啟 vmware 中虛擬化支持

(乾貨)Linux桌面虛擬化技術KVM

開啟 vmware 中虛擬化支持功能

虛擬化 cpu 性能計數器作用:(安裝KVM不需要打開此功能)

VMware 官網手冊裡有說明 http://pubs.vmware.com/workstation-12/index.jsp

3、添加一個 20G 的硬盤,用於存 KVM 虛擬機

(乾貨)Linux桌面虛擬化技術KVM

添加一個 20G 的硬盤

注: 只有 64 位 RHEL6 以上系統支持 KVM。 32 位系統不支持。

4、查看 CPU 是否支持硬件虛擬化技術。

查看自己的 CPU 是否支持全虛擬化虛擬化技術且是 64 位的

Intel:cat /proc/cpuinfo | grep --color vmx
AMD: cat /proc/cpuinfo | grep --color svm

看看 flag 有沒有上面的 vmx 或者是 svm,有的話就是支持全虛擬化技術

5、開啟 BIOS 虛擬化支持。 找到 VT 改為:enable 。BIOS 中也要打開,默認很多機器沒有打開。

(乾貨)Linux桌面虛擬化技術KVM

沒有開啟VT

(乾貨)Linux桌面虛擬化技術KVM

BIOS開啟VT

6、安裝RHEL 64位以上操作系統

此過程不在過多贅述,大家可自行安裝

安裝 KVM 虛擬機

開機後查看 CPU 是否支持全虛擬化

查看自己的 CPU 是否支持全虛擬化虛擬化技術且是 64 位的

Intel:cat /proc/cpuinfo | grep --color vmx
AMD :cat /proc/cpuinfo | grep --color svm
看看 flag 有沒有上面的 vmx 或者是 svm,有的話就是支持全虛擬化技術

安裝 KVM

安裝 KVM 模塊、管理工具和 libvirt,命令行安裝:

# yum install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python 

注:使用系統鏡像,先配置好 yum 本地源

注:

qemu-kvm : kvm 主程序, KVM 虛擬化模塊

virt-manager: KVM 圖形化管理工具

libvirt: 虛擬化服務

libguestfs-tools : 虛擬機的系統管理工具

virt-install : 安裝虛擬機的實用工具 。比如 virt-clone 克隆工具就是這個包安裝的

libvirt-python : python 調用 libvirt 虛擬化服務的 api 接口庫文件

查看安裝完KVM後的服務:

# systemctl start libvirtd #開啟虛擬化服務
# systemctl enable libvirtd #設置 libvirtd 服務開機啟勱
# systemctl is-enabled libvirtd #查看是不是開機啟勱

確定正確加載 kvm 模塊

# lsmod | grep kvm
kvm_intel 170086 0
kvm 566340 1 kvm_intel
irqbypass 13503 1 kvm

使用命令:virt-manager 建立虛擬機

將 kvm 管理工具從英文界面,切換成中文界面:

# echo $LANG
en_US.UTF-8
# LANG='zh_CN.UTF-8'
# virt-manager

1、執行 virt-manager 後,彈出如下界面:

(乾貨)Linux桌面虛擬化技術KVM

virt-manager

2、創建一個分區,用於存放安裝好的 Linux 操作系統:

# fdisk /dev/sdb #創建 sdb1,大小 20G

...略

格式化,並掛載使用

# mkfs.xfs /dev/sdb1
#mount /dev/sdb1 /var/lib/libvirt/images/ #安裝虛擬機,默認存放的路徑:

注:準備系統鏡像:把 centos7.4 鏡像上傳到/var/lib/libvirt/images/目錄下。

3、創建虛擬機

# virt-manager

(乾貨)Linux桌面虛擬化技術KVM

virt-manager

(乾貨)Linux桌面虛擬化技術KVM

選擇如何安裝系統

(乾貨)Linux桌面虛擬化技術KVM

使用ISO鏡像

(乾貨)Linux桌面虛擬化技術KVM

配置資源

(乾貨)Linux桌面虛擬化技術KVM

配置磁盤

(乾貨)Linux桌面虛擬化技術KVM

配置網絡

點"完成"到此創建好一個新的 KVM 虛擬機了。

4、修改 KVM 中 BIOS 引導順序

(乾貨)Linux桌面虛擬化技術KVM

引導選項

5、正常安裝系統測試

KVM 虛擬機常用命令

# virsh list #列出在運行的虛擬機

# virsh start centos7-71 #啟勱 centos7-71 虛擬機

# virsh shutdown centos7-71 #關閉 centos7-71 虛擬機

# virsh autostart centos7-71 #設置 centos7-71 虛擬機為物理機開機後,自動啟動

測試:

reboot 後,沒有發現 kvm 虛擬機開機自動啟動

解決:

# vim /etc/fstab #記得設置開機自動掛載 sdb1,不然是啟動不了的

/dev/sdb1 /var/lib/libvirt/images xfs defaults 0 0


分享到:


相關文章: