secce 发表于 2015-10-10 12:39:55

centos7下安装KVM虚拟机

  一.前期准备
  1.确定机器有VT

终端输入命令:


grep -E -o '(vmx|svm)' /proc/cpuinfo
  如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。
  2.确保BIOS里开启VT:

Intel(R) Virtualization Tech

使用如下命令


lsmod | grep kvm
modprobe kvm-intel
  二.桥接网络
  使用桥接网络,虚拟机即可与其他机器互相访问。

1.复制ifcfg-em1 为 ifcfg-br0,并将ifcfg-br0改为如下配置


TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.1.116
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
  2.原网卡ifcfg-em1只保留如下配置,其他都注释掉:


NAME=em1
DEVICE=em1
ONBOOT=yes
BRIDGE=br0
  3.重启网络


service network restart
  三.安装kvm
  1.安装kvm


yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64    libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarchlibvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64dbus-develvirt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
  2.安装x-windows,使用图形界面管理虚拟机


yum groupinstall "X Window System"
  3.安装中文字符,解决界面乱码问题


yum install dejavu-lgc-sans-fonts
yum groupinstall "Fonts" -y
  错误:

1. couldn’t connect to accessibility bus failed to connect to socket /tmp/dbus

解决方法:


export NO_AT_BRIDGE=1
  四.使用

1.使用virt-manager管理虚拟机,可以完成克隆,安装,开启,关闭等大部分的动作

如是ssh命令登录服务器,需加上XC参数。

如是在windows环境下通过putty登录服务器,需打开x-windows,方法如下:


在http://sourceforge.net/projects/xming/下载Xming,并安装运行。
putty.exe ==> Connection/SSH/X11 ==> X11 forwarding/Enable打勾即可,X dispaly location可以空着
  2.创建预分配文件


qemu-img create -f qcow2 -o preallocation=metadata /data/test.qcow2 80G
  3.让虚拟机开机自动启动


virsh list --all查看虚拟机名称及状态
virsh autostart +虚拟机名称
  设置后可在/etc/libvirt/qemu/autostart下看到已设置自动启动KVM配置文件链接
  4.在桥接网络下给虚拟机做NAT

有种情况是:服务器有两张网卡,一张外网,一张内网。当我们给kvm桥接的是内网时,虚拟机只能访问内网,无法访问外网。这时就可以利用iptables做NAT,让虚拟机也能访问外网。
  首先开启转发


echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
  配置防火墙


#虚拟机ip 192.168.1.120 公网ip 1.1.1.1 公网网卡em1
iptables -t nat -A POSTROUTING -s 192.168.1.120 -o em1 -j SNAT --to 1.1.1.1
iptables -A FORWARD -d 192.168.1.120 -j ACCEPT
iptables -A FORWARD -s 192.168.1.120 -j ACCEPT
#注意新增的iptables -A FORWARD两条链要在下面这条之上
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited
#如不想单独配置每个虚拟机的ip,可把192.168.1.120改为网段192.168.1.0/24
#保存配置
service iptables save
  虚拟机的网关指向桥接ip


GATEWAY=192.168.1.116
  配置完成后即可上网了
  5.克隆网卡问题

如果虚拟机是centos6.x的,克隆虚拟机后会有mac地址冲突的问题,导致克隆出来的虚拟机无法启动网卡.centos7没有这个问题.

简单的处理步骤如下

1.删除/etc/udev/rules.d/70-persistent-net.rules这个文件

2.网卡配置文件中删除mac地址配置这一行,如:/etc/sysconfig/network-scripts/ifcfg-eth0,把HWaddr这一行删除

3.重命名网卡配置文件:

cd /etc/sysconfig/network-scripts/

mv ifcfg-eth0 ifcfg-eth1

版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: centos7下安装KVM虚拟机