当前位置:首页 >> 服务器

centos 6.6 安装 KVM 虚拟机的方法

KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine),增加到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术。在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的Linux进程有两种运行模式:内核和用户,KVM增加了第三种模式:客户模式(有自己的内核和用户模式)。

1 KVM虚拟机的管理工具

准确的来说,KVM仅仅是Linux内核的一个模块,管理和创建完整的KVM虚拟机,需要更多的辅助工具。
QEMU-KVM:在Linux系统中,首先我们可以用modprobe命令加载KVM模块,如果用RPM安装KVM软件包,系统会在启动时自动加载模块,QEMU是一个强大的虚拟软件,它可以虚拟不同的构架。
Virt-manager:尽管QEMU-KVM工具可以创建和管理KVM虚拟机,RedHat为KVM开发了更多的辅助工具,比如 libvirt libguestfs等,原因是QEMU工具效率不高,不易于使用。

1、首先检查系统是否支持kvm,有两个先决条件

a、系统是x86的,通过命令
uname -a

b、CPU 支持虚拟化技术
egrep 'vmx|svm' /proc/cpuinfo

如果看到有输出结果,即证明cpu 支持虚拟化。同时特别注意需要检查 BIOS 中是否开启VT,如果没有启用,虚拟机将会十分慢。

2、使用yum安装kvm

安装kvm内核
yum install -y qemu-kvm.x86_64 qemu-kvm-tools.x86_64

安装virt管理工具
yum install libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64

加载kvm 内核

modprobe kvm
modprobe kvm-intel

查看内核是否开启

modprobe -ls | grep kvm

3、配置网络桥接,
进入目录 /etc/sysconfig/network-scripts,复制一份原有的ifcfg-eth0 为 ifcfg-br0

cp ifcfg-eth0 ifcfg-br0

修改ifcfg-br0,内容如下:

DEVICE="br0"
BOOTPROTO=static
ONBOOT="yes"
TYPE="Bridge"
IPADDR=192.168.31.60
GATEWAY=192.168.31.1
NETMASK=255.255.255.0
DEFROUTE=yes

IPADDR、GATEWAY、NETMASK根据自己的实际情况修改。

修改 ifcfg-eth0, 内容如下:

DEVICE="eth0"
BOOTPROTO=none
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
BRIDGE="br0"
HWADDR=F8:DB:88:FF:99:E3
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0"

重启网络服务即可。

/etc/init.d/network restart

如果出现问题,关闭 NetworkManager 后重试。

chkconfig NetworkManager off
service NetworkManager stop

4、使用virt-install 工具安装 guest 系统。

a、创建硬盘映像文件

使用 qemu-img 命令创建

qemu-img create -f raw /var/lib/libvirt/images/test.img 8G

或使用 dd 命令创建

dd bs=1M count=8096 if=/dev/zero of=/var/lib/libvirt/images/test.img
qemu-img 是创建是文件格式是稀疏文件,优点是速度超快,由于是稀疏文件,性能可能会比第二种略差,通过如下命令查看详情

qemu-img info /var/lib/libvirt/images/test.img

输出为:注意其中 disk size 为 0

image: test.img
file format: raw
virtual size: 8.0G (8589934592 bytes)
disk size: 0

更多关于稀疏文件的信息,请自行搜索。

b、通过iso文件安装系统

virt-install --name=test --ram 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/test.img,size=3 --accelerate --cdrom /home/CentOS-6.6-x86_64-minimal.iso --graphics vnc,listen=0.0.0.0 --network bridge=br0 --force --autostart --connect qemu:///system

使用 vnc 客户端连接,IP 用host的ip,如果是第一个虚拟机,端口为 5900, 如果出现连不上,确认host的iptables的状态,最好是先关闭iptables。连上后就像安装系统一样一步步来安装即可。