首页 > 系统 > 关键词  > linux服务器最新资讯  > 正文

部署Linux下OpenVZ虚拟化服务器

2008-09-26 11:36 · 稿源:互联网

目前虚拟化技术主要关注于服务器虚拟化,即在一个宿主计算机上提供多个独立操作系统。本文将探索虚拟化背后的思想,然后讨论实现虚拟化的一些技术。我们还将了解现有的其他一些虚拟化技术,例如Linux上操作系统的虚拟化。

从商业角度来看,使用虚拟化技术有很多原因。大部分原因都可以归结于服务器的巩固(serverconsolidation)。简单来说,如果您可以对一个服务器上多个未经充分利用的系统进行虚拟化,由于服务器的数量少了,显然可以节省大量电力、空间、制冷和管理成本。由于很难确定服务器的利用情况,虚拟化技术支持称为动态迁移的技术。动态迁移(Livemigration)允许操作系统及其应用程序迁移到新的服务器上,从而实现负载在可用硬件上的均衡。

一、Linux下虚拟机的重要性和主要用途:

支持使用旧版本操作系统的应用程序。例如某个应用程序只能使用在2.4内核的Linux系统(RedhatLinux6.2)中,你可以在宿主操作系统为Linux2.6(RedhatLinux9.0)的物理计算机中安装虚拟机软件,然后在虚拟机中安装2.4内核的Linux系统(RedhatLinux6.2),从而运行此应用程序。

培训。如果你是一个培训人员,你可以使用虚拟机来构建你的培训场景,这样,通过一台计算机,你就可以模拟多个培训场景。

测试服务器应用程序。当企业需要部署某个服务器应用程序时,你可以在虚拟机中对它进行测试;虚拟机可以完美的虚拟多个(种)真实的服务器环境,从而让你很轻松的完成部署测试;虚拟机不仅仅在于它可以方便简洁的模拟出一个虚拟的机器环境以供工作使用,而且在于在对OS有部分有影响的操作如网络攻击、破坏性实验等,如果采用虚拟机将非常非常安全,因为虚拟环境的影响仅仅是对一个数据文件的影响,不会真正对host主机硬件设备软件程序产生其他问题。生产系统上面的系统调整在没有经过测试数据的证明,贸然的直接上线将暗含巨大的风险,如果软件开发或者系统管理人员使用虚拟机将非常适合进行此类的测试和研究。

提高服务器利用率。许多企业中不同部门或者不同的分公司具有不同的操作系统或应用程序需求,因此具有不同的服务器,但是这些服务器的利用率往往不高。通过虚拟机,你可以将这些不同的服务器需求通过虚拟机来实现,从而将它们整合到一台物理服务器中,提高服务器的利用率。而对于具有这些服务器需求的用户来说,他们不会感觉到在虚拟机上运行的服务器和物理计算机上运行的服务器具有多大的区别。

应用程序移植。许多企业中具有要求使用不同版本服务器操作系统的服务器应用程序,你可以在Linux上运行虚拟机,然后在虚拟机中安装Solaris来运行此应用程序,从而完成应用程序的移植。

网络测试。不管是Linux还是Windows建立的虚拟机,都可以实现仅有宿主计算机的网络,也就是宿主计算机与虚拟机之间的局域网。因此,进行网络方面的实验无需像物理联网那样到处连接网线和调试计算机。联网不仅仅局限在宿主计算机和虚拟机之间,也可以在多个虚拟机之间。例如,只要在Windows或Linux系统上建立了FreeBSD和WindowsXP客户操作系统,就可以观测在FreeBSD下运行的WebServer如何伺服在WindowsXP下的InternetExplorer网页访问的全过程。

二、什么是OpenVZ

OpenVZ是开源软件,是基于Linux平台的操作系统级服务器虚拟化解决方案。OpenVZ采用SWsoft的Virutozzo.虚拟化服务器软件产品的内核,Virutozzo是SWsoft公司提供的商业虚拟化解决方案。OpenVZ在单个物理服务器上创建隔离、安全的虚拟专用服务器(VPS或虚拟环境,VE),从而提高服务器利用率并确保应用程序之间不会相互干扰。每个VPS的运行都和独立的服务器完全一致:VPS可以独立重起,具有根访问权限,用户、IP地址、内存、处理器、文件、应用程序、系统库和配置文件等。OpenVZ软件同时为用户提供工具,协助自动化管理虚拟服务器。基于模板的应用程序部署可以在几分钟内用简单的方法创建新的虚拟服务器并投入使用,而且与其他的虚拟化技术相比,OpenVZ可以在每CPU上运行几倍于其他虚拟化服务器技术的虚拟化服务器。OpenVZ则支持X86,AMD64,Itanium(IA64),PowerPC,UltraSPARC等CPU。

技术特点:

OpenVZ将单个Linux操作系统实例分割成成百上千个独立的虚拟环境。虚拟环境中可安装和运行各种应用程序,使用起来和物理服务器完全一致。通过共享软硬件资源,不仅充分利用服务器资源,降低了总体TCO;而且实现了瞬间部署服务器、动态资源分配回收、服务器集群管理、用户自助重启、“零宕机”迁移、快速备份恢复等管理特性。现在VPS主机已经成为和虚拟主机、独立主机三足鼎立的主机服务主流形式。

•VPS具备与独立服务器一样的功能
•共享硬件、许可证和管理资源
•完全隔离,防DoS攻击
•几秒钟完成虚拟服务器的部署
•服务器间零宕机迁移
•命令行管理工具

三、OpenVZVPS基本功能和应用程序

动态实时分区–将物理服务器分成数十个VPS,每个都具有独立服务器的功能。
资源管理–分配和控制VPS资源参数并实时进行资源的重新分配。
集中管理–通过统一的方式管理多台物理和虚拟专用服务器。

1.OpenVZ应用程序

OpenVZ为Linux主机服务提供以下服务:

在单台物理服务器上拥有数以百计客户,每个客户拥有独立的全功能虚拟专用服务器;
为每个客户提供服务质量(Qos)保障;
无需手工配置,可以透明地将客户及其使用环境在不同服务器之间迁移。

如果您在企业中管理大量的Linux独立服务器,每个服务器运行特定的应用服务,您可以使用OpenVZ来讲这些服务合并与同一台计算机,不会损失任何有价值的信息也不会损害任何性能。虚拟专用服务器运行和独立服务器完全一样:

每一个VPS拥有其独立的过程、用户、文件并提供完全ROOT访问权限;
每一个VPS可以拥有独立IP地址、端口号码、表单、以及过滤和路由规则;
每个VPS可以拥有其自己的系统配置文件并能够装载应用程序,同时拥有自己的系统库。在VPS内可以独立的安装和定制软件包,不受其它VPS或底层硬件节点系统影响。

多种不同的Linux发行包可以运行在同一个Linux服务器上。OpenVZ可以快速部署到大部分情景:网络主机托管、企业服务器合并、软件研发/测试,用户培训等。

#p#分页标题#e#

四、OpenVZ的技术特性

OpenVZ的虚拟专用服务器的概念有别于传统的虚拟机概念,因为VPS一直运行在和底层硬件节点相同的操作系统内核上(LinuxVPS运行在Linux平台,WindowsVPS在Windows平台)。这种单内核实现技术允许VPS运行时几乎零处理损耗。因此,OpenVZ的VPS提供了比传统的虚拟化技术高出一个量级的效率和易管理性。

1.操作系统虚拟化

从应用程序和VPS用户的角度来看,每个VPS是完全独立的系统。这种独立性由位于系统内核之上的虚拟化层来提供。注意仅有极小的CPU资源消耗在虚拟化过程中(大约
1-2%)。以下是OpenVZ虚拟化层实现的主要特性:

VPS看起来像一套普通的Linux系统。它具有标准的启动脚本、软件厂商提供的科可以
运行在VPS内部的软件而无需为OpenVZ做特别的修改或调整;
用户可以修改任何配置文件和安装其他软件;
VPS相互之间完全隔离(包括文件系统,进程,内部进程通讯(IPC),sysct1变量);VPS不会绑定在一个CPU上,可以使用所有的CPU资源。属于某个VPS的进程可以运行在所有可获得的CPU之上。

2.网络虚拟化

OpenVZ网络虚拟化层设计目的是从VPS相互之间或从物理网络进行隔离:
每个VPS拥有自己的IP地址;每个VPS还允许有多个IP地址;
VPS网络流量与其它VPS进行隔离。换句话说,VPS完全和其它VPS隔离,确保网络监听对VPS不起任何作用;
防火墙可以使用在VPS内部(用户可以创建规则限制某些服务访问使用规则的IP地址表工具);
路由表操作允许从高级的路由特性收益。例如,为不同的目的地设置最大传输单元(MTU),对不同的目的地明确不同的源地址等等。

3.资源管理

OpenVZ资源管理用于控制VPS所能获得的资源。

资源管理对OpenVZ来说比对独立服务器更为重要,因为基于OpenVZ的系统的计算资源的利用率比独立服务器更高。控制的资源包括以下参数:CPU、磁盘空间、一套内存相关参数等。资源管理允许OpenVZ:在VPS中更有效的共享可用的硬件节点资源:
确保QoS与服务水平协议一致;
提供性能和资源隔离以及拒绝服务攻击保护;
同时为多个VPS分配和控制资源等。

五、OpenVZ虚拟化服务器主要原理

1.OpenVZ操作主要原理如下图:


图1:OpenVZ技术主要原理图

图-1假设您在网络内拥有多台相互连接的物理服务器。实际上,因为网络的实际需要,您可能只有单台独立服务器有效地使用OpenVZ。如果您拥有多个基于OpenVZ的物理服务器,每个服务器将拥有相似的架构。这些服务器被称为硬件节点(HardwareNodes(或HN,或仅仅节点),因为他们代表了网络内的硬件单元。OpenVZ以特定的方式安装在FC3或FC4或RedHatEnterprise4。这种定制配置应该包括特定的VZ分区,这是虚拟专用服务器所必需的分区,而且必须比根分区要大。OpenVZ安装允许您在启动时选择启动带有或不带有OpenVZ的Linux系统。这将在计算机启动项中增加OpenVZ这一选项,虚拟专用服务器(VPS)在功能上与独立的服务器完全一致,拥有自己的IP地址,进程,文件,用户,其自身配置文件,自身应用程序、系统库等。

虚拟专用服务器(VPS)一起共享同一硬件节点和操作系统内核,但他们各自是完全隔离。对于进程和用户来说,虚拟专用服务器类似于“沙箱”。不同的虚拟专用服务器可以运行不同的Linux发行版本。每个VPS可以运行自己版本的Linux系统。在这里VPS是基于某一种操作系统模板。操作系统模板随OpenVZ包一起发行。在您创建虚拟专用服务器之前,您应该在OpenVZ中安装相关的操作系统模板。如上图所示的OpenVZTemplates。在至少安装了一个操作系统模板后,标准OpenVZ程序的将协助您创建任何数目的VPS,在进行网络及其它设置配置之后,这些VPS使用起来和全功能的Linux服务器完全一样。

OpenVZ是基于操作系统级的虚拟化的,它使用的技术与前面所介绍的有所不同。这种技术在操作系统本身之上实现服务器的虚拟化。这种方法支持单个操作系统,并可以将独立的服务器相互简单地隔离开来。操作系统级的虚拟化要求对操作系统的内核进行一些修改,但是其优点是可以获得原始性能。

模版是VPS的构建基石。操作系统模版是创建VPS所需的包文件。模板通常基于硬件节点创建;您所需要的只是模板工具(vzpkg)和模板元数据。模板元数据为创建操作系统模板提供了足够的数据,所需的包文件将从网络存储空间下载到硬件节点并安装在临时的VPS中。您可以执行VPS内部的所有任务,包括创建和安装应用程序rpm包,但OpenVZ提供了一种更高效的应用程序安装方式。和您在OpenVZ中使用操作系统模板一样,您可以创建应用程序模板,然后就可以将这些应用程序添加到任何虚拟专用服务器中(VPS)。如果您只需要在单个VPS上安装应用程序,那您就没有必要创建应用程序模板,只需要关注相关的VPS即可。

#p#分页标题#e#

2.OpenVZ配置

OpenVZ允许您灵活配置不同的OpenVZ通用系统设置,同样也允许您配置单个虚拟专用服务器设置。这些设置包括:磁盘、用户使用配额,网络参数,默认文件存储位置以及配置样本文件等。OpenVZ使用两种类型的文件来存储配置信息:通用配置文件和VPS配置文件。OpenVZ和VPS在启动的时候会读取配置文件。不管是否修改相关配置文件,OpenVZ都允许您使用标准应用程序(例如vzctl)修改很多配置并立即生效。

3.硬件节点有效性考虑

硬件节点有效性比典型的PC服务器的有效性更加重要。由于运行多虚拟专用服务器并提供一系列的关键服务,所以硬件节点的故障将会导致非常惨重的损失。硬件节点故障所造成的损失和数台运行关键应用的服务器同时出故障没什么差别。为了增加硬件节点的有效性,我们建议您遵循以下建议:

对关键的VPS用户区域使用RAID存储。尽量选择硬件RAID。
不要在硬件节点运行软件。为BIND,FTPD,HTTPD等必需的服务创建专用的虚拟专用服务器。在硬件节点,您只需要SSH守护进程。最好只接受特定的IP地址组的访问连接。
不要在硬件节点创建用户。您可以在虚拟专用服务器中创建尽可能多的用户,如果损害硬件节点意味着会损害所有虚拟专用服务器。

六、在Linux下配置OPENVZ实例

推荐使用FedoraCore4/5/3或者RHEL/CentOS4。

1.下载安装文件

根据您的内核版本在这里:https://openvz.org/download/kernel/下载。
#rpm-ihvvzkernel-name*.rpm

2.修改grub.conf文件

titleOpenVZ(2.6.8-022stab029.1)root(hd0,0)kernel/vmlinuz-2.6.8-022stab029.1roroot=/dev/sda5initrd/initrd-2.6.8-022stab029.1.img

3.修改、etc/sysyctl.conf文件:

/etc/sysctl.conf:#OnHardwareNodewegenerallyneed#packetforwardingenabledandproxyarpdisablednet.ipv4.ip_forward=1net.ipv4.conf.default.proxy_arp=0#Enablessourcerouteverificationnet.ipv4.conf.all.rp_filter=1#Enablesthemagic-sysrqkeykernel.sysrq=1#net.ipv4.tcp_ecn=0#wedonotwantallourinterfacestosendredirectsnet.ipv4.conf.default.send_redirects=1

4.如果你运行了iptables防火墙和SELinux,先关闭和禁止。

编辑/etc/sysconfig/selinux:
SELINUX=disabled。
另外还要关闭iptables防火墙。

5.安装OpenVZ管理软件

根据您的版本在这里:https://openvz.org/download/utils/下载。
#rpm–Uhvvzctl*.rpmvzquota*.rpmvzpkg*.rpm

6.重新启动VZ

#/etc/init.d/vzstart

7.安装模板

#rpm–ihvvztmpl-fedora-core-3-1.0-2.noarch.rpm#vzpkgcacheCreatingcacheforfedora-core-3OStemplateSettingupinstallprocessPackingcachefilefedora-core-3.tar.gz...Cachefilefedora-core-3.tar.gz[130M]created.

8.为虚拟服务器创建一个非零ID

#vzctlcreate101CreatingVPSprivatearea:/vz/private/101VPSismountedPostcreateactiondoneVPSisunmountedVPSprivateareawascreated

9.设置为零参数

#vzctlset101--hostnametest101.my.org--saveHostnameforVPSset:test101.my.orgSavedparametersforVPS101#vzctlset101--ipadd10.0.186.1--saveAddingIPaddress(es):10.0.186.1SavedparametersforVPS101#vzctlset101--nameserver192.168.1.165--saveFileresolv.confwasmodifiedSavedparametersforVPS101

#p#分页标题#e#

10.设置root用户口令

#vzctlset101--userpasswdroot:test

11.启动SSH守护进程

#vzctlexec101servicesshdstart

12.启动VPS

#vzctlstart101StartingVPS...VPSismountedAddingIPaddress(es):10.0.186.101HostnameforVPS101set:test.my.orgVPSstartinprogress...

13.加载防火墙

前面关闭的防火墙,出于安全考虑这里还要加载

#vzctlset101--iptablesiptable_filter--iptablesipt_length--iptablesipt_limit--iptablesiptable_mangle--iptablesipt_REJECT--save

到此为止我们已经部署Linux下OpenVZ虚拟化服务器。另外还可以使用vzlist命令显示目前创建的VPS,该命令与标准Linuxps命令类似。

附录:Linux下虚拟技术对比


Linux下虚拟技术对比

上一页[1][2][3][4]

  • 相关推荐
  • 大家在看
  • 腾讯云服务器12.12限时秒杀-1核2G首年50元

    腾讯云服务器12.12多种机型限时抢购,1核2G服务器4.17元/月,2核4G服务器6.17元/月,专业技术7*24小时在线服务,腾讯云为企业和个人提供快捷,安全,稳定的云服务!

    广告
  • 阿里巴巴为Linux内核调度提出组平衡器(GB)概念

    随着越来越多的组织为了发展云计算等业务配置他们的服务器在应用程序之间共享CPU核心/资源,而不是专门分配CPU核心给单个应用程序/任务,中国公司阿里巴巴正在为Linux内核调度器提出一个新的"组平衡器"概念以提升系统资源利用表现。拟议中的的Linux组平衡器主要是在任务间共享资源时减少资源冲突。这个平衡器的重点是在各组CPU核心之间平衡各组任务。关于这个组平衡器(GB)的"征求意见"今天被发出,并被总结为:"我们需要的是一种

  • 距离Linux桌面元年越来越近了

    今年早些时候,TechRepublic 认为虽然 2021 年不是 Linux 桌面元年,但不可否认的是 Linux 在企业领域持续主导地位、而 Linux 在桌面上也缓慢(和微妙)增长...Sebastian 所做的实验似乎表明,虽然有些游戏使用 Proton(Valve 的 Windows 兼容层)确实运行良好,但也有同样多的游戏运行有问题...在他的视频中,Linus 提到阻碍“Linux 桌面元年”的主要问题是碎片化......

  • 微软重塑"DXGKRNL"驱动 欲将其纳入Linux内核中

    早在2020年,微软宣布DXGKRNL驱动为内核驱动组件,用于支持Windows Subsystem for Linux(WSL2)中的GPU加速用例。最初的DXGKRNL驱动很快就被上游内核开发者提出了各种问题,而现在,在过去的一年里,微软一直在重新制作这个内核驱动,并在周三发布了新版本。DXGKRNL是他们的"DirectX"内核驱动组件,用于Windows Subsystem for Linux(WSL2),支持Hyper-V环境下的图形加速和GPU计算。DXGKRNL也将用于他们即将推出的Android Window

  • 最“根正苗红”的手机Linux系统,最终还是倒下了

    因为Tizen虽然如今几乎已经没啥名气了,但无论从其技术特征、还是传承的“血统”来说,都完全可以称得上是有史以来最“根正苗红”的手机端Linux操作系统...使用Maemo的诺基亚N810,可能很多诺基亚手机的老用户也从未接触过...然后,还有Linux基金会在2007年开始推动,旨在探索Linux在手机端技术可能性的LinuxMobile系统......

  • Pine64发布PinePhone Pro手机 提供更优质的移动Linux体验

    除了几个明显的例外,如果你今天想买一部新的智能手机,你几乎只能使用谷歌或苹果的操作系统。Pine64新发布的PinePhone Pro探索版是一个非常不同的主张,它运行的是Linux而不是Android或iOS。新的旗舰机不是2019年推出的原始PinePhone的替代品,也不是第二代产品。Pine64更愿意把它看作是为要求更高的用户提供的高端手机。它将运行Manjaro发行版,但预计将与其他Linux发行版兼容,如PureOS、Ubuntu Touch、LuneOS、Sailfish OS等。

  • Linux 5.17修复弹出已损坏软盘时系统挂起的问题

    如果你是极少数仍然依赖软盘的人,并且在运行最新系统的同时这样做,那么Linux5.17很显然将引起你的兴趣。在现有的Linux系统下,如果试图读取一张损坏的软盘,失败的过程中弹出它,系统就会发生卡死的现象。而对于Linux5.17来说,这个到了2022年的现在已经极其小众的错误确实得到了解决。这个修复是针对一个早在2012年就出现在内核的软盘代码的问题。如果试图读取一张破损的软盘,并在系统尝试/重试I/O时弹出它,可能会发生卡死错误。上周,除了所有令人兴奋的现代I/O改进,如正在进行的优化工作和使IO_uring更有吸引力之外,还有其他一些

  • Linux 5.17将支持AMD智能追踪缓冲区功能

    作为 AMD APU / SoC 芯片的新特性之一,“智能追踪缓冲区”(简称 STB)可分析系统在遇到故障时调用的最后一项功能。通过在后台保持透明运行,AMD STB 得以帮助隔离系统故障,以便用户在后续借助 DebugFS 接口来读取分析。最新消息是,其已做好了为 Linux 5.17 提供支持的准备。截图(来自:Kernel.org)虽然补丁代码描述中没有明确提及 AMD STB 支持的硬件类型,但其它代码有指代它至少支持 Cezanne SoC 。Radeon 图形方面,AMD ?

  • 性能增超25%!AMD Zen4/Zen 4C处理现身Linux:最大128核

    日前有开源技术社区发现,对Zen 4和Zen 4C的支持已经在Linux中得以实现,其中Zen 4最高用于96核Genoa EPYC处理器,识别信息为AMD Family 19h Models 10h-1Fh;Zen 4C则将用于128核Bergamo EPYC处理器,识别信息为AMD Family 19h Models A0h-AFh...外界解读为这是Zen 4类似于Alder Lake也要上马大小核的信号,使得整个家族产品更具适配弹性......

  • 新的跨平台"SysJoker"后门同时影响macOS、Windows、Linux

    据报道,新的"SysJoker"后门可以攻击多个操作系统,包括macOS、Windows和Linux。来自Intezer的研究人员透露,他们发现了SysJoker,这个后门最初被发现是攻击Linux的。不久之后,同一后门的变种被发现,它们可以扩展出对Windows和macOS进行攻击。这一发现是不寻常的,因为发现可以同时攻击多个平台的恶意代码是很罕见的。通常情况下,恶意软件只为攻击一个平台的特定漏洞而生成,而不是以类似的方式同时为多个平台开发。根据研究人?

  • 2021年末Steam上的Linux玩家比例为1.11%

    Valve刚刚提供了2021年12月的Steam调查结果。这个指标的监测相当有趣,自SteamPlay(Proton)首次推出以来,特别是最近几个月,由于宣布了基于Linux驱动的SteamDeck,引起了更多关于Linux游戏的关注度,使得更多的人尝试了Steam Play。今年夏天,Linux上的Steam(重新)越过了1.0%的门槛,此前多年来比例一直在1.0%以下。11月,Linux上的Steam达到了1.16%,是该操作系统最近多年来的最高值。现在在12月,它下滑了0.05%,下降到1.11

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天