虚拟化技术(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虚拟机管理

  • 启动、暂停、关闭

批量管理虚拟机

  • 创建模板
  • 批量管理脚本

虚拟机批量管理平台

  • 公有云平台
  • 私有云平台