虚拟化技术:
虚拟化技术类型:
主机虚拟化:xen, kvm, virtualbox, ...
容器(用户空间隔离): lxc(LinuX Container), openvz, ...
系统库虚拟化:wine, ...
应用程序级虚拟化:jvm, pvm,...
主机虚拟化:
CPU:
模拟:emulation, 虚拟机的arch与物理平台的arch可以不相同;qemu;
虚拟:virtualization
完全虚拟化(full-virt)
BT: 二进制转换 (软件)
HVM:硬件辅助的虚拟化(硬件)
半(准)虚拟化 (para-virt)
GuestOS得明确知道自己运行于虚拟化技术
内存:
MMU virtualization:
Intel: EPT, Extended Page Table
AMD: NPT, Nested Page Table
TLB virtualization:
tagged TLB
IO:
Emulation
Para-virtualization
IO-through:IO透传
主机虚拟化的类型:
TYPE-I:
于硬件级别直接运行hypervisor;
xen, vmware ESX/ESXI
TYPE-II:
于硬件级别运行一个OS(Host OS),而此OS上运行一个VMM;
vmware workstation, virtualbox, kvm
Linux目前流行的开源虚拟化技术解决方案:
主机虚拟化:xen, kvm, virtualbox
容器级:lxc, libcontainer, openvz
模拟器:qemu
快速使用kvm技术:
# yum install libvirt-daemon-kvm qemu-kvm virt-manager
# modprobe kvm
# systemctl start libvirtd.service
# virsh iface-bridge INTERFACE BRIDGE_NAME
# virt-manager
总结:
虚拟化技术的分类:
(1) 模拟:Emulation
Qemu, PearPC, Bochs, …
(2) 完全虚拟化:Full Virtualization,Native Virtualization
BT/hvm
VMWare Workstation, VirtualBox, VMWare Server, Parallels Desktop, KVM(hvm), XEN(hvm)
(3) 半虚拟化:Para-Virutalization
特点:GuestOS明确知道自己运行虚拟机之上;
xen, UML(user-mode linux)
(4) 容器级虚拟化:
LXC, OpenVZ, libcontainer, Linux V Servers, Virtuozzo, …
(5) 库级别虚拟化:
wine
(6) 程序级虚拟化
jvm, pvm, …
主机虚拟化:Emulation, Full Virtualization, Para-Virutalization
Type-I:Hypervisor直接运行于硬件;
Type-II:Hypervisor运行主机OS之上;
云栈的类别:
IaaS, PaaS, SaaS, FWaaS, DBaaS, LBaaS, ...