虚拟化技术概述
1.概述 在准备研究docker及kubenetes技术时基础到很多虚拟化技术,他们之间的关系及异同不慎了解,因此首先对这些虚拟化技术做一下总结。主要是docker、Vagrant、virtualbox、kvm等 2.虚拟化技术 从虚拟机角度看,虚拟化大致从层次上分主要有:硬件层、操作系统层、函数库层、应用程序层。其中最主要的是硬件层与操作系统层。现有的大部分虚拟化技术都是硬件层的,操作系统层以docker为代表,应用层如JVM等。 硬件抽象层上的虚拟化是指通过虚拟硬件抽象层来实现虚拟机,为客户机操作系统呈现和物理硬件相同或相近的硬件抽象层,又称为指令集级虚拟化,实现在此层的虚拟化粒度是最小的。 操作系统层上的虚拟化是指操作系统的内核可以提供多个互相隔离的用户态实例。这些用户态实例(经常被称为容器)对于它的用户来说就像是一台真实的计算机,有自己独立的文件系统、网络、系统设置和库函数等。 2.1硬件层虚拟化 硬件层虚拟化即硬件抽象层上的虚拟化、指令集级虚拟化。注意,这里说的硬件层虚拟化是从虚拟机角度看的,即通过虚拟化层也称虚拟机监控器(Virtual Machine Monitor,VMM)的模拟,提供给虚拟机一个与物理机硬件相同或相似的资源环境,这样每台虚拟机中都有属于它的虚拟硬件,虚拟机中的操作系统认为自己仍然是独占一个系统在运行。(并不是说宿主物理机硬件直接虚拟化