借鉴: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=/usr
make
make 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.xz
tar  xvf   libvirt-3.2.0.tar

3、编译安装

1
2
3
./autogen.sh --system
make
sudo make install

autogen.sh的脚本命令中的system配置参数是根据自身系统的环境将相应的可执行程序安装到系统匹配的目录下。

4、安装验证,如图3所示

1
2
which libvirtd
which virsh

图 3

1
virsh list

运行如上指令可能会出现如下错误,这是因为libvirtd服务没有起来

1
2
error: failed to connect to the hypervisor
Failed 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.xml
virsh start linux  (需要提前建立br0网桥)

3、在运行define可能出现如下错误

1
2
error: Failed to start domain linux
error: 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

posted @ 2017-12-18 13:55 gaoren 阅读(664) 评论(0) 编辑 收藏

(转)libvirt和qemu编译安装的更多相关文章

  1. QEMU编译安装

    QEMU是一个支持跨平台虚拟化的虚拟机,有user mode和system mode两种配置方式.其中qemu在system mode配置下模拟出整个计算机,可以在qemu之上运行一个操作系统.QEM ...

  2. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  3. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  4. centos7手动编译安装Libvirt常见问题

    由于功能需要,体验了手动编译安装Libvrt,还是碰到了不少问题,这里总结如下仅限于centos7: 1.configure: error: You must install the pciacces ...

  5. 手动编译安装Libvirt之后利用systemctl管理libvirtd服务

    因为要给特殊的虚拟机关联文件指定selinux标签,而默认的Libvirt没有这个功能,所以需要修改LIbvirt源代码,重新编译安装Libvirt,而手动编译安装的LIbvirt,没有办法使用sys ...

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

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

  7. 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设备直接分 ...

  8. 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设备直接分 ...

  9. 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设备直接分 ...

随机推荐

  1. Linux下OpenSSL加密解密压缩文件(AES加密压缩文件)

    OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法.下面介绍使用Openssl进行文件的对称 ...

  2. Atcoder&CodeForces杂题11.6

    Preface NOIP前突然不知道做什么,感觉思维有点江僵化,就在vjudge上随便组了6道ABC D+CF Div2 C/D做,发现比赛质量还不错,知识点涉及广,难度有梯度,码量稍小,思维较多. ...

  3. kubernets 证书过期的问题

    .问题起源 kubeadm 是 kubernetes 提供的一个初始化集群的工具,使用起来非常方便.但是它创建的apiserver.controller-manager等证书默认只有一年的有效期,同时 ...

  4. R_数据视觉化处理_中阶_05

    条形图:条形图通过垂直或水平的条形展示了类型变量的分布(频数).最简单的用法为:barplot(height),height为矩阵或向量. horiz=TRUE选项:表示水平,在此之前先使用table ...

  5. rsync 进行本地拷贝

    带杠还是不带杠 带杠表示拷贝目录里面的内容不包括目录本身 重要的是源路径带不带杠,目标路径没关系 rsync -az /root/test/src/ /root/test/dest/ rsync -a ...

  6. unittest 运行slenium(一)---创建配置类

    文章主要是创建: log : 日志文件 excel :文档的读写 ini 及 yaml :文件的读取 一:创建log日志文件 主要是对logging框架进行二次封装并输出自己需要的日志格式 1. 首先 ...

  7. Python 获取环境变量的几种方式

    第一种 import os os.environ.get('key_name') 第二种 import os os.getenv('key_name') 第三种 import os os.getenv ...

  8. 阿里云ECS配置JDK和tomcat

    一.配置JDK 1.利用Xftp连接ECS 2.新建文件夹 在ECS上新建一个放压缩包的文件夹,便于整理 (此处也可以在xshell中利用代码新建mkdir /home/temp) 3.将下载好的JD ...

  9. RT-Thread--线程间通信

    线程中通信 在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取,根据读取到的全局变量值执行相应的动作,达到通信协作的目的: ...

  10. 开源框架---tensorflow c++ API中./configure步骤细节

    u@u160406:~/tf1.13/tensorflow$ git checkout r1.13 分支 r1.13 设置为跟踪来自 origin 的远程分支 r1.13.切换到一个新分支 'r1.1 ...