注意:KVM一切安装和运行都是在root用户下完成的,并且只有root才能支持某些软件。
一、准备工作:
1、查看系统版本、内核版本
##查看系统版本 # cat /etc/redhat-release CentOS release 6.4 (Final) ##查看内核版本 # uname -a Linux KVM 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
注: 2.6.20以下的内核需要升级。
2、关闭selinux,iptables,重启后生效
##关闭selinux # sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config #修改配置文件则永久生效,但是必须要重启系统。 #生效命令 # setenforce 0
##关闭iptables(这一步可以后续按照业务来添加防火墙,前期先排除防火墙导致的不必要问题) # iptables -F # iptables -X # /etc/init.d/iptables save # /etc/init.d/iptables stop
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 yum -y install libguestfs-tools /etc/init.d/libvirtd restart #重启
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 0.10.2 [root@localhost iso]# virt-install --version 0.600.0
三、配置网桥
1、关闭NetworkManager服务(桌面版本会有这个服务,服务器版不会安装)
/etc/init.d/NetworkManager stop #停止
chkconfig NetworkManager off #禁止下次自启动
2、创建br0网桥(注意粗体部分)
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-eth0 ifcfg-br0 # vim ifcfg-eth0 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