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

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

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

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

图 4
五、运行客户机
1、编写test.xml配置文件:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<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、运行如下指令启动
|
1
2
|
virsh define test.xmlvirsh start linux (需要提前建立br0网桥) |
3、在运行define可能出现如下错误
|
1
2
|
error: Failed to start domain linuxerror: Failed to connect socket to '/var/run/libvirt/virtlogd-sock': Connection refused |
这是因为virtlogd这个日志服务没有启动,运行如下指令即可
|
1
|
virtlogd -d |
4、通过vnc来连接客户机
|
1
|
virsh vncdisplay linux |
通过如上指令来查看域的vnc端口号

图 5

图 6
(转)libvirt和qemu编译安装的更多相关文章
- QEMU编译安装
QEMU是一个支持跨平台虚拟化的虚拟机,有user mode和system mode两种配置方式.其中qemu在system mode配置下模拟出整个计算机,可以在qemu之上运行一个操作系统.QEM ...
- 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 编译安装 ...
- centos7手动编译安装Libvirt常见问题
由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1.configure: error: You must install the pciacces ...
- 手动编译安装Libvirt之后利用systemctl管理libvirtd服务
因为要给特殊的虚拟机关联文件指定selinux标签,而默认的Libvirt没有这个功能,所以需要修改LIbvirt源代码,重新编译安装Libvirt,而手动编译安装的LIbvirt,没有办法使用sys ...
- kvm编译安装及常见问题解决
一.KVM的编译安装 1.安装基本系统和开发工具 1.1 编译内核 mkdir /root/kvm cd /root/kvm wget http://www.kernel.org/pub/linux/ ...
- KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
- KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
- KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
随机推荐
- Ubuntu install android studio
Ubuntu install android studio 1. 安装 openjdk8,并在配置文件 /etc/profile 中,追加如下内容: sudo aptitude install ope ...
- Django 报错总结
报错: AttributeError: 'NoneType' object has no attribute 'split' 最近在写网站中遇到一个问题,就是题目上所写的:AttributeError ...
- MySQL LAST_INSERT_ID()用法
last_insert_id()函数是适用于id为自动生成的表 下面是插入表数据时last_insert_id()函数的两种用法: 表结构: 此表使用last_insert_id()函数的字段为par ...
- bootstrap 模态窗口 多重/多个弹窗滚动条补丁
由于bootstrap的模态窗口默认不支持多次弹出, 在关闭的时候会有滚动条消失的问题. 经过观察和查看源码, 发现在开启和关闭的时候会在body上增加/减少一个"modal-open&qu ...
- java引用传递和值传递
关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习 ...
- centos6.x下让redis以服务方式运行
1.从官网下载redis-2.8.9.tar.gz之后,将redis解压在/usr/local下,目录是redis-2.8.9,然后按照官网给出的办法安装redis即可. 2.安装完在redis-2. ...
- java一些基本算法
本文主要介绍一些常用的算法: 冒泡排序:两两相互之间进行比较,如果符合条件就相互兑换. //冒泡排序升序 public static int[] bubblingSortAsc(int[] array ...
- JAVA中使用递归和尾递归实现1000的阶乘的比较
在JAVA中求阶乘首先遇到的问题就是结果溢出,不管是使用int还是long,double都无法表示1000!这么大的天文数字,这里暂且用BigInteger解决这个问题! 下面是使用递归和尾递归分别计 ...
- vue框架之脚手架(vue-cli)的使用
前期准备 1.在使用之前需要安装node.js,https://nodejs.org/dist/latest-v8.x/ 2.下载之后在cmd中测试 node -v npm -v 如图上即可 3.下载 ...
- kali 系统膨胀后如何处理
1.一般使用的kali 安装都是将系统文件全部放在一个总分区中,应用程序会产生临时文件,另外在安装软件的时候会出现 系统框架的不同,但是kali并不会检测该问题,直接当依赖的框架下载,可以是使用命令 ...