首页 > 代码库 > 干货分享: 长达250页的Libvirt Qemu KVM的ppt,不实验无真相

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

<iframe height=570 width=100% scrolling="no" src=http://www.mamicode.com/"http://share.csdn.net/frame/9070" frameborder=0 allowfullscreen></iframe>

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,不实验无真相