虚拟化技术演变(从左到右)
软件模拟、虚拟化层翻译、容器虚拟化
软件模拟:
软件完全模拟CPU、芯片组、磁盘、网卡等计算机硬件(QEMU)
虚拟化层:
1、软件全虚拟化(VMM捕获虚拟机指令并处理,VMM工作量大效率较低)
2、半虚拟化(改造虚拟机系统内核加虚拟化层翻译,效率较高)
3、全虚拟化(硬件支持的虚拟化层翻译,VMX root operation和VMX non-root operation两种操作模式)
容器虚拟化:
每个进程有单独的资源,有自己的根目录,独立的进程编号和隔离的内存空间
KVM架构:
QEUM模拟硬件给虚拟机使用,一台虚拟机就是一个普通的Linux进程,通过对进程管理就可以实现对虚拟机的管理
Libvirt(开源项目)可以管理KVM虚拟机,实际上就是管理KVM进程(API和命令行),OpenStack就是基于Libvirt
QUEM:
开源项目,纯软件模拟(硬件模拟器),内建DHCP、DNS、SMB、TFTP服务器
Libvirt(更多用于KVM,其他如Xen、Hyper V、VMware ESX上有个各自的管理工具):
由包含一套API的lib库+Libvirtd服务+命令行工具virsh三部分组成,可对虚拟机管理同时支持远程的宿主机管理。可通过SSH、TCP、基于TCP的TLS进行虚拟机的配置。
资源管理分为:存储池资源、网络资源(支持NAT和路由方式)
Open vSwitch:专门管理多租赁公共云计算环境,为网络管理员提供虚拟VM之间和之内的流量可见性和控制。
PXE是Intel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统。
KickStart:自动化安装系统,生成一个设置好各种参数的脚本ks.cfg文件