干货分享: 长达250页的Libvirt Qemu KVM的ppt,不实验无真相
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,不实验无真相的更多相关文章
- 干货分享: 长达150页的openvswitch的ppt,不实验无真相
下载链接: Openvswitch实验教程 http://files.cnblogs.com/popsuper1982/Openvswtich.pptx 一.概论 Software Defined N ...
- 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设备直接分 ...
- 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设备直接分 ...
- iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ①)
好长时间没更新博客, 是时候来一波干货分享了;APP引导页话不多说每一个APP都会用到,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了吧,当然这里讲的不是 ...
- QEMU KVM Libvirt(12): Live Migration
由于KVM的架构为 Libvirt –> qemu –> KVM 所以对于live migration有两种方式,一种是qemu + KVM自己的方式,一种是libvirt的方式,当然li ...
- iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ②)
距上一篇博客"APP引导页的高度集成 - DHGuidePageHUD - ①"的发布有一段时间了, 后来又在SDK中补充了一些新的内容进去但是一直没来得及跟大家分享, 今天来跟大 ...
- 纯干货分享!2020阿里java岗笔试面试题总结(附答案)
前言 2020金九银十马上结束,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家! int a=10是原子操作吗? 是的. 注意点: i+ ...
- 干货分享:SQLSERVER使用裸设备
干货分享:SQLSERVER使用裸设备 这篇文章也适合ORACLE DBA和MYSQL DBA 阅读 裸设备适用于Linux和Windows 在ORACLE和MYSQL里也是支持裸设备的!! 介绍 大 ...
- 干货分享:MySQL之化险为夷的【钻石】抢购风暴【转载】
转自: 干货分享:MySQL之化险为夷的[钻石]抢购风暴 - Vanos_韩尛哲 - 博客园http://www.cnblogs.com/Vanos-lcp/p/5642097.html 抢购钻石不稀 ...
随机推荐
- face++ php
总流程是先上传文件,保存到后台,获取返回来的face_token保存下来,然后拿face_token添加到faceSet里面去,搜索的时候结果会返回faceSet里面的face_token 1.dem ...
- python学习记录20190121
print 语句默认会给每一行添加一个换行符.只要在print 语句的最后添加一个逗号(,),就可以改变它这种行为 带逗号的print语句输出的元素之间会自动添加一个空格 print 没有任何参数的p ...
- 如何kill掉tomcat服务
一般我们使用tomcat使用的都是8080端口,今天我在使用eclipse的时候连续启动了两次tomcat,发现被占用了. 第一想法便是重启eclipse,重启后发现tomcat的8080仍然是已经被 ...
- ProgressDialog替代
在API level 26 中,ProgressDialog被声明不赞成使用,应使用的替代方法是ProgressBar 利用下列代码实现ProgressBar的出现和消失 progressBar.se ...
- 1、阿里云ECS内部机器端口被100.117.90段的ip疯狂扫描导致业务异常
故障现象: 解决方案: 1.临时解决 iptables -I INPUT -s 100.117.0.0/12 -j DROP 2.后续解决 提交工单,寻找阿里服务. 后续定位是以前配置过的SLB在搞鬼 ...
- Python3学习笔记十五
---恢复内容开始--- 1. jquery的属性操作 $().attr(属性名) 取值 $().attr(属性名,属性值) 赋值 <!DOCTYPE html> &l ...
- tp5 修改默认的分页url
默认分页url:xx.com/xxx?page=1 个人主要感觉不美观,想变成xx.com/xxx/list_1.html这样的 框架本身默认使用的boostrap分页类,目录位置 simplewin ...
- 3d-tiles、gltf 坐标系
gltf 为 y 轴向上的右手坐标系 3d-tiles 为 z 轴向上的右手坐标系
- IMCASH:2019年区块链不会风平浪静,至少还有10件事值得期待
当我们在说2019年是值得期待的一年时,我们还是得做到有根有据.那么,2019年在区块链行业都会发生哪些引导行业风向.影响整个行业的事件呢? 今天,白话区块链带着大家顺着时间线梳理一下. 01 第一季 ...
- MVC简单的增删改查
最近的学习了一下mvc,现在做一个mvc的CRUD例子. 1.创建实体模型 2.创建一个UserInfo的控制器 3.查询数据 code public IList<UserInfo> us ...