Docker LXC OpenVZ操作系统级虚拟化技术
2016-03-01 by dongnan
操作系统级虚拟化
操作系统级虚拟化 (Operating system–level virtualization),一种虚拟化技术,这种技术将操作系统内核虚拟化,
可以允许使用者空间(instances)被分割成几个独立的单元,在内核中运行,而不是只有一个单一软件运行。
这个单元也被称为是一个容器(containers),虚拟引擎(Virtualization engine,VE),虚拟专用服务器(virtual private servers,VPS)
或是 Linux 容器(Linux Container,LXC)。对每个行程的拥有者与使用者来说,他们使用的服务器,看起来就像是自己专用的。
Docker
Docker 对进程进行封装隔离,同样也属于操作系统层面的虚拟化技术。详细参考这里。
LXC
Linux 容器(Linux Container,LXC)是一种轻量级的虚拟运行环境,它与传统的虚拟机方式不同传统的虚拟机需要对硬件作出抽象并提供了一个完整的操作系统。
而 LXC 最大不同的地方就是,多个容器都与系统共用一套内核机制,而容器中提供的只是运行环境需要的文件系统、虚拟网络等。
LXC 并不是最近才发明的技术,OpenVZ 以及除了 Linux 系统之外还有 FreeBSD 的jails、Solaris 的 Containers都是容器技术的实现。
OpenVZ
OpenVZ 是开源软件是基于 Linux平台的操作系统级服务器虚拟化解决方案。
OpenVZ采用SWsoft的Virutozzo虚拟化服务器软件产品的内核,而 Virutozzo 是 SWsoft公司提供的商业虚拟化解决方案,OpenVZ的授权为GPLv2。
OpenVZ 可以在单个物理服务器上创建多个隔离的虚拟专用服务器(VPS)并以最大效率共享硬件和管理资源。
每个VPS的运行和独立服务器完全一致,因其自身的用户、应用程序都可以独立重启,它拥有根访问权限、用户、IP地址、内存、处理器、文件、应用服务、系统库文件和配置文件等。
OpenVZ 同时为用户提供工具,协助自动化管理虚拟服务器。基于模板的应用程序部署可以在几分钟内用简单的方法创建新的虚拟服务器并投入使用, 而且与其他的虚拟化技术相比,OpenVZ可以在每CPU上运行几倍于其他虚拟化服务器技术的虚拟化服务器。
OpenVZ 允许物理服务器运行多个操作系统,被称虚拟专用服务器(VPS,Virtual Private Server)或虚拟环境(VE, Virtual Environment)。
与全虚拟化的VMware和半虚拟化的Xen相比,OpenVZ的host OS和guest OS都必需是Linux,OpenVZ声称这样做有性能上的优势。
根据OpenVZ的说法使用OpenVZ与使用独立的服务器相比,性能只会有1-3%的损失。