KVM(Kernel-based Virtual Machine)是基於虛擬化擴展(Intel VT或AMD-V)的X86硬件平臺實現的Linux的全虛擬化解決方案,其基本結構由兩部分組成:一個是KVM Driver ,是Linux 內核的一個模塊,負責虛擬機的建立,虛擬內存的分配,虛擬CPU寄存器的讀寫以及虛擬CPU的運行等;另外一個部分是稍微修改過的Qemu,用於模擬PC硬件的用戶空間組件,模擬I/O設備模型以及提供訪問外設的途徑。linux
kvm負責cpu虛擬化+內存虛擬化,實現了cpu和內存的虛擬化,但kvm不能模擬其餘設備;
qemu是模擬IO設備(網卡,磁盤),kvm加上qemu以後就能實現真正意義上服務器虛擬化。
由於用到了上面兩個東西,因此通常都稱之爲qemu-kvm。
libvirt則是調用kvm虛擬化技術的接口用於管理的,用libvirt管理方便,直接用qemu-kvm的接口太繁瑣。vim
1.將內核模式修改位兼容內核啓動,操做以下:服務器
vim /boot/grub/grub.conf 修改:default=1
2.關閉selinux,操做以下:網絡
(1) 命令:setenforce 0 ,臨時生效方法 (2) 修改配置文件法: vim /etc/selinux/config 修改:SELINUX=disabled 保存,重啓生效 ps:經過getenforce能夠查看selinux狀態
3.關閉防火牆工具
service iptables stop chkconfig iptables off service iptables status
1.查看cpu是否支持全虛擬化ui
egrep '(vmx|svm)' /proc/cpuinfo 執行結束若是出現東西,說明支持全虛擬化,不然,不支持 ps:若是是在VM下運行,請記得勾選支持虛擬化,具體操做如圖3.1所示,不然不支持
圖 3.1spa
2.安裝必要的安裝包操作系統
檢查是否存在: rpm -qa qemu-kvm libvirt Python-virtinst virt-viewer virt-manager bridge-utils 不存在則安裝: yum -y install qemu-kvm libvirt Python-virtinst virt-viewer virt-manager bridge-utils
1.重啓libvirt服務.net
service libvirtd restart 或者 service /etc/sysconfig/libvirtd restart
2.查看虛擬化環境rest
virsh -c qemu:///system list
效果圖
3.查看是否支持kvm模塊
lsmod | grep kvm 若是出現下圖則支持,不然請從新檢查是否支持全虛擬化
結果圖
4.查看虛擬工具版本
virsh --version virt-install --version ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm qemu-kvm --version
效果圖
目的:使KVM的虛擬機可使用同一網段內網,配置虛擬網橋
1.關閉NetworkManager(引起配置失效)
service NetworkManager stop chkconfig NetworkManager off service NetworkManager status
2.建立網橋br0
複製一份網卡文件: cp ifcfg-eth0 ifcfg-br0 修改eth0: vim ifcfg-eth0 NM_CONTROLLED=no 修改br0: vim ifcfg-br0 NM_CONTROLLED=yes TYPE=Bridge DEVICE=br0(記得修改,否則就重名啦~)
3.重啓網絡服務
service network restart 再次提醒:記得關閉 NetworkManager
4.重啓完,查看網卡信息,便可看到配置信息
ifconfig br0是否是出來啦 ~ 不信的話,再敲擊下方命令試試看: brctl show
brctl 結果圖
取材來源:http://m.blog.csdn.net/English0523/article/details/51644591
做者:mibine 連接:https://www.jianshu.com/p/80553a146b09 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。