centos6 升级libvirt qemu

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos6 升级libvirt qemu相关的知识,希望对你有一定的参考价值。

前言:libvirt和qemu 在centos6 的版本太老,需要升级

一、libvirt rpm安装,相关包可以去附件下载。另外,老外已经做了个repo 源,直接用也可以。

https://copr.fedorainfracloud.org/coprs/mclarkson/libvirt-1.2.18/ 

curl -o /etc/yum.repos.d/libvirt-1.2.18.repo     https://copr.fedoraproject.org/coprs/mclarkson/libvirt-1.2.18/repo/epel-6/mclarkson-libvirt-1.2.18-epel-6.repo
yum install libvirt-1.2.18

libvirt.repo

[mclarkson-libvirt-1.2.18]
name=Copr repo for libvirt-1.2.18 owned by mclarkson
baseurl=https://copr-be.cloud.fedoraproject.org/results/mclarkson/libvirt-1.2.18/epel-6-$basearch/
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/mclarkson/libvirt-1.2.18/pubkey.gpg
enabled=1
enabled_metadata=1

二、升级qemu版本

原因:升级libvirt后,启用虚拟机会报错,主要是qemu版本太低

报错:

unable to execute QEMU command ‘qom-list‘

qemu 需要编译安装

2.1 去官方下载qemu源码


wget http://wiki.qemu-project.org/download/qemu-1.5.3.tar.bz2
tar -jxf qemu-1.5.3.tar.bz2
cd qemu-1.5.3
./configure --enable-kvm --enable-user --enable-linux-user --enable-guest-base --enable-vnc --enable-guest-agent 
make -j 10
make install

2.2 qemu编译参数说明:

只支持x86_64架构:--target-list=x86_64-softmmu

如果不添加,默认编译所有平台

参数可以通过命令查看 ./confiugre --help

多cpu同时编译  : make -j 10


2.3 软链命令

原因:从1.3开始,qemu-kvm功能全部整合到qemu。

ln -s /usr/local/bin/qemu-system-x86_64 /usr/libexec/qemu-kvm

  


2.4 如何兼容已有kvm:

centos本身自带的qemu已经修改了支持的机器类型:

/usr/libexec/qemu-kvm -M ?
Supported machines are:
pc         RHEL 6.6.0 PC (alias of rhel6.6.0)
rhel6.6.0  RHEL 6.6.0 PC (default)
rhel6.5.0  RHEL 6.5.0 PC
rhel6.4.0  RHEL 6.4.0 PC
rhel6.3.0  RHEL 6.3.0 PC
rhel6.2.0  RHEL 6.2.0 PC
rhel6.1.0  RHEL 6.1.0 PC
rhel6.0.0  RHEL 6.0.0 PC
rhel5.5.0  RHEL 5.5.0 PC
rhel5.4.4  RHEL 5.4.4 PC
rhel5.4.0  RHEL 5.4.0 PC

但是自己编译的qemu 类型如下:

/usr/libexec/qemu-kvm -M ?
Supported machines are:
pc                   Standard PC (alias of pc-1.2)
pc-1.2               Standard PC (default)
pc-1.1               Standard PC
pc-1.0               Standard PC
pc-0.15              Standard PC
pc-0.14              Standard PC
pc-0.13              Standard PC
pc-0.12              Standard PC
pc-0.11              Standard PC, qemu 0.11
pc-0.10              Standard PC, qemu 0.10
isapc                ISA-only PC
none                 empty machine

这要修改qemu的源码,去添加RHEL,否则旧有的kvm会启动报错

libvirtError: internal error: process exited while connecting to monitor: qemu-kvm: -machine rhel6.4.0,accel=kvm,usb=off: Unsupported machine type

ps:本人技术有限,源码没找到哪里改。哪位大神能告知??


2.5 曲线救国

修改已有的kvm.xml,去掉machine=‘rhel****‘,或者替换为pc-1.2

 <type arch=‘x86_64‘ machine=‘pc-1.2‘>hvm</type>


本文出自 “银狐” 博客,请务必保留此出处http://foxhound.blog.51cto.com/1167932/1751331

以上是关于centos6 升级libvirt qemu的主要内容,如果未能解决你的问题,请参考以下文章

基于libvirt 和QEMU在macOS安装Ubuntu

KVM+Qemu+Libvirt实战

QEMU KVM Libvirt手册(10):Managing Virtual Machines with libvirt

libvirt and QEMU 进阶篇

openstack的虚拟化技术有个kvm,啥是kvm?啥qemu,libvirt

KVM使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照