独立服务器，VPS与虚拟空间的扫盲科普
这篇文章将会从各个角度给大家科普独立服务器，虚拟主机，VPS的相关知识。从选择的角度与需要注意的问题还有基本的些介绍说起。首先，我们先从VPS开始说起。VPS是什么？VPS，全称Virtual Private Server。中文名叫虚拟专用服务器，VPS是一种涵盖所有结构将一台物理服务器分割成多个虚拟专用服务器的技术总称，然而为了方便我们很多时候都把VPS当成一个单位。VPS实际上我们可以基本认为是能提供完整服务的服务器，与我们常说的虚拟机为同种东西，只不过VPS是在服务器领域的称呼。当然我也不想说什么深入的虚拟化技术，毕竟这是一篇新手教程。但我们可以确定的一点是，现在的网站和应用很多都是运行在VPS上。VPS的好处有什么呢？首先就是成本。由于VPS技术的成熟，让我们搭建网站与应用的成本大幅度降低。毕竟不是人人都有那个需要去租用独立服务器的。所有的云计算IDC商家提供的各种各样名称的服务器也都是基于VPS技术，例如什么阿里云的ECS腾讯云的CVM总之有着各种各样的名称。当然VPS架构也有着不同的分别，像是Xen,KVM,VMCloud等等这些都属于常见虚拟化架构，这里不得不提的是可能我们经常见到的一种叫做OpenVZ架构的VPS。OpenVZ准确来说其实是一种容器技术而不是标准意义上的虚拟化，然而与其他容器技术不一样的地方是OpenVZ在网络管理方面又显得较为细致。具体几种架构的介绍将在下面逐一介绍。然而我们在购买VPS的时候，不得不清楚的一点就是，几乎所有的IDC都存在超售的现象。什么是超售？顾名思义就是IDC出售超过物理资源总量的VPS资源。这也就导致了不同VPS在使用体验上也有较大的差异，尤其是在一些中小型IDC中，VPS超售现象极其严重，导致物理服务器严重超负荷，轻则只是VPS的性能大受影响导致性能低下，重则物理服务器宕机，无法提供任何服务。下面我将会介绍一些常见的VPS架构。1. OpenVZ首当其冲的要介绍的就是OpenVZ，因为他实在是太常见了。但从技术角度上来说，OpenVZ并不是真正意义上的虚拟化技术，OpenVZ实际上是一种容器技术。由于在网络管理方面提供了比其他容器技术更高的定制性所以我们经常能把他当成一个VPS技术。OpenVZ这种技术有什么特点？先从技术角度来说的话，OpenVZ最显著的特点就是他只能跑Linux，且无法更改Linux的Kernel。因为系统底层都是追随母机的Kernel，所以无法进行一些深度的修改。OpenVZ常见的应用就是拿来跑各种各样的程序与应用。当然这是技术角度的差别，对于一般人来说OpenVZ有什么很显著的特点？当然有，我们一般人对OpenVZ的印象就是：低价，资源给的多，不能装Windows不能装锐速。为什么大多数IDC出售的OpenVZ都是资源给的多价格又很低的呢？其实买了OpenVZ结构的VPS我们基本可以忽略那些所谓的参数，因为想调多少就能调多少，照成这种现象最根本的原因还是OpenVZ的超售难度非常低。很多IDC使用OpenVZ架构经常超售个200%，如此丧心病狂的超法我们也无可奈何，毕竟他们要赚钱。但更有些丧心病狂的缺德IDC大幅度超售内存CPU带宽资源也就算了，甚至连硬盘空间也大幅度超售，这是非常危险的做法，毕竟性能不行还可以用，空间超售了那数据可是无价的。虽然各个IDC的做法给我们照成了一个OpenVZ很差的印象，然而我这里需要给大家纠正一点，OpenVZ并不烂。真正不超售的OpenVZ性能其实是所有虚拟化技术中最好的。虽然他自己并不是个虚拟化技术。2. KVMKVM是现在真正意义上最普及的虚拟化技术。几乎80%的IDC都使用了此结构。KVM的全称是Kernel-based Virtual Machine，意思就是基于内核的虚拟机。当然作为当今使用最广泛的虚拟化技术，KVM的优点也是非常的明显。KVM相比其他虚拟化技术（不包括OpenVZ），KVM拥有着更好的性能。KVM对于我们一般用户的特点也是很明显：价格适中，资源都中规中矩。能装Windows能装锐速。虽然这是一个很普及的技术然而我并不想太多介绍它，因为KVM现在已经成了VPS的标准，没什么好介绍的了。当然，使用了KVM技术的母服务器有一点可以肯定的就是母机使用的肯定是Linux系统。KVM其实也是一种统称，具体的KVM还有分很多种，不过在使用上并没有什么太大区别。例如OpenStack KVM。最后不得不说，KVM也是完全可以超售的。不管是硬盘还是CPU亦或者是带宽，KVM超售已经是轻车熟路。然而KVM在内存方面并不能像OpenVZ一样超的那么夸张，如果一个IDC允许装Windows的情况下，KVM的内存超售幅度差不多在25%~30%左右。总体来说KVM是无法像OpenVZ那样夸张的超售，但也并不是像外界所说的那样KVM不能超售。3. XenXen有两种虚拟化方式，Xen PV与Xen HVM。Xen技术历史悠久最早版本可以追溯到2003年，曾经Xen占据着VPS市场的半壁江山，然而在KVM技术成熟了之后逐渐被KVM淘汰。不过我们现在还是能见到很多国人IDC商家使用这种架构来出售VPS。那么Xen结构又是什么？Xen PV（Xen Paravirtualization）：Xen PV是一种半虚拟化方案，Xen的半虚拟化有点类似于OpenVZ。什么是半虚拟化，如果把整个母机系统比喻成一件房子，那我们可以抽象的想象一下半虚拟化的意思就是水电都接在一个计量表上共用资源，相反如果水电都有分离计量的话就类似是全虚拟化。半虚拟化的Xen基本无法更改Kernel且只支持Linux，性能与OpenVZ整体类似。只是能超售的幅度并不如OpenVZ那样那么夸张。Xen HVM （Xen Full Virtualization）：Xen HVM是一种真正意义上的完整虚拟化的虚拟机。当然，这种Xen我们一般能很轻松的分辨出来，因为它能装Windows等其他系统。Xen HVM的性能非常的中规中矩，如果与KVM进行对比的话性能确实是不如KVM。然而Xen HVM在超售方面并不像KVM那样有那么高的可调节自由度，起码内存是超不了多少的，毕竟不像KVM那样有智能内存调度机制。但Xen HVM依旧是可以超售的，内存超不了我们可以超CPU超硬盘超带宽啊！4. VMware Cloud简称VM Cloud。然而我们一看名字就知道这是哪家公司的产品。没错就是大名鼎鼎的VMware。由于VMCloud是商业产品商业授权，授权费高昂我们很少能见到有哪家IDC使用这种架构。这种结构我并不想多说因为我个人接触的非常少，且实际使用性能上并不如其他的虚拟化架构。最后要说的依旧是，超售。没错，在现在这时代，不能超售的虚拟化技术都已经被淘汰了。具体例子我们可以看看使用VMCloud的IDC，CAC。综上所述，我们可以把几种VPS的性能都排列对比一下，如果都在不超售的情况下且使用的是Linux系统，那么性能排列大致如下：OpenVZ ≈ Xen PV > KVM > Xen HVM ≈ VM Cloud 如果在使用Windows的情况下，那性能排行大致如下KVM > Xen HVM > VM Cloud 当然上面都是在没超售的理论情况下，实际上我们能买到的VPS都有超售的情况。那么实际使用情况下的排行大致如下：KVM > Xen PV > Xen HVM > VM Cloud > OpenVZ 独立服务器 Dedicated Server独立服务器，一般我们常见的英文写法是Dedicated Server。独立服务器顾名思义就是资源完全独立的物理服务器。所有的独立服务器的硬件资源都是独享的，并不会像我们使用VPS那样如果长时间高占用CPU或者内存或者硬盘IO资源就很有可能被IDC停机封号的情况。独立服务器我们常见的有塔式服务器，1U、2U、4U、6U的机架式服务器，还有各式各样的刀片类服务器。那么我们又要回到一个问题上，独服能超售吗？我的回答依旧是，可以。独服的超售一般都集中在机房网络带宽上，比如一个机房的总接入带宽是1Gbps，然而他卖出了500台1Gbps带宽的独服，这样就是一种常见的独服超售方式。所以我们几乎都能看到很多的IDC商家在独服上依旧有滥用限制条款，例如长时间占用超过100M就会被拔线等等。几乎所有的IDC都是这样，当然也是有财大气粗自身就是ISP带宽资源多的随便用根本不管的独服商家，例如两家法国的IDC，OVH和Online.net。在介绍独服之前，我必须得先介绍一下现在从IDC商家使用独服的两种方式。独服租用顾名思义，租用就是IDC商家提供的机器，你只管付钱就好了，其他的东西并不用管。假设独服的硬件出现故障损坏，也是商家自行负责维护处理。一般我们个人使用独服的情况都是选择租用独服的方式，毕竟这种方式比较省心。但大部分独服的租用费用都相对而言比较高昂。托管 Collection服务器托管，是把机器托给机房管理的意思。从字面上我们可以看出，服务器托管需要我们自己准备服务器硬件，且一般机房都不会为你的硬件损坏而负责，假设服务器硬件损坏，一般需要自己邮寄配件给机房，机房能帮你更换。一般国内的机房托管费用大多都是按月计算一次性收费，不像国外的机房基本都有托管费+线路带宽费+电费这三部分费用。不过就算是国外的机房收费复杂，大多数情况下都还是比国内的机房便宜的。一般使用到托管的人也都清楚这些规则，所以我也不多介绍了。那么独服的种类又有什么区别？下面我将会简单介绍一下各种独服的区别。1. 塔式服务器塔式服务器是一种标准机箱的服务器，常用于企业与公司中。由于体积过大，在IDC行业中并不常见。毕竟太占位置了。塔式服务器的扩展性相对其他类型的服务器好，因为他并不受空间的限制。虽然塔式服务器优点很多，然而体积问题导致没有一个机房会提供塔式服务器的托管，所以一般塔式服务器都是放在公司内部使用。2. 机架式服务器对于一个IDC来说，机房的容量就是生命线。机架式服务器专为机房而生，因为他占的位置真的很小。一般一个机柜有48U的空间，48U是什么概念？意思就是能放下48台1U的机架式服务器！一般一个数据中心都有几十个机柜到几百个机柜不等，是的，空间就是金钱。机架式服务器是我们最经常见到的服务器，由于需求的不同，机架式服务器有多种规格例如1U2U4U6U。自然越高的U数就表明他的体积够大。不过我们刚刚说的对于IDC行业来说，空间就是金钱。那还有没有压榨的余地？有的，在这种需求下孕育而生双子星1U服务器，四子星2U服务器等类似刀片服务器结构的服务器。外观规格大小与1U2U服务器一致，但双子星服务器能用1U的空间塞进两台独服！不过自然带来的代价也是有的，首先双子星1U服务器基本上单台服务器只有两个硬盘位，并且共用一个电源，甚至有的还共用一个网络模块。对于独立服务器来说，电源是至关重要的，电源故障导致的停机也是时有发生。不少服务器为了保障电源方面的稳定性都使用了双电源和自动切换开关来保障供电的安全性。共用网络模块的概念我们基本可以认为跟VPS差不多，只不过VPS是虚拟的交换机网关在进行分发，而这种公用网络模块是一种内部交换机。当然这种独服自然也能轻松的把成本降下去，只能说是仁者见仁智者见智。3. 刀片服务器所谓刀片服务器(准确的说应叫做刀片式服务器 blade server)是指在标准高度的机架式机箱内可插装多个卡式的服务器单元，实现高可用和高密度。是一种HAHD(High Availability High Density，高可用高密度)的低成本服务器平台，是专门为特殊应用行业和高密度计算机环境设计的，其主要结构为一大型主体机箱，内部可插上许多“刀片”，其中每一块"刀片"实际上就是一块系统主板。实际上刀片服务器很像是VPS的理念，只不过刀片式服务器几乎大部分硬件资源都是独立的。虽然刀片服务器确实很高效的利用了空间，但真正的刀片服务器成本其实价格根本不低，且一个数据中心如果要部署刀片服务器前期成本其实还是非常高的。刀片服务器一般一个母机上所有的刀片都共用一个电源和一个网络模块，所以自然也有了邻居这个说法。假设其中有个邻居大量占用网络资源，也是会导致其他刀片的网络访问受到影响的。由于真正的刀片服务器成本高昂，有些IDC也专门定制类刀片的服务器例如戴尔C6100或者我们常见的各种使用AtomCPU的服务器，这种定制类型的服务器成本就远远低于真正的刀片服务器了。当然，这里我最后说一下挑选独立服务器的一些要点。首先我们选择独服第一个要看的就是机房稳定与否，独服的稳定性与品质很大程度决定于机房的实力如何，所以我们挑选独服的时候能选择大IDC大机房的产品就尽量选择，万一独服的硬件出现故障，大IDC能快速的维护修复，这一点是至关重要的。而且大IDC大机房在大多数情况下不会出现带宽超售的情况，而且跑路的风险也远比小机房低，毕竟数据最重要。如果没有特殊需求，选购独服还是尽量选择大IDC大机房的产品，不怕一万只怕万一，出点问题也好解决。虚拟主机最后我要稍微说一下虚拟主机。虚拟主机（Virtual Host或Shared Web Hosting），又称虚拟空间，主机空间，网站空间等等，这里统称虚拟主机。虚拟主机是一种网络技术，能让多个主机名称在一台服务器中运行，而且可以分开运行多个网站。虚拟主机一般主要用于HTTP，FTP,EMail这类网站服务，将一台服务器（这里也可以是虚拟服务器VPS）的资源服务内容逻辑划分为多个服务单元，与VPS不同的一点是，所有虚拟主机是基于应用层的划分，例如使用nginx或者Apache设置多个主机文件建立多个网站，这类技术就属于虚拟主机技术。虚拟主机我们一般常见的有PHP空间，ASP空间，全能空间。顾名思义就是不同平台的空间。全能空间现在比较少见，但全能空间能支持PHP与ASP同时使用（但并不能混合代码为一个程序。），由于ASP的特性，全能空间与ASP空间基本上只能运行在windows服务器上。一般虚拟主机的价格是非常便宜的，而且我们也不需要花费太大的心思去过多的管理。一般商家出售的虚拟主机性能基本都不高，但如果手头上有些什么没什么人访问的企业站或者是什么博客之类的，这种就非常适合直接丢在虚拟主机上。由于虚拟主机我个人觉得是没什么可说的了，然而我们在选择虚拟主机的时候，我们还是要注意，选择大商家的产品。毕竟数据无价。总而言之，在我们选择产品的时候一定要考虑好需求，不要盲目选择。尽量选择大公司的产品，因为不管是VPS还是独服还是虚拟空间，在选择产品的同时我们也选择了服务。大公司的服务肯定是很多小公司无法比拟的，稳定自然就是优先考虑的事项。最后祝大家能选到自己心仪的产品。