虚拟化技术(KVM)
计算机工作原理
硬件
- 硬件是计算机组成基础,由大量的电子设备组成芯片组
操作系统
- 把硬件功能抽象成直观的,比较易于调用高层次接口
- 物理接口等、cpu插座、网卡接口、硬盘接口等
应用程序
- 完成某一特定功能的软件,这些软件通过调用操作系统所提供的接口对底层硬件进行使用
X86平台指令集权划分
- Ring0 操作系统使用(内核态)
- Ring1-2 驱动程序使用
- Ring3 应用程序使用(用户态)
虚拟化介绍
#####虚拟化技术即是对资源的抽象
#####虚拟化是为了实现应用程序运行的隔离环境
#####虚拟化是资源交付方式
#####host OS guest OS
#####虚拟化技术分类
- 从资源提供角度分类
- 硬件平台虚拟化
- 把X86平台的CPU、内存、网络、存储及外设等作为资源进行抽象,提供给虚拟机使用
- 操作系统虚拟化
- 把操作系统及操作系统所提供的系统调用作为资源进行抽象,提供给虚拟机使用
- 从虚拟化实现方式分类
- 虚拟化管理程序Hypervisor(VMM) 虚拟机监视器
- I型
- 半虚拟化:虚拟机直接运行在系统硬件上
- II型
- 硬件辅助全虚拟化
- 虚拟机运行在主机操作系统上;
主机操作系统提供CPU等资源; - 主机虚拟化中VM运行的应用程序如果需要调用硬件资源 步骤:
- 1.应用程序向Guest OS发起请求
- 2.Guest OS向Hypervisor发起请求
- 3.Hypervisor向Host OS发起情请求
- 4.由Host OS内核操作硬件
- III型
- 软件全虚拟化
- 非硬件辅助全虚拟化:QEMU
- 操作系统虚拟化
- 称为轻量级虚拟化,允许操作系统内核拥有批次隔离和分割的多用户空间实例—容器。基于Linux内核中的namespace,cgroup实现
- 例如: LXC,Docker
- 关键词
- QEMU
- IO
- KVM
- CPU
Mem
- libvirt
- virsh
virt-manager
virt-viewer
virt-install
#####厂商
- qemu
kvm
xen
hyper-v
EXSi
Oracle-vm(VirtualBox)
部署KVM虚拟机管理工具
- 硬件要求
- 系统要求
- kvm_intel
KVM虚拟机组成文件
- 镜像文件:/var/lib/libvirt/images
- 配置文件:/etc/libvirt/qemu
- 网络配置文件:/etc/libvirt/qemu/networks
- 存储池配置文件:/etc/libvirt/storage
KVM虚拟机cpu热添加
KVM虚拟机内存气球
KVM网络虚拟化
- 半虚拟化
- 全虚拟化
- 网卡
- 交换机
- NAT
- Bridge
- Route
- isolate
KVM存储虚拟化
#####热添加硬盘
#####存储池管理
- 本地存储
- 网络存储
#####QEMU镜像管理 - 创建
- 附加
- 删除
- 格式
- raw、qcow2
- 快照
- 格式转换
- qemu-img convert- -f qcow2 -O qcow2 centos7.img.raw centos7.img.qcow2
- 后备镜像
- 差量镜像
- qemu-img create -f qcow2 -b centos7.back.img centos7.front.img
kvm虚拟机管理
- 启动、暂停、关闭
批量管理虚拟机
- 创建模板
- 批量管理脚本
虚拟机批量管理平台
- 公有云平台
- 私有云平台