1 KVM虚拟机的管理工具
准确的来说,KVM仅仅是Linux内核的一个模块,管理和创建完整的KVM虚拟机,需要更多的辅助工具。
QEMU-KVM:在Linux系统中,首先我们可以用modprobe命令加载KVM模块,如果用RPM安装KVM软件包,系统会在启动时自动加载模块,QEMU是一个强大的虚拟软件,它可以虚拟不同的构架。
Virt-manager:尽管QEMU-KVM工具可以创建和管理KVM虚拟机,RedHat为KVM开发了更多的辅助工具,比如 libvirt libguestfs等,原因是QEMU工具效率不高,不易于使用。
2 安装配置KVM相关软件
2.1系统要求:
处理器需求:需要一台可以运行最新linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器,也叫AMD-V)
[root@vfeelit ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
2.2检查CPU:
[root@vfeelit ~]# egrep ‘vmx|svm’ /proc/cpuinfo
如果输出的结果包含VMX,它是Intel处理器虚拟机技术标志:如果包含SVM,它是AMD处理器虚拟机技术的标志,如果你什么都没有得到,那应你的系统并没有支持虚拟化的处理,不能使用KVM,另处linux发行版本必须在64bit环境中才能使用KVM。
3 更新系统
yum update(这两个命令有些区别,这条是将系统版本内核都升级了,相当于系统能升的都升了)
yum upgrade
4 安装KVM
[ root@vfeelit ~]#yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v[ root@vfeelit ~]#vi /etc/sysconfig/selinux
SELINUX=disabled
[root@vfeelit ~]#reboot
5 重启后确认libvirtd是否正常启动
[ root@vfeelit ~]# /etc/init.d/libvirtd restart正在关闭 libvirtd 守护进程: [确定]
启动 libvirtd 守护进程:2013-05-19 03:12:52.694+0000: 3070: info : libvirt version: 0.10.2, package: 18.el6_4.5 (CentOS BuildSystem , 2013-05-16-14:53:18, c6b7.bsys.dev.centos.org)
2013-05-19 03:12:52.694+0000: 3070: warning : virGetHostname:2265 : getaddrinfo failed for 'vfeelit': 未知的名称或服务
[确定]
6 检查KVM是否加载成功
显示结果如下表示kvm模块已经加载,如果没有输出信息,则表示没有加载成功:
kvm_intel 53484 0
kvm 316506 1 kvm_intel
7 检查KVM是否成功安装
[ root@vfeelit ~]# virsh list --all ##--all关闭的也会显示Id 名称 状态
----------------------------------------------------
8 各版本查询
[ root@vfeelit ~]# kvm --versionbash: kvm: command not found
[ root@vfeelit ~]# virt-install --version
0.600.0
[ root@vfeelit ~]# virsh --version
0.10.2
9 修改qemu.conf配置
[ root@vfeelit ~]# vi /etc/libvirt/qemu.confvnc_listen = "0.0.0.0"修改vnc监听端口
二 配置网络桥接
参考:http://www.techotopia.com/index.php/Creating_an_RHEL_6_KVM_Networked_Bridge_Interface
1 安装tunctl:
yum install -y tunctl2 禁用网络管理器:
chkconfig NetworkManager off ##和桥接有冲突,要关闭service NetworkManager stop
3 修改eth0为物理网口,br0为桥接网口配置文件:
[ root@vfeelit network-scripts]# cat ifcfg-br0DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPV6INIT=no
ONBOOT=yes
IPADDR=192.168.1.66
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DELAY=0
[ root@vfeelit network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=none
IPV6INIT=no
ONBOOT=yes
附加说明:这里配置成桥接方式,实际上本机的数据包发送是通过br0发送的,br0的TYPE是Bridge,其它的信息跟配置一个物理网卡一样,本机的eth0通过桥接到br0(通过BRIDGE指定)进行通信,它根本不需要配置IP信息,实际上数据发送还是通过本机的物理网卡。
4 最后重启网络
[ root@vfeelit network-scripts]# service network restart5 查看桥接网络
[ root@vfeelit ~]# brctl showbridge name bridge id STP enabled interfaces
br0 8000.0021cc6b6f2c no eth0
virbr0 8000.525400ac7ebe yes virbr0-nic
接口eth0通过br0进行桥接。birbr0-nic通过virbr0进行桥接,这个是默认的设置,当使用NAT时使用。
出现上面这个就是安装正确,可能bridge id不同