下载地址:Libvirt Qemu KVM 教程大全

http://files.cnblogs.com/popsuper1982/LibvirtQemuKVM.pptx

1. 概论

1.1 虚拟化的基本类型

无虚拟化

半虚拟化Paravirtualization

非硬件辅助全虚拟化

硬件辅助全虚拟化

实验一:查看系统是否支持硬件辅助虚拟化

1.2 KVM Qemu Libvirt之间的关系

实验二:安装KVM, Qemu, Libvirt

2. Qemu KVM

接下来的章节介绍qemu-kvm,先不介绍libvirt

2.1 QEMU-KVM: 安装第一个能上网的虚拟机

2.2 QEMU-KVM: 使用qemu monitor来管理虚拟机

实验三:使用qemu monitor查看信息

2.3  QEMU-KVM: qemu的硬件虚拟化

计算机体系结构

CPU

SMP对称多处理器

System Management BIOS

内存

System Clock

USB

设备总线

显示器

声卡

网卡

CD-ROM

硬盘

实验四:查看qemu所能模拟的设备

2.4  QEMU-KVM: Images

RAW Image

qcow2 Image

Convert: image格式之间可以转换

压缩compress

加密

扩展

2.5 QEMU-KVM: Snapshot

internal snapshot

external snapshot

2.6 QEMU-KVM: Network Block Device

方式一:可以提供unix socket

方式二:普通的socket连接

方式三:将image mount到一个network block device

LVM的处理

2.7 QEMU-KVM: 访问iSCSI

iSCSI的原理

Server端的配置

Client端的配置

连接到qemu

2.8 QEMU-KVM:网络虚拟化

网络模式User Network

Socket:虚拟机之间的交互

Tap/Tun Device

2.9 QEMU-KVM:半虚拟化设备virtio

virtio的原理

Memory Ballooning (virtio_balloon)

硬盘虚拟化virtio_blk

网络设备虚拟化virtio_net

性能比较

2.10  QEMU-KVM: Migration

在qemu里面Live Migration是通过monitor进行的

方法一:使用共享存储,NFS, NBD, SAN

方法二:连带migrate硬盘的迁移

2.11 QEMU-KVM: Monitoring and Debugging

对Monitor的访问

访问The QEMU Monitor Protocol (QMP)

2.12 QEMU-KVM: KVM性能和最佳实践

最佳实践一:使用半虚拟化驱动virtio

最佳实践二:VM的存储设备

最佳实践三:CPU超配

最佳实践四:内存超配

最佳实践五:网络

最佳实践六:Block I/O performance

3. Libvirt

接下来的章节介绍Libvirt工具

3.1 Libvirt: 管理Domain

将命令行转换为XML

定义Domain

编辑Domain

启动Domain

关闭Domain

重启Domain

暂停Domain

唤醒Domain

删除Domain

3.2 Libvirt: 管理snapshot

Internal Snapshot - VM State snapshot

Internal Snapshot - Disk State snapshot

External Snapshot

External Snapshot:管理qcow2 backing chain

方式一:virsh blockcommit/virDomainBlockCommit

方式二: virsh blockpull/virDomainBlockRebase

方式三:blockcopy,将内容复制到另一个Image

3.3 Libvirt: Remote Access

使用什么URI进行远程连接

Unix

SSH

TCP

TLS

配置client和server之间的key和certificate

Authentication

SASL

Kerberos

3.4 Libvirt: Control Group

对CPU的控制

对block I/O的控制

使用TC控制Network

3.5 Libvirt: CPU

查看CPU的兼容性

查看CPU Affinity

3.6 Libvirt: PCI

PCI(Peripheral Component Interconnect)是设备总线标准

3.7 Libvirt: libguestfs

libguestfs的架构

Libguestfs appliance的启动过程

Guestfish的命令

Virt命令系列: guestmount, virt-builder, virt-ls, virt-cat, virt-copy-in, virt-copy-out

3.8 Libvirt: virtual networking

Libvirt帮助管理虚拟网络

DNS & DHCP

默认的NAT模式

Bridged Network

Libvirt提供自己的network filter

实例:禁用ICMP

3.9 Libvirt: Storage

Storage Pool

网络文件系统池netfs

逻辑卷池logical

iSCSI 卷池

Disk Encryption

Libvirt Secret的管理

3.10 Libvirt: Migration

共享存储 vs. 非共享存储

Native迁移 vs. tunnelled迁移

Direct迁移 vs. Peer to Peer迁移

2.11 Libvirt: Hooks

Hooks的基本原理

简单的hooks脚本,打印参数和stdin

复杂的hook脚本

禁止ICMP

设置CPU Share

设置网络带宽

干货分享: 长达250页的Libvirt Qemu KVM的ppt,不实验无真相的更多相关文章

  1. 干货分享: 长达150页的openvswitch的ppt,不实验无真相

    下载链接: Openvswitch实验教程 http://files.cnblogs.com/popsuper1982/Openvswtich.pptx 一.概论 Software Defined N ...

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

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

  4. iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ①)

    好长时间没更新博客, 是时候来一波干货分享了;APP引导页话不多说每一个APP都会用到,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了吧,当然这里讲的不是 ...

  5. QEMU KVM Libvirt(12): Live Migration

    由于KVM的架构为 Libvirt –> qemu –> KVM 所以对于live migration有两种方式,一种是qemu + KVM自己的方式,一种是libvirt的方式,当然li ...

  6. iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ②)

    距上一篇博客"APP引导页的高度集成 - DHGuidePageHUD - ①"的发布有一段时间了, 后来又在SDK中补充了一些新的内容进去但是一直没来得及跟大家分享, 今天来跟大 ...

  7. 纯干货分享!2020阿里java岗笔试面试题总结(附答案)

    前言 2020金九银十马上结束,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家! int a=10是原子操作吗? 是的.  注意点: i+ ...

  8. 干货分享:SQLSERVER使用裸设备

    干货分享:SQLSERVER使用裸设备 这篇文章也适合ORACLE DBA和MYSQL DBA 阅读 裸设备适用于Linux和Windows 在ORACLE和MYSQL里也是支持裸设备的!! 介绍 大 ...

  9. 干货分享:MySQL之化险为夷的【钻石】抢购风暴【转载】

    转自: 干货分享:MySQL之化险为夷的[钻石]抢购风暴 - Vanos_韩尛哲 - 博客园http://www.cnblogs.com/Vanos-lcp/p/5642097.html 抢购钻石不稀 ...

随机推荐

  1. ThinkPHP 2053错误

    这个报错是调用存储过程的时候产生的,用的是5.1的代码是根据官方文档写的,我怀疑5.0也有这个问题.去官方查了一下发现不少人有这个问题,但是官方都没有回应过,只能自己动手一步步调了. $center ...

  2. 非递归并查集——zoj4109

    卡常卡的我难受 非递归并查集好像写起来常数小一点 int F[maxn]; int Find(int x){ int r = x; while (F[r] != r)r = F[r]; int i = ...

  3. 为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作--java.util.ConcurrentModificationException

    摘要 foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素. 在阿里巴巴Java开发手册中,有这样一条规定: 但是手册中并没有给出具体 ...

  4. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  5. Java实现基于token认证

    随着互联网的不断发展,技术的迭代也非常之快.我们的用户认证也从刚开始的用户名密码转变到基于cookie的session认证,然而到了今天,这种认证已经不能满足与我们的业务需求了(分布式,微服务).我们 ...

  6. 【webpack系列】从零搭建 webpack4+react 脚手架(二)

    html文件如何也同步到dist目录?bundle.js文件修改了,万一被浏览器缓存了怎么办?如何为导出的文件加md5?如何把js引用自动添加到html?非业务代码和业务代码如何分开打包?如何搭建开发 ...

  7. Docker 学习8 Dockerfile详解2

    一.继续上章节Docker学习7 CMD命令后. 11.ENTRYPOINT a.容器启动后相当于会启动ENTRYPOINT + CMD 命令,CMD相当于参数传给entrypoint的 [root@ ...

  8. Cookies的使用之购物车的实现

    Cookies的使用之购物车实现 最近学习了JSON对象之后,发现Cookies的使用更加的灵活方便了.ps:JSON不是JS.可以这么理解,JSON 是 JS 对象的字符串表示法,它使用文本表示一个 ...

  9. Android进阶:七、Retrofit2.0原理解析之最简流程【上】

    retrofit 已经流行很久了,它是Square开源的一款优秀的网络框架,这个框架对okhttp进行了封装,让我们使用okhttp做网路请求更加简单.但是光学会使用只是让我们多了一个技能,学习其源码 ...

  10. 相机标定问题-Matlab & Py-Opencv

    一.相机标定基本理论 1.相机成像系统介绍 图中总共有4个坐标系: 图像坐标系:Op    坐标表示方法(u,v)                 Unit:Dots(个) 成像坐标系:Oi      ...