虛擬化產品對比介紹
- 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 中再安裝虛擬機
內存至少2GB以上
2、開啟 vmware 中虛擬化支持
開啟 vmware 中虛擬化支持功能
虛擬化 cpu 性能計數器作用:(安裝KVM不需要打開此功能)
VMware 官網手冊里有說明 http://pubs.vmware.com/workstation-12/index.jsp
3、添加一個 20G 的硬盤,用于存 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 中也要打開,默認很多機器沒有打開。
沒有開啟VT
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 后,彈出如下界面:
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
virt-manager
選擇如何安裝系統
使用ISO鏡像
配置資源
配置磁盤
配置網絡
點"完成"到此創建好一個新的 KVM 虛擬機了。
4、修改 KVM 中 BIOS 引導順序
引導選項
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