热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KVM与libvirt的安装过程记录

系统环境:ubuntu12.04LTSamd64必须安装64位,才可以安装KVM虚拟机。32位系统的内核默认没有把KVM模块编译进去,而且源中也没有与虚拟化相关的软件包,如Qemu等一、KVM的编译安装1、安装基本系统和开发工具1.1编译内核mkdir/root/kvmcd/root/kvm

系统环境:ubuntu 12.04 LTS amd64
必须安装64位,才可以安装KVM虚拟机。32位系统的内核默认没有把KVM模块编译进去,而且源中也没有与虚拟化相关的软件包,如Qemu等

一、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


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • Jquery 跨域问题
    为什么80%的码农都做不了架构师?JQuery1.2后getJSON方法支持跨域读取json数据,原理是利用一个叫做jsonp的概念。当然 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
author-avatar
孟hinrichs
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有