kvm编译安装及常见问题解决

简介: 一、KVM的编译安装  1、安装基本系统和开发工具 1.1 编译内核 mkdir /root/kvm cd /root/kvm wget http://www.kernel.org/pub/linux/kernel/v3.

一、KVM的编译安装

 1、安装基本系统和开发工具

1.1 编译内核

mkdir /root/kvm

cd /root/kvm

wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.5.tar.gz

tar -zvxf linux-3.5.tar.gz -C /usr/src

cd /usr/src/linux-2.6.34.4

make menuconfig

vi .config

增加

CONFIG_SYSFS_DEPRECATED_V2=y

CONFIG_STP=m

CONFIG_BRIDGE=m

修改

CONFIG_STP=y

CONFIG_BRIDGE=y

make -j30 all

make modules_install

make install

 

1.2 安装kvm_mod

 

wget http://nchc.dl.sourceforge.net/project/kvm/kvm-kmod/3.5/kvm-kmod-3.5.tar.bz2

tar -jvxf kvm-kmod-3.5.tar.bz2

cd kvm-kmod-3.5

./configure

make && make install

reboot

 

1.3 确认kvm_kmod安装成功

 

lsmod | grep kvm

kvm_intel              40286  0

kvm                   266256  1 kvm_intel

如果你的系统是64位可以直接进行这一步,因为64位的ubuntu是自带kvm模块的

1.4 安装qemu-kvm

 

apt-get install -y libglib2.0-dev

cd /root/kvm

wget https://launchpad.net/ubuntu/+archive/primary/+files/qemu-kvm_1.0%2Bnoroms.orig.tar.gz

tar -zxf qemu-kvm-0.12.5.tar.gz

cd qemu-kvm-0.12.5

./configure –prefix=/usr/local/kvm  –disable-vnc-tls  –disable-vnc-sasl  –disable-curl   –enable-system  –static

make && make install

ln -s /usr/local/kvm/bin/qemu-img /usr/bin/qemu-img

ln -s /usr/local/kvm/bin/qemu-io /usr/bin/qemu-io

ln -s /usr/local/kvm/bin/qemu-nbd /usr/bin/qemu-nbd

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

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

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

 

二、libvirt的编译安装

apt-get install -y libdevmapper libdevmapper-dev libgnutls-dev libxml2-dev libpciaccess-dev libudev-dev libnl-dev gnutls-bin

cd /root/kvm

wget https://launchpad.net/ubuntu/+archive/primary/+files/libvirt_1.0.2.orig.tar.gz

tar -zxf libvirt_1.0.2.orig.tar.gz

cd libvirt-1.0.2

./configure –prefix=/usr/local/libvirt –enable-debug=no –with-storage-lvm=no

make && make install

ln -s /usr/local/libvirt/bin/virsh /usr/bin/virsh

三、virtinst的编译安装

四、常见错误问题

问题一:configure: error: You must install the GnuTLS library in order to compile and run libvirt

解决方法:

Ubuntu:apt-get  install -y libgnutls-dev

问题二:

/usr/local/libvirt/sbin/libvirtd   

19:49:56.942: error : virRunWithHook:857 : internal error 'brctl setfd virbr0 0' exited with non-zero status 1 and signal 0: libvir: error : cannot execute binary brctl: No such file or directory        

 19:49:56.982: warning : qemudStartup:1832 : Unable to create cgroup for driver: No such device or address

解决方法:

Ubuntu:apt-get install -y bridge-utils

问题三:

19:51:11.368: error : virRunWithHook:857 : internal error '/sbin/iptables –table filter –insert FORWARD –destination 192.168.122.0/255.255.255.0 –out-interface virbr0 –match state –state ESTABLISHED,RELATED –jump ACCEPT' exited with non-zero status 1 and signal 0: iptables: Unknown error 18446744073709551615  

19:51:11.368: error : networkAddMasqueradingIptablesRules:637 : failed to add iptables rule to allow forwarding to 'virbr0': Invalid argument

19:51:11.420: warning : qemudStartup:1832 : Unable to create cgroup for driver: No such device or address

如果使用桥接网络独立IP可以忽略

 

问题四:

 

checking libxml2 xml2-config >= 2.6.0 … configure: error: Could not find libxml2 anywhere (see config.log for details).

解决方法:

Ubuntu: apt-get install -y libxml2-dev

问题五:

configure: error: You must install the GnuTLS library in order to compile and run libvirt

 解决方法:

Ubunut: apt-get install -y gnutls-bin(可省)

apt-get install -y libgnutls-dev

问题六:

configure: error: You must install device-mapper-devel/libdevmapper >= 1.0.0 to compile libvirt

解决方法:

Ubunut:apt-get install -y libdevmapper-dev libdevmapper

问题七:

configure: error: libnl-devel >= 1.1 is required for macvtap support

解决方法:

Ubunut:apt-get install -y libnl-dev

问题八:

# ./configure –prefix=/usr –libdir=/usr/lib64 –localstatedir=/var –sysconfdir=/etc –with-hal=yes –with-udev=yes

checking for UDEV… no

configure: error: You must install libudev-devel >= 145 to compile libvirt

解决方法:

Ubunut: apt-get install -y libudev-dev

问题九:

configure: error: You must install libpciaccess-devel >= 0.10.0 to compile libvirt

解决方法:

Ubuntu: apt-get install -y libpciaccess-dev

问题十:

 configure: error: You must install python-devel to build Python bindings

解决方法:

Ubuntu:apt-get install -y python-dev

sudo apt-get install python-dev

注:有时依然不能用virsh nodedev-dumpxml pci_0000_00_19_0

#./configure –prefix=/usr –libdir=/usr/lib64 –localstatedir=/var –sysconfdir=/etc –with-hal=yes –with-udev=yes –with-polkit=yes

….

checking for POLKIT… no

configure: error: You must install PolicyKit >= 0.6 to compile libvirt

# apt-get install libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libpolkit-gtk-1-0

目录
相关文章
|
存储 C++
基于Qt的简易文件压缩与解压缩工具设计与实现
基于Qt的简易文件压缩与解压缩工具设计与实现
682 1
|
消息中间件 Kubernetes 网络协议
K8S 性能优化 - OS sysctl 调优
K8S 性能优化 - OS sysctl 调优
|
7月前
|
弹性计算 Ubuntu Linux
阿里云服务器操作系统【镜像】怎么选择合适?
选择阿里云ECS操作系统需结合业务需求、技术栈及合规性综合评估。根据应用场景推荐Windows Server或Linux发行版,注意CentOS已停更,建议迁移至Alibaba Cloud Linux、Anolis OS等替代系统。同时考虑实例兼容性、成本及镜像来源,确保系统稳定与长期支持。
|
10月前
|
存储 API C++
Cpp实现window上cmd执行效果
这段代码实现了一个简单的 Windows 命令行模拟器,支持用户输入命令并显示执行结果。程序通过 `GetCurrentDirectoryA` 获取当前目录,并用 `_popen` 执行命令,支持 `cd` 切换目录和 `exit` 退出功能。用户输入的命令会通过管道捕获输出并打印,返回码用于判断命令执行是否成功。代码结合了 C++ 标准库与 Windows API,展示了如何在 Windows 环境下操作命令行。
240 19
|
NoSQL Ubuntu 网络协议
qemu 虚拟机
qemu 虚拟机
550 8
|
设计模式 存储 缓存
前端必须掌握的设计模式——策略模式
策略模式(Strategy Pattern)是一种行为型设计模式,旨在将多分支复杂逻辑解耦。每个分支类只关心自身实现,无需处理策略切换。它避免了大量if-else或switch-case代码,符合开闭原则。常见应用场景包括表单验证、风格切换和缓存调度等。通过定义接口和上下文类,策略模式实现了灵活的逻辑分离与扩展。例如,在国际化需求中,可根据语言切换不同的词条包,使代码更加简洁优雅。总结来说,策略模式简化了多条件判断,提升了代码的可维护性和扩展性。
|
Linux
Linux重装qemu和libvirt
Linux重装qemu和libvirt
482 0
|
JSON API 数据格式
深入浅出:使用Python实现一个简单的RESTful API
【8月更文挑战第51天】本文将引导读者理解RESTful API的基本原理,并通过一个简易的实例展示如何利用Python的Flask框架快速搭建一个RESTful服务。文章以通俗易懂的语言,结合代码示例,逐步讲解API的设计、实现和测试过程,旨在帮助初学者掌握RESTful API的开发方法。
804 11
|
NoSQL
编译和安装 libvirt 8.10.0
编译和安装 libvirt 8.10.0
1034 0

热门文章

最新文章