虚拟化之KVM

1.KVM概述

KVM是一个开源的系统虚拟化模块。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM需要一个经过修改的QEMU软件(qemu-kvm),作为虚拟机上层控制和界面。KVM的虚拟机需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。

2.KVM相关安装包及其作用

qemu-kvm          主要的KVM程序包

python-virtinst   创建虚拟机所需要的命令行工具和程序库

virt-manager      GUI虚拟机管理工具

virt-top          虚拟机统计命令

virt-viewer       GUI连接程序,连接到已配置好的虚拟机

libvirt           C语言工具包,提供libvirt服务

libvirt-client    虚拟客户机提供的C语言工具包

virt-install      基于libvirt服务的虚拟机创建命令

bridge-utils      创建和管理桥接设备的工具

3.安装kvm

1)检查cpu是否支持虚拟化

# grep vmx /proc/cpuinfo

如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使?KVM?????????

2)确保BIOS里开启虚拟化功能,即查看是否加载KVM模块

# lsmod | grep kvm

如果没有加载,运行以下命令:

# modprobe kvm

# modprobe kvm-intel

3)内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。

# ll /dev/kvm

4)桥接网络

如果没有brctl命令(用来管理网桥的工具),则需要安装bridge-utils

# yum -y install bridge-utils

# systemctl restart network

配置KVM的网桥模式

# cp  /etc/sysconfig/network-scripts/ifcfg-ens33   /etc/sysconfig/network-scripts/ifcfg-br0

# vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE=Bridge            #这一行修改为Bridge

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_AUTOCONF=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

BOOTPROTO=static

DEFROUTE=yes

NAME=br0             #修改设备名称为br0

DEVICE=br0            #修改设备为br0

ONBOOT=yes

IPADDR=192.168.56.254

GATEWAY=192.168.56.2

NETMASK=255.255.255.0

DNS2=8.8.8.8

# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

BRIDGE=br0          #添加这一行

#DEFROUTE=yes       #以下几行注释掉

#PEERDNS=yes

#PEERROUTES=yes

#IPV4_AUTOCONF=yes

#IPV6INIT=yes

#IPV6_AUTOCONF=yes

#IPV6_DEFROUTE=yes

#IPV6_PEERDNS=yes

#IPV6_PEERROUTES=yes

#IPV6_FAILURE_FATAL=no

#BOOTPROTO=static

#DEFROUTE=yes

NAME=ens33

DEVICE=ens33

ONBOOT=yes

#IPADDR=192.168.56.254

#GATEWAY=192.168.56.2

#NETMASK=255.255.255.0

重启网卡服务

# systemctl restart network

查看网卡

# brctl  show

查看ip信息

# ifconfig |head -20

# ping www.baidu.com

5)安装libvirt及kvm

libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机:

# 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.noarch   libvirt-python.x86_64  

libiscsi-1.7.0-5.el6.x86_64  dbus-devel  virt-clone  tunctl  virt-manager   libvirt

libvirt-python

黄色这个rpm包不在YUM中,需要自行下载

安装libiscsi从中下载最新的epel-release rpm

http://download-ib01.fedoraproject.org/pub/epel/6/x86_64/

安装epel-release rpm:

# rpm -Uvh epel-release*rpm

安装libiscsi rpm包:

# yum  -y  install libiscsi

tunctl的下载地址是http://li.nux.ro/download/nux/misc/el7/x86_64/,然后YUM安装即可。

安装中文字符,解决界面乱码问题

# yum install -y dejavu-lgc-sans-fonts

# yum groupinstall -y "Fonts"

启用libvirt

# systemctl enable libvirtd

# systemctl start libvirtd

4.使用virt-manager管理kvm

# virt-manager


5.制作一个虚拟机模板

(1)禁用selinux

# vim /etc/selinux/config

SELINUX=disabled

(2)卸载防火墙

# yum -y remove  firewalld-* python-firewall

3. 配置网卡

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

BROWSER_ONLY=no

BOOTPROTO=dhcp

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0

DEVICE=eth0

ONBOOT=yes

(4)禁用空路由

# vim /etc/sysconfig/network

NOZEROCONF="yes"

(5)添加console配置

# vim /etc/default/grub

GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"

GRUB_DISABLE_LINUX_UUID="true"

GRUB_ENABLE_LINUX_LABEL="true"

(6)重新生成grub.cfg

# grub2-mkconfig   -o  /boot/grub2/grub.cfg

(7)安装扩展分区软件

# yum  install  -y  cloud-utils-growpart

(8)安装常用命令

#  yum -y install net-tools vim

你可能感兴趣的:(虚拟化之KVM)