1 什么是虚拟化
在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用
虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。
2 虚拟化技术
虽然虚拟化技术的种类特别多,但是目前主要的有 虚拟机和容器技术。
其中 虚拟机指在主操作系统之上运行多个不同的从操作系统,实现硬件资源虚拟化;容器技术是指基于计算机硬件和操作系统基础上的app隔离,从而实现虚拟化。
3 两种虚拟化技术的比较
3.1实现原理上的区别
虚拟机是在计算机的硬件和操作系统的基础上创建虚拟层 和虚拟化操作系统(从操作系统),然后再安装应用供用户使用。
容器技术,是在计算机的硬件和操作系统的基础上创建引擎,在引擎上安装应用供用户使用。
两者的实现原理上的差异导致性能和使用上的一堆差异。
3.2占用存储大小的区别
虚拟机因为需要按照操作系统,所以需要相应的空间存储和运行从操作系统,导致存储消耗较大;
容器技术使用的操作系统是宿主机的操作系统,所以占有的内存和存储较小。
3.3 启动
虚拟机需要启动操作系统,所以启动较慢和正常启动一台计算机差不多。
容器技术只是启动一个引擎,所以特别快。
3.4隔离
虚拟机是操作系统级别的隔离,所以隔离性特别好。
容器技术是app层级的隔离,所以隔离性较虚拟机较差。
在实际工作中需要根据应用场景的隔离性来选择相应的技术。