qemu与libvirt编译与安装
qemu与libvirt编译与安装
一 、qemu编译前准备
以下链接为的本次编译环境为前提继续进行。
http://www.cnblogs.com/grglym/p/7891253.html
1、安装必要依赖包
sudo apt-get install libyajl-dev libglib2.0-dev
二、下载qemu源码
1、qemu可以在官网链接中直接下载最新版本
http://git.qemu-project.org/qemu.git
2、从git上下载
git clone git://git.qemu.org/qemu.git
两种方式都可以下载qemu源码。本文利用git来下载。
三、编译安装qemu
1、qemu源码路径如图1所示:

图 1
因为默认的qemu安装路径是/usr/local/下,所以如果直接运行./configure指令来配置qemu对后续会带来不必要的麻烦。所以直接利用configure的配置指令prefix,使得qemu的安装路径重定向。
./configure --prefix=/usr
make
make install
安装完成后,可在/usr/bin/目录下查看qemu的安装文件,部分如图2所示。

图 2
2、运行如下指令创建qcow2格式的文件供后续操作使用
qemu-img create -f qcow2 test.img 10G
四、libvirt编译安装
1、安装依赖包
apt-get install -y libpciaccess-dev libxml2 libxml2-dev gnutls-bin libgnutls-dev
apt-get install -y libdevmapper1.02.1 libdevmapper-dev libnl-dev
2、下载
git方式:
git clone git://libvirt.org/libvirt.git
官网上下载:
https://libvirt.org/sources/libvirt-3.2.0.tar.xz
本文从官网上下载,需要解压。
xz -d libvirt-3.2.0.tar.xz
tar xvf libvirt-3.2.0.tar
3、编译安装
./autogen.sh --system
make
sudo make install
autogen.sh的脚本命令中的system配置参数是根据自身系统的环境将相应的可执行程序安装到系统匹配的目录下。
4、安装验证,如图3所示
which libvirtd
which virsh

图 3
virsh list
运行如上指令可能会出现如下错误,这是因为libvirtd服务没有起来
error: failed to connect to the hypervisor
Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
解决办法
/usr/sbin/libvirtd -d
通过以下命令来查看qemu支持的客户机类型(如x86_64,i686等),如果没有将qemu编译安装到指定的/usr/目录下,没有<guest>标签的信息。图4为执行指令后的部分截图。
virsh capabilities

图 4
五、运行客户机
1、编写test.xml配置文件:
<domain type='kvm'> //域类型kvm xen等
<name>linux</name>//虚拟机名字 linux
<memory unit='KiB'>1048576</memory>//虚拟机的最大内存
<currentMemory unit='KiB'>1048576</currentMemory>//虚拟机当前的内存
<vcpu placement='static'>1</vcpu>//cpu个数:1
<os>
<type arch='x86_64' machine='pc'>hvm</type>//hvm表示全虚拟化
<boot dev='hd'/>//启动项
<boot dev='cdrom'/>//启动项
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator> //新编译安装的qemu
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/ruijie/Documents/test.img'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/home/ruijie/iso/ubuntu-14.04.5-desktop-amd64.iso'/>
<target dev='hdb' bus='ide'/>
</disk>
<interface type='bridge'>
<mac address='52:54:00:4f:1b:07'/>
<source bridge='br0'/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
</devices>
</domain>
2、运行如下指令启动
virsh define test.xml
virsh start linux (需要提前建立br0网桥)
3、在运行define可能出现如下错误
error: Failed to start domain linux
error: Failed to connect socket to '/var/run/libvirt/virtlogd-sock': Connection refused
这是因为virtlogd这个日志服务没有启动,运行如下指令即可
virtlogd -d
4、通过vnc来连接客户机
virsh vncdisplay linux
通过如上指令来查看域的vnc端口号

图 5

图 6
qemu与libvirt编译与安装的更多相关文章
- QEMU KVM libvirt 手册(1): 安装
安装 对虚拟化的支持通常在BIOS中是禁掉的,必须开启才可以. 对于Intel CPU,我们可以通过下面的命令查看是否支持虚拟化. # grep "vmx" /proc/cpuin ...
- Linux下编译安装qemu和libvirt
目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 ...
- Linux下编译安装qemu和libvirt【转】
转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...
- KVM,QEMU,libvirt入门学习笔记【转】
转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...
- Linux虚拟化技术KVM、QEMU与libvirt的关系(转)
说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标 ...
- KVM/QEMU/qemu-kvm/libvirt 概念全解
目录 目录 前言 KVM QEMU KVM 与 QEMU qemu-kvm Libvirt Libvirt 在 OpenStack 中的应用 前言 如果是刚开始接触虚拟机技术的话, 对上述的概念肯定会 ...
- linux下包不重新编译php安装openssl 扩展
今天在刚装好的centos上安装composer,老是报错,提示不安全的,后来发现是由于https的缘故,需要openssl,可能是开始装php的时候没有安装此扩展,网上有好多方案,一开始我认为只有重 ...
- 在Linux CentOS上编译并安装Clang 3.5.0
编译CoreCLR需要Clang 3.5,而CentOS上安装的是Clang 3.4.2(yum repos中最新版也是这个),只能自己手工编译LLVM的源代码进行安装. (注:CentOS的版本是6 ...
- Linux中编译、安装nginx
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服务器. Nginx 是由Igor Sysoev为俄罗斯访问 ...
随机推荐
- MySQL字段属性NUll的注意点
MySQL字段属性应该尽量设置为NOT NULL 除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL.这看起来好像有点争议,请往下看. 空值("&quo ...
- Sum of Consecutive Prime Numbers POJ - 2739 线性欧拉筛(线性欧拉筛证明)
题意:给一个数 可以写出多少种 连续素数的合 思路:直接线性筛 筛素数 暴力找就行 (素数到n/2就可以停下了,优化一个常数) 其中:线性筛的证明参考:https://blog.csdn.net ...
- 洛谷3703 [SDOI2017] 树点染色 【LCT】【线段树】
题目分析: 操作一很明显等价于LCT上的access操作,操作二是常识,操作三转化到dfs序上求最大值也是常识.access的时候顺便在线段树中把对应部分-1,把右子树的子树+1即可. 代码: #in ...
- A/B HDU - 1576 (exgcd)
要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input数据的第一行是一个T,表示有T组数据. 每组数据有两 ...
- Java实现一个双向链表的倒置功能
题目要求:Java实现一个双向链表的倒置功能(1->2->3 变成 3->2->1) 提交:代码.测试用例,希望可以写成一个Java小项目,可以看到单元测试部分 该题目的代码, ...
- LOJ# 572. 「LibreOJ Round #11」Misaka Network 与求和(min25筛,杜教筛,莫比乌斯反演)
题意 求 \[ \sum_{i = 1}^{n} \sum_{i = 1}^{n} f(\gcd(i, j))^k \pmod {2^{32}} \] 其中 \(f(x)\) 为 \(x\) 的次大质 ...
- Hdoj 1086.You can Solve a Geometry Problem too 题解
Problem Description Many geometry(几何)problems were designed in the ACM/ICPC. And now, I also prepare ...
- [luogu2571][bzoj1857][SCOI2010]传送门【三分套三分】
题目描述 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD上的移动速度为Q,在平面上的移动速度R.现在lxh ...
- Java复习总结——详细理解Java反射机制
反射是什么 反射的作用用一句简单的话来讲就是可以对代码进行操作的代码,这个特性经常在被用于创建JavaBean中,通常造轮子的人会用到这个特性,而应用程序员用到这个特性的场景则较少. 能够分析类能力的 ...
- java ee wildfly 批处理 job 工作
配置批处理job,同时启动两个并行任务processData,syncTableTask,执行往后执行第三个任务job:playDurationTask. xml配置如下: <job id=&q ...