KVM+Qemu+Libvirt实战
上一篇的文章是为了给这一篇文件提供理论的基础,在这篇文章中我将带大家一起来实现在linux中虚拟出ubuntu的server版来
我们需要用KVM+Qemu+Libvirt来进行kvm全虚拟化,创建虚拟机并管理。
一、KVM支持检测及模块安装
1.1、KVM支持检测

1.2、安装KVM模块
二、虚拟磁盘管理
2.1、安装qemu-utils工具
2.2、对/dev/vdb分区为vdb1,挂载到"/vdb1"
2.3、创建虚拟磁盘

2.4、虚拟磁盘文件的检查

三、libvirtd配置
3.1、安装libvirtd工具
3.2、检测该工具是否安装
3.3、sudo vi /etc/libvirt/libvirtd.conf

这些内容在该文件中或许都已经存在,也有可能是以注释的形式体现的,取消注释,如果值和上面中的不符合,就改成上面中的值。
3.4、修改libvirt-lib文件
sudo vi /etc/default/libvirt-bin中修改其中的libvirtd_opts="-d -l"
3.5、修改qemu.conf文件
sudo vi /etc/libvirt/qemu.conf中修改其中的vnc_listen="0.0.0.0"
3.6、重启libvirt-bin服务
sudo service libvirt-bin restart
注意:如果你将你的Ubuntu操作系统升级到了16.10(04)版本,libvirt-bin服务跟操作系统由冲突,不能这样重启服务。只能是重启操作系统。
sudo reboot
四、创建或安装(虚拟)操作系统
4.1、命令安装
1)使用virt-install命令进行安装,一步一步的执行

我们就这样在console中一行一行的往下走。
2)使用shell脚本来安装
使用shell脚本安装(代替上面的1)),省得我们一行一行在console敲。
create_kvm.sh文件
DIST_QCOW2=$
ORIGN_ISO=$ sudo virt-install \
--connect qemu:///system \
--name $ \
--ram \
--vcpus= \
--disk path=${DIST_QCOW2},format=qcow2,size=,bus=virtio \
--cdrom $ORIGN_ISO \
--vnc \
--os-type linux \
--accelerate \
--hvm \
--network bridge=virbr0,model=virtio \
--noautoconsole
注意:在上面的脚本文件中\代表的是续行符。在shell中已经使用的sudo
接下来就是运行脚本进行安装了:
shell/create_kvm.sh us1 /vdb1/us1.qcow2 /iso/ubuntu-17.04-server-amd64.iso
注意:
在这里脚本中有三个参数:
第一个为虚拟机名字
第二个为指定的虚拟磁盘
第三个为ubuntu系统的镜像文件
注意:镜像文件的选取:搭建集群保证所有的服务器的操作系统类型和操作系统版本以及内核版本最好都一致。
3)使用virsh命令

4)使用vnc-viewer检测系统
这里需要安装vnc viewer软件的,没有的话可以去我的博客中的随笔分类tools中下载
作用:我们虚拟机已经在安装ubuntu系统了,但是后面有些安装过程中需要认为去操作的,所以我们需要去使用vnc viewer去检测它的安装
url:host_ip:vnc编号(virsh vncdisplay vmname进行查看)
进入这里就是我们熟悉的安装ubuntu的过程了。不知道怎么安装ubuntu的server版的可以去我的博客中的随笔分类tools中下载
总结:至此,第一种创建虚拟机的方式就完成了,其实这种创建时非常的繁琐的。但是可以知道它的安装整个过程
4.2、第二种创建虚拟机的方式:(生成相应的xml文件+qcow2文件=虚拟机)
在上面我们已经安装了一个ubuntu系统,所以在us1.qcow2虚拟磁盘中是有ubuntu系统文件的和相对应的xml文件的。
1)复制us1.qcow2到us2.qcow2
2)复制us1.xml到us2.xml
3)修改us2.xml文件中的四个地方
a)修改xml文件中的虚拟机名称。<name>us2</name>中的内容。
b)修改UUID,16进制的值,随便修改其中几个值即可。
c)修改新的虚拟机配置中的磁盘(虚拟磁盘文件)信息。
d)修改MAC地址,16进制的值,随便修改其中几个值即可。
4)重启libvirt-bin服务。如果重启该服务有错,请重启宿主机
总结:使用这种安装非常的方便,只需要复制两个文件,修改一个文件就可以了。我这里会提供来两个文件给需要的人,可以去我的博客中的随笔分类tools中下载
4.3、第三种创建虚拟机的方式:virt-manager
首先你需要去安装这个软件
sudo apt install virt-manager
1)终端输入
virt-manager
2)file-->add connection
2.1)选中connection remote host
2.2)file-->create new virtual machine
第一步:
第二步:
第三步:
接下来可以自己去尝试我就不详细解释了
五、虚拟机管理、虚拟机域管理、虚拟磁盘管理
5.1、虚拟机管理
5.2、虚拟机域管理
5.3、虚拟磁盘管理
KVM+Qemu+Libvirt实战的更多相关文章
- 深入浅出 kvm qemu libvirt
在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvmkvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备:qemu是模拟IO设备(网卡,磁盘),kvm加上 ...
- kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装
kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块 ...
- KVM/QEMU/qemu-kvm/libvirt 概念全解
目录 目录 前言 KVM QEMU KVM 与 QEMU qemu-kvm Libvirt Libvirt 在 OpenStack 中的应用 前言 如果是刚开始接触虚拟机技术的话, 对上述的概念肯定会 ...
- KVM&Libvirt基本概念及开发杂谈
导读 大家好,本次肖力分享的主题是KVM&Libvirt基本概念及开发杂谈,内容有些凌乱松散,主要基于自己早期整理的笔记内容和实践感悟,有些内容难免有失偏颇,望见谅.前面先介绍下需要了解的基本 ...
- KVM/QEMU桥接网络设置及kvm资料
KVM/QEMU桥接网络设置 配置kvm的网络有2种方法.其一,默认方式为用户模式网络(Usermode Networking),数据包由NAT方式通过主机的接口进行传送.其二,使用桥接方式(Brid ...
- KVM+QEMU虚拟化概念
概念: KVM,即Kernel-basedvirtual machine,由redhat开发,是一种开源.免费的虚拟化技术.对企业来说,是一种可选的虚拟化解决方案. 定义:基于Linux内核的虚拟机 ...
- kvm/qemu虚拟机桥接网络创建与配置
首先阐述一下kvm与qemu的关系,kvm是修改过的qemu,而且使用了硬件支持的仿真,仿真速度比QEMU快. 配置kvm/qemu的网络有两种方法.其一,默认方式为用户模式网络(Usermode N ...
- gentoo在KVM+QEMU中安装笔记
gentoo是比较难安装的,本笔记主要是记录本次安装过程,以备参考. 1.首先,下载镜像,可以去国内各大镜像网站下载,我选择的是清华的镜像源:https://mirrors.tuna.tsinghua ...
- KVM 介绍(5):libvirt 介绍 [ Libvrit for KVM/QEMU ]
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...
随机推荐
- MSDTC启用——分布式事务
一.前言 最近在做一个项目的时候使用了.NET中的System.Transactions(分布式事务),当项目开发完成以后,调用的时候遇到了MSDTC的问题,在查阅了相关资料后将这个问题解决了,大致的 ...
- Linux项目自动部署
场景:linux中自动部署项目在工作中经常遇到,快速高效的部署项目能够大幅提高工作效率.现在将项目部署的过程记录下来,以供参考,其中用到的知识点现在还有很多不很清楚,后面要好好琢磨琢磨! 1 项目部署 ...
- ubuntu上安装apache2+mysql+php5-fpm(PHP5 - FastCGI Process Manager)
1: 安装mysql apt-get install mysql-server mysql-client 安装过程中会被问到设置mysql root的密码 New password for t ...
- js一些重点知识总结(二)
第一部分:数据类型转换 1) 数据类型的种类: 数值型number.布尔型(true(1) /false (0)).字符串型(String).空类型(null)(object) 2) 数据类型自动转换 ...
- strtok函数 分类: c++ 2014-11-02 15:24 214人阅读 评论(0) 收藏
strtok函数是cstring文件中的函数 strtok函数是cstring文件中的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...
- 类似818tu.co微信小说分销系统设计之多公众号网页授权自动登录源码
/** 转载请保留原地址以及版权声明,请勿恶意修改 * 作者:杨浩瑞 QQ:1420213383 独立博客:http://www.yxxrui.cn * [后台]http://xiaoshuo. ...
- FFmpeg任意文件读取漏洞分析
这次的漏洞实际上与之前曝出的一个 CVE 非常之类似,可以说是旧瓶装新酒,老树开新花. 之前漏洞的一篇分析文章: SSRF 和本地文件泄露(CVE-2016-1897/8)http://static. ...
- Vue2源码分析-逻辑梳理
很久之前就看完vue1,但是太懒就一直没写博客,这次打算抽下懒筋先把自己看过了记录下来,否则等全部看完,估计又没下文了 看源码总需要抱着一个目的,否则就很难坚持下去,我并没做过vue的项目,我几乎很少 ...
- [补档][Jxoi2012] 奇怪的道路
[Jxoi2012] 奇怪的道路 题目 传送门 :http://www.lydsy.com/JudgeOnline/problem.php?id=3195 小宇从历史书上了解到一个古老的文明.这个文明 ...
- 表达式求值(二叉树方法/C++语言描述)(一)
使用二叉树对算数表达式(以下简称为表达式)进行求值,实质上是将表达式转换为二叉树,对其进行后序遍历,得到后缀表达式的同时可以求得表达式的值.转换和求值的过程也需要借助数据结构栈的帮助. 二叉树数据结构 ...