OpenVZ是开源软件,是基于Linux平台的操作系统级服务器虚拟化解决方案。OpenVZ采用SWsoft 的Virutozzo™虚拟化服务器软件产品的内核,Virutozzo是SWsoft公司提供的商业虚拟化解决方案。
OpenVZ在单个物理服务器上创建隔离、安全的虚拟专用服务器 (VPS或虚拟环境,VE),从而提高服务器利用率并确保应用程序之间不会相互干扰。每个VPS的运行都和独立的服务器完全一致:VPS可以独立重启,具有根访问权限,用户、IP地址、内存、处理器、文件、应用程序、系统库和配置文件等。
OpenVZ 软件同时为用户提供工具,协助自动化管理虚拟服务器。基于模板的应用程序部署可以在几分钟内用简单的方法创建新的虚拟服务器并投入使用,而且与其他的虚拟化技术相比,OpenVZ可以在每CPU上运行几倍于其他虚拟化服务器技术的虚拟化服务器。
OpenVZ项目是由SWsoft支持的开源项目,其目的是为广大开源社区提供源代码来进行测试、研发并更进一步提高操作系统虚拟化技术。同时也为那些SWsoft的Virtuozzo虚拟化产品中的新技术建立良好的基础。我们鼓励所有社区来获取、使用、研发并评论OpenVZ软件以及这个站点的参考资料。
OpenVZ项目可以自由发布并对用户提供支持,通过互惠合作和网络社区的努力来推广操作系统虚拟化技术。从去年底推出全面的产品,OpenVZ项目在用户社区已经非常活跃,有超过3000条信息发布在支持论坛。随着越来越多的商业和个人用户对领先的开源操作系统虚拟化项目着手研究并做出贡献,OpenVZ网站在今年4月份吸引了超过1百万的点击量。了解更多OpenVZ的信息,请访问:http://openvz.org。
更多信息:
OpenVZ还提供了一个博客来讨论虚拟化技术,欲了解详情,请访问:http://blog.openvz.org。
OpenVZ软件文档资料下载:http://openvz.org/download/。
关于OpenVZ虚拟化软件
OpenVZ是一款由SWosft开发的完整的服务器自动化和虚拟化解决方案。OpenVZ可以在单个物理服务器上创建多个隔离的虚拟专用服务器 (VPS) 并以最大效率共享硬件和管理资源。每个VPS的运行和独立服务器完全一致,因其自身的用户、应用程序都可以独立重启,它拥有根访问权限、用户、IP地址、内存、处理器、文件、应用服务、系统库文件和配置文件等。拥有轻量级处理损耗和高效设计的OpenVZ是运行应用服务和实时数据生产型服务器虚拟化的最佳选择。
OpenVZ VPS基本功能:
l 动态实时分区 – 将物理服务器分成数十个VPS,每个都具有独立服务器的功能。
l 资源管理 – 分配和控制VPS资源参数并实时进行资源的重新分配。
l 集中管理 – 通过统一的方式管理多台物理和虚拟专用服务器。
OpenVZ为主机服务提供商提供了全面的解决方案,允许这些服务商:
l 在单台物理服务器上拥有数以百计客户,每个客户拥有独立的全功能虚拟专用服务器;
l 为每个客户提供服务质量保障;
l 无需手工配置,可以透明地将客户及其使用环境在不同服务器之间迁移。
如果您在企业中管理大量的Linux独立服务器,每个服务器运行特定的应用服务,您可以使用OpenVZ来讲这些服务合并与同一台计算机,不会损失任何有价值的信息也不会损害任何性能。虚拟专用服务器运行和独立服务器完全一样:
l 每一个VPS拥有其独立的过程、用户、文件并提供完全ROOT访问权限;
l 每一个VPS可以拥有独立IP地址、端口号码、表单、以及过滤和路由规则;
l 每个VPS可以拥有其自己的系统配置文件并能够装载应用程序,同时还拥有自己的系统库。在VPS内可以独立的安装和定制软件包,不受其它VPS或底层硬件节点系统影响。多种不同的Linux发行包可以运行在同一个Linux服务器上。
实际上,数以百计的服务器可以按这种方式合并。除了服务器合并这类显而易见的优势外(大量设施的管理工作等),还有某些您可能未曾考虑到的优势,如大大降低了电费。
OpenVZ对IT教育研究机构具有不可估量的价值,他们现在可以为每个学生提供一台Linux服务器,可以进行远程的监控和管理。软件开发公司可以使用虚拟环境来检测他们的目标等。
因此,OpenVZ可以快速部署到大部分情景:网络主机托管、企业服务器合并、软件研发/测试,用户培训等。
OpenVZ的虚拟专用服务器的概念有别于传统的虚拟机概念,因为VPS一直运行在和底层硬件节点相同的操作系统内核上(Linux VPS运行在Linux平台,Windows VPS在Windows 平台)。这种单内核实现技术允许VPS运行时几乎零处理损耗。因此, OpenVZ 的VPS提供了比传统的虚拟化技术高出一个量级的效率和易管理性。
从应用程序和VPS用户的角度来看,每个VPS是完全独立的系统。这种独立性由位于系统内核之上的虚拟化层来提供。注意仅有极小的CPU资源消耗在虚拟化过程中(大约1-2%)。以下是OpenVZ虚拟化层实现的主要特性:
l VPS看起来像一套普通的Linux系统。它具有标准的启动脚本、软件厂商提供的科可以运行在VPS内部的软件而无需为OpenVZ做特别的修改或调整;
l 用户可以修改任何配置文件和安装其他软件;
l VPS相互之间完全隔离(包括文件系统,进程,内部进程通讯(IPC),sysct1变量);
l VPS不会绑定在一个CPU上,可以使用所有的CPU资源。属于某个VPS的进程可以运行在所有可获得的CPU之上。
OpenVZ网络虚拟化层设计目的是从VPS相互之间或从物理网络进行隔离:
l 每个VPS拥有自己的IP地址;每个VPS还允许有多个IP地址;
l VPS网络流量与其它VPS进行隔离。换句话说,VPS完全和其它VPS隔离,确保网络监听对VPS不起任何作用;
l 防火墙可以使用在VPS内部(用户可以创建规则限制某些服务访问使用规则的IP地址表工具);
l 路由表操作允许从高级的路由特性收益。例如,为不同的目的地设置最大传输单元(MTU),对不同的目的地明确不同的源地址等等。
OpenVZ的操作系统模板是某些Linux发行版的设置包文件,用它来创建更多的VPS。使用OpenVZ,不同的Linux发行版本可以共存在同一个硬件服务器上,所以可以使用多操作系统模板。操作系统模板包括系统程序、库文件,系统(VPS)启动和运行所需的脚本,还包括某些基本的应用软件和程序。但编译器和SQL Server等软件不包含在操作系统模板。 了解更多OpenVZ模板的信息,请登陆http://OpenVZ.org。
OpenVZ资源管理用于控制VPS所能获得的资源。控制的资源包括以下参数:CPU、磁盘空间、一套内存相关参数等。资源管理允许OpenVZ:
在VPS中更有效的共享可用的硬件节点资源;
l 确保QoS与服务水平协议一致;
l 提供性能和资源隔离以及拒绝服务攻击保护;
l 同时为多个VPS分配和控制资源等。
资源管理对OpenVZ来说比对独立服务器更为重要,因为基于OpenVZ的系统的计算资源的利用率比独立服务器更高。
为了让您更准确的了解OpenVZ软件在您服务器上的运行情况,本节会对OpenVZ做更进一步的介绍。
假设您在网络内拥有多台相互连接的物理服务器。实际上,因为网络的实际需要,您可能只有单台独立服务器有效地使用OpenVZ。如果您拥有多个基于OpenVZ的物理服务器,每个服务器将拥有相似的架构。在OpenVZ术语中,这些服务器被称为硬件节点(Hardware Nodes (或HN,或仅仅节点), 因为他们代表了网络内的硬件单元。
OpenVZ以特定的方式安装在 FC3或FC4或Red Hat Enterprise 4。这种定制配置应该包括特定的 VZ分区,这是虚拟专用服务器所必需的分区,而且必须比根分区要大。这些配置问题可以在硬件节点安装Linux时尽早解决。详细的说明请参考《OpenVZ用户指南》。
OpenVZ安装允许您在启动时选择启动带有或不带有OpenVZ的Linux系统。这将在计算机启动项中增加OpenVZ这一选项,参考上图的OpenVZ Layer。
虚拟专用服务器(VPS)在功能上与独立的服务器完全一致,拥有自己的IP地址,进程,文件,用户,其自身配置文件,自身应用程序、系统库等。虚拟专用服务器(VPS)一起共享同一硬件节点和操作系统内核,但他们各自是完全隔离。对于进程和用户来说,虚拟专用服务器类似于“沙箱”。
不同的虚拟专用服务器可以运行不同的Linux发行版本(如SuSE 9.2或Fedora Core 4以及更多)。每个VPS可以运行自己版本的Linux系统。 在这里VPS是基于某一种操作系统模板。操作系统模板随OpenVZ包一起发行。在您创建虚拟专用服务器之前,您应该在OpenVZ中安装相关的操作系统模板。如上图所示的OpenVZ Templates。
在至少安装了一个操作系统模板后,标准OpenVZ程序的将协助您创建任何数目的VPS,在进行网络及其它设置配置之后,这些VPS使用起来和全功能的Linux服务器完全一样。
模板是VPS的构建基石。操作系统模板是创建VPS所需的包文件。模板通常基于硬件节点创建;您所需要的只是模板工具(vzpkg)和模板元数据。 模板元数据为创建操作系统模板提供了足够的数据,所需的包文件将从网络存储空间下载到硬件节点并安装在临时的VPS中。
您可以执行VPS内部的所有任务,包括创建和安装应用程序rpm包,但OpenVZ提供了一种更高效的应用程序安装方式。和您在OpenVZ中使用操作系统模板一样,您可以创建应用程序模板,然后就可以将这些应用程序添加到任何虚拟专用服务器中(VPS)。如果您只需要在单个VPS上安装应用程序,那您就没有必要创建应用程序模板,只需要关注相关的VPS即可。
OpenVZ软件包括OpenVZ内核和用户级工具,通过两种不同的开源许可证方式进行授权:
l OpenVZ内核基于Linux内核,基于GPL协议发行,授权基于 GNU的GPL许可协议第二版。许可文本可以在这里找到:http://openvz.org/documentation/licenses/gnu-gpl .
l 用户级工具(vzctl, vzquota, 和vzpkg) 授权基于 QPL 许可协议。许可文本可以在这里找到:http://openvz.org/documentation/licenses/qpl .
OpenVZ允许您灵活配置不同的OpenVZ通用系统设置,同样也允许您配置单个虚拟专用服务器设置。这些设置包括:磁盘、用户使用配额,网络参数,默认文件存储位置以及配置样本文件等。OpenVZ使用两种类型的文件来存储配置信息:通用配置文件和VPS配置文件。OpenVZ和VPS在启动的时候会读取配置文件。不管是否修改相关配置文件, OpenVZ都允许您使用标准应用程序(例如vzctl)修改很多配置并立即生效。
硬件节点有效性比典型的PC服务器的有效性更加重要。由于运行多虚拟专用服务器并提供一系列的关键服务,所以硬件节点的故障将会导致非常惨重的损失。硬件节点故障所造成的损失和数台运行关键应用的服务器同时出故障没什么差别。
为了增加硬件节点的有效性,我们建议您遵循以下建议:
l 对关键的VPS用户区域使用RAID存储。尽量选择硬件RAID,但是软件镜像RAID也可以作为考虑的对象。
l 不要在硬件节点运行软件。为BIND, FTPD,HTTPD等必需的服务创建专用的虚拟专用服务器。在硬件节点,您只需要SSH daemon。最好只接受特定的IP地址组的访问连接。
l 不要在硬件节点创建用户。您可以在虚拟专用服务器中创建尽可能多的用户,如果损害硬件节点意味着会损害所有虚拟专用服务器。
了解更多信息,请访问OpenVZ官方网站:http://openvz.org