博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KVM(qemu--kvm)
阅读量:5925 次
发布时间:2019-06-19

本文共 3860 字,大约阅读时间需要 12 分钟。

  hot3.png


感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如果转载,请保留作者信息。
博客地址:http://blog.csdn.net/qq_21398167
原博文地址:http://blog.csdn.net/qq_21398167/article/details/46348133

centos7下已经集成了kvm

环境:centos7

检查/dev/kvm这个文件,它是kvm内核模块提供给用户空间的qemu-kvm程序使用的一个控制接口,它提供了客户机(Guest)操作系统运行所需要的模拟和实际的硬件设备环境。

确定KVM模块确实全部安装好,下面来看一下qemu-kvm的编译和安装。

源码安装qemu-kvm

除了在内核空间的KVM模块之外,在用户空间需要QEMU来模拟所需要CPU和设备模型以及用于启动客户机进程,这样才有了一个完整的KVM运行环境。

参考文档:http://book.51cto.com/art/201311/416148.htm

     使用git工具git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git下载最新的qemu-kvm源码。qemu-kvm的配置并不复杂,通常情况下,可以直接运行代码仓库中configure文件进行配置即可。

[root@jay-linux kvm_demo]# git clone git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.gitqemu-kvm.git 

Initialized empty Git repository in/root/kvm_demo/qemu-kvm.git/.git/ 

remote: Counting objects: 145222,done. 

remote: Compressing objects: 100%(35825/35825), done. 

remote: Total 145222 (delta 114656), reused137663 (delta 107444) 

Receiving objects: 100% (145222/145222),40.83 MiB | 10.33 MiB/s, done. 

Resolving deltas: 100% (114656/114656),done. 

[root@jay-linux kvm_demo]#cdqemu-kvm.git 

[root@jay-linux kvm.git]# pwd 

/root/kvm_demo/qemu-kvm.git

 

编译安装:

    这里须要重视的处所就是要在CFLAGS中参加-w,因为git下来这个源把警告算作错误处理惩罚,我没在makefile里面找到相干选项,所以只能采取禁用了。

# export CFLAGS="-w -O3 -msse -msse2-mmmx -funroll-loops -mfpmath=sse"

 

# cd qemu-kvm.git

执行configure文件进行配置的过程如下:

1. [root@jay-linux qemu-kvm.git]# ./configure --enable-spice  (为了支持spice)

2. Install prefix    /usr/local 

3. BIOS directory    /usr/local/share/qemu 

4. binary directory  /usr/local/bin  

5. library directory /usr/local/lib  

6. include directory /usr/local/include  

7. config directory  /usr/local/etc  

8. Manual directory  /usr/local/share/man 

9. ELF interp prefix /usr/gnemul/qemu-%M 

10.Source path       /root/kvm_demo/qemu-kvm.git 

11.C compiler        gcc 

12.Host C compiler   gcc  

13.<!--此处省略数十行 --> 

14.VNC support       yes     #通常需要通过VNC连接到客户机中  

15.<!--此处省略十余行 --> 

16.KVM support       yes     #这是对KVM的支持  

17.TCG interpreter   no  

18.KVM device assig. yes     #这是对KVMVT-d功能的支持  

19.<!--此处省略十余行 --> 

20.OpenGL support    yes  

21.libiscsi support  no  

22.build guest agent yes  

23.coroutine backend ucontext 

需要注意的是,上面命令行输出的KVM相关的选项需要是配置为yes,另外,一般VNC的支持也是配置为yes的(因为通常需要用VNC连接到客户机中)。

经过配置之后,进行编译就很简单了,直接执行make即可进行编译,如下所示:

1. [root@jay-linux qemu-kvm.git]# make -j 20 

2.   GEN   config-host.h  

3.   GEN   trace.h  

4.   GEN   qemu-options.def  

5.   GEN   qmp-commands.h  

6.   GEN   qapi-types.h  

7.   GEN   qapi-visit.h  

8.   GEN   tests/test-qapi-types.h 

9.   GEN   tests/test-qapi-visit.h 

10.  GEN   tests/test-qmp-commands.h 

11.  CC    libcacard/cac.o 

12.  CC    libcacard/event.o 

13.<!--此处省略数百行的编译时输出信息 --> 

14.  CC    x86_64-softmmu/target-i386/cpu.o 

15.  CC    x86_64-softmmu/target-i386/machine.o 

16.  CC    x86_64-softmmu/target-i386/arch_memory_mapping.o 

17.  CC    x86_64-softmmu/target-i386/arch_dump.o 

18.  CC    x86_64-softmmu/target-i386/kvm.o 

19.  CC    x86_64-softmmu/target-i386/hyperv.o 

20.LINK  x86_64-softmmu/qemu-system-x86_64 

可以看到,最后有编译生成qemu-system-x86_64文件,它就是我们常用的qemu-kvm的命令行工具(在多数Linux发行版中自带的qemu-kvm软件包的命令行是qemu-kvm,只是名字不同而已)。

编译完成之后,运行“make install”命令即可安装qemu-kvm,其过程如下:

1. [root@jay-linux qemu-kvm.git]# make install | tee make-install.log 

2. install -d -m 0755 "/usr/local/share/qemu" 

3. install -d -m 0755 "/usr/local/etc/qemu" 

4. install -c -m 0644  

5. /root/kvm_demo/qemu-kvm.git/sysconfigs/target/target-x86_64.conf 

6. "/usr/local/etc/qemu"  

7. install -c -m 0644  

8. /root/kvm_demo/qemu-kvm.git/sysconfigs/target/cpus-x86_64.conf 

9. "/usr/local/share/qemu"  

10.install -d -m 0755 "/usr/local/bin" 

11.install -c -m 0755  vscclient qemu-ga qemu-nbd qemu-img qemu-io  "/usr/local/bin" 

12.install -d -m 0755 "/usr/local/libexec" 

13.<!--此处省略数行的安装时输出信息 --> 

14.make[1]: Entering directory  

15.'/root/kvm_demo/qemu-kvm.git/x86_64-softmmu'  

16.install -m 755 qemu-system-x86_64 "/usr/local/bin" 

17.strip "/usr/local/bin/qemu-system-x86_64" 

18.make[1]: Leaving directory  

19.'/root/kvm_demo/qemu-kvm.git/x86_64-softmmu' 

 

转载于:https://my.oschina.net/shadai/blog/698981

你可能感兴趣的文章
世界最大OpenStack私有云是如何运营的
查看>>
全球物联网专利竞争态势分析
查看>>
《网络安全法》为大数据保驾护航
查看>>
微软Edge浏览器开始支持WebVR
查看>>
QDialog之屏蔽Esc键
查看>>
CSS3之创建透明边框三角
查看>>
Android 多媒体库新漏洞 2.75亿部设备受影响
查看>>
《I'm a Mac:雄狮训练手册》——0.2 OS X
查看>>
《Splunk智能运维实战》——1.8 定义字段提取内容
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——2.8 SCTP关联的建立和终止...
查看>>
前甲骨文 Linux 部门主管加入微软
查看>>
深度学习项目实战——“年龄预测”
查看>>
《为自己工作——世界顶级设计师成功法则》—第3章3.1节什么是利基
查看>>
Mybatis调用MySQL存储过程的简单实现
查看>>
《CUDA C编程权威指南》——3.8节习题
查看>>
《R的极客理想—工具篇》—— 1.3 fortunes 记录R语言的大智慧
查看>>
《识数寻踪:WinHex应用与数据恢复开发秘籍》——第1章 学海茫茫孤帆冷——数据恢复概述 1.1 给所有数据恢复工程师的话...
查看>>
《抓住听众心理——演讲者要知道的100件事》一14.遗忘是程序化的
查看>>
《R数据可视化手册》一3.9 添加数据标签
查看>>
淘富成真|这次带来了女性的护肤神器
查看>>