1 虚拟化技术分类在计算机技术中,虚拟化 (virtualization) 是一种资源管理技术,是将计算机的各种实体资源,如服务器 、 网络 、 内存及存储等,予以抽象 、 转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以用比原本的组态更好的方式来应用这些资源。因此,虚拟化的核心是对资源的抽象,我们可以在同一个主机上同时运行多个系统或应用,从而提高系统资源的利用率,实现降低成本 、 方便管理的目的。 虚拟化技术有以下这些层次分类: 这里重点说明平台虚拟化技术。平台虚拟化分为以下几种类型: (1) 完全虚拟化 虚拟机完全模拟完整的底层硬件环境和特权指令的执行过程,无须修改客户操作系统。例如 Virtualbox、vmware、QEMU 等。 【1】Virtualbox:我们可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、IBM OS/2 Warp、BSD等系统作为客户端操作系统。 【2】vmware: vmware 是业界非常稳定且安全的桌面虚拟机软件, VMware 虚拟机可让我们在一台机器上同时运行二个或更多 Windows 、 DOS 、 LINUX 系统。在虚拟网路,实时快照,拖曳共享文件夹,支持 PXE 等方面均有特别之处,使用 vmware ,我们可在单一的桌面上同时运行不同的操作系统,进行开发 、 测试 、 部署新的应用程序。
【3】QEMU:QEMU 本身是一个非常强大的虚拟机,它可以利用 Xen、KVM 等技术来加速。加速之后,就可以把客户操作系统的 CPU 指令直接转发到物理 CPU,以提升运行效率。 (2)硬件辅助虚拟化 硬件辅助虚拟化指的是,利用硬件 ( 主要是 CPU ) 来处理敏感指令来实现完全虚拟化的功能,无须修改客户操作系统。例如 VmwareWorkstation , Xen , KVM。 【1】Xen :Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改以在Xen上运行。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。 【2】KVM:KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案。 KVM 允许每个虚拟机有自己的私有硬件,包括网卡、磁盘以及图形适配卡等。 (3)半虚拟化 (paravirtualization) 部分硬件接口以软件的形式提供给客户机操作系统,需要修改客户操作系统,例如早期的 Xen。 (4)操作系统级虚拟化 内核通过创建多个虚拟的操作系统实例 来隔离不同的进程。Docker 容器技术即在此范畴内。 2 比较 Docker 容器技术与传统虚拟化技术
归纳如下:
从上图中可以看出,传统虚拟化方式需要有额外的虚拟机管理程序和虚拟机操作系统 。而Docker 容器是直接在宿主机操作系统层面上实现虚拟化,所以属于轻量级虚拟化方案。 拥有这么多优秀的特性,你说 Token 容器技术能不流行吗? |
|