注意:KVM一切安裝和運行都是在root用戶下完成的,並且只有root才能支持某些軟件。
一、准備工作:
1、關閉selinux,iptables,重啟后生效
##關閉selinux # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #修改配置文件則永久生效,但是必須要重啟系統。 ##生效命令 # setenforce 0
##關閉防火牆(這一步可以后續按照業務來添加防火牆,前期先排除防火牆導致的不必要問題)
# systemctl stop firewalld
# systemctl disable firewalld
##安裝回iptables,但不要開啟,留到后續使用(可選)
# yum install -y iptables-services
# systemctl enable iptables
# systemctl stop iptables
3、查看系統是否支持KVM虛擬化
# egrep '(vmx|svm)' --color=always /proc/cpuinfo
//要有vmx|svm才支持虛擬化
4、設置轉發,使其KVM可以通過網橋上網
##開啟路由轉發功能 sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf sysctl -p #生效
5、重啟
# reboot
二、安裝KVM必備軟件
##安裝KVM所有需要的包 yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v virt-install yum -y install libguestfs-tools systemctl restart libvirtd #重啟
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
安裝完成后查看狀態如下:
[root@localhost iso]# virsh -c qemu:///system list Id 名稱 狀態 ---------------------------------------------------- [root@localhost iso]# lsmod |grep kvm kvm_intel 54285 0 kvm 333172 1 kvm_intel [root@localhost iso]# virsh --version 3.9.0
三、配置網橋
1、關閉NetworkManager服務(桌面版本會有這個服務,服務器版不會安裝)
systemctl stop NetworkManager #停止
systemctl disable NetworkManager #禁止下次自啟動
2、創建br0網橋(注意粗體部分)
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-enp2s0 ifcfg-br0 #注意:ifcfg-enp2s0會根據不同的系統生成不一樣,CentOS 7的特點,只要找准第一個即可 # vim ifcfg-enp2s0 DEVICE=eth0 #HWADDR=00:0C:29:41:DA:81 TYPE=Ethernet UUID=21501ff5-e313-494c-a402-50f2a84f1f5c ONBOOT=yes NM_CONTROLLED=yes #BOOTPROTO=static #IPADDR=192.168.213.6 #NETMASK=255.255.255.0 #GATEWAY=192.168.213.2 BRIDGE=br0 # vim ifcfg-br0 DEVICE=br0 ONBOOT=yes HWADDR=00:0C:29:41:DA:81 NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.213.6 NETMASK=255.255.255.0 GATEWAY=192.168.213.2 DNS1=8.8.8.8 DNS2=114.114.114.114 TYPE=Bridge
注意:上面配置的網卡信息為靜態地址,如果使用DHCP需要對應修改為BOOTPROTO=dhcp
3、重啟network服務。
/etc/init.d/network restart
檢查網卡狀態:
# ifconfig
查看網橋狀態
# brctl show bridge name bridge id STP enabled interfaces br0 8000.7446a0f51698 no eth0 virbr0 8000.52540095e5ac yes virbr0-nic
四、配置和安裝KVM虛擬機
##創建文件夾 mkdir -p /data/kvm/image mkdir -p /data/iso ##使用FTP上傳CentOS6.9的ISO文件到/data/iso,我使用的rz進行上傳 rz CentOS-6.9-x86_64-bin-DVD1.iso ##創建虛擬機鏡像文件 qemu-img create -f raw /data/nfyg/images/centos6.raw 100G ##創建KVM虛擬機 virt-install --name centos6 --ram 1024 --vcpus=1 --disk path=/data/kvm/image/centos6.raw --network bridge=br0 --cdrom=/data/iso/CentOS-6.9-x86_64-bin-DVD1.iso --accelerate --vnclisten=0.0.0.0 --vncport=5900 --vnc
選項解釋:
--name centos6 ##虛擬機名稱,自定義 --ram 1024 ##分配內存大小(默認大小MB) --vcpus=1 ##分配CPU核心數,最大與時提及CPU核心數相同 --disk path=/data/kvm/image/centos6.img ##指定虛擬機鏡像 --network bridge=br0 ##指定網絡 --cdrom=/data/iso/CentOS-6.9-x86_64-bin-DVD1.iso ##指定安裝鏡像iso --accelerate ##加速 --vnclisten=0.0.0.0 ##指定VNC綁定IP,默認綁定127.0.0.1,這里改為0.0.0.0 --vncport=5900 ##指定VNC監聽端口(默認為5900),可以自行設置 --vnc ##啟用VNC管理
查看是否運行:
# virsh list Id Name State ---------------------------------------------------- 2 centos6 running
五、使用VNC連接進行安裝
使用vnc-viewer連接192.168.213.6:5900就可以遠程安裝這台虛擬機,或者使用vnc顯示(需要桌面的支持):virsh vncdisplay centos6
六、常用操作命令
Virsh語法參考(centos為KVM名字) virsh list --all 列出所有的虛擬機 virsh start centos 啟動centos虛擬機 virsh shutdown centos 關閉centos虛擬機 virsh destroy centos 強制關閉centos虛擬機 virsh autostart centos 設置centos自動啟動 virsh undefine centos 刪除centos虛擬機 virsh suspend centos 暫停centos虛擬機 vrish resume centos 恢復centos虛擬機 virsh reboot centos 重啟centos虛擬機 virsh edit centos 編輯centos虛擬機 virsh vncdisplay centos vnc顯示
參考:
http://www.linuxidc.com/Linux/2016-06/132424.htm
http://www.jb51.net/article/94963.htm
https://www.server110.com/kvm/201311/3292.html
http://blog.csdn.net/xiegh2014/article/details/53215102(以上內容部分轉自此篇文章)
http://www.linuxidc.com/Linux/2016-06/132424.htm
http://blog.csdn.net/wh211212/article/details/74529890
http://blog.51cto.com/bluefei/1773891
http://www.89cool.com/240.html
https://segmentfault.com/a/1190000000644069
https://www.vpsee.com/2012/04/install-kvm-on-centos-6-2/