VPS与云主机区别

上一篇博里谈到了VPS,这里顺便扯一下VPS与云的区别。很多商家(尤其是国内),都把VPS当云主机卖,其实两者还是显著不同。我们常见的VPS按虚拟化类型分有Xen、KVM、OpenVZ等,它们用到了这些虚拟化技术,在一台配置较高的母机上,虚拟出很多小型的私有服务器。这些服务器与母机共享磁盘、网络、CPU、内存。如果母机挂掉,这些VPS都挂了,所谓一损俱损。

云主机也用到了虚拟化技术,但上面说的主机虚拟化只是其中一部分。一般云计算平台虚拟化包括三方面:

  • 主机虚拟化
  • 网络虚拟化
  • 存储虚拟化

有一个统一的框架,通过API和消息中间件方式,将上述虚拟化模块组织起来,成为一个可管理的整体,这就是Openstack。

在Openstack里,虚拟网络是非常关键的组件,当前的组件名叫Neutron,关于Neutron网络我写过一篇博客介绍。VPS通常与物理服务器共享同一网络,包括地址空间和寻址方式。但虚拟网络完全是另外一回事,它又称为SDN(软件定义网络),它的地址空间、路由交换方式、访问控制、安全规则,都是由软件定义,是在物理网络之上虚拟出的网络抽象层。虚拟网络的最大好处是高度灵活,比如升级网络规模、调整网络配置,都可以通过软件操作,瞬间完成。而VPS网络的配置,基本跟传统物理网络的配置方式一致,不够灵活。

除了虚拟网络外,虚拟存储也是云主机不可或缺的组成部分。虚拟存储又称为云存储,可简单分为几类,见我之前的博客描述。VPS在存储上,一般就用的本地存储(包括NFS挂载的网络存储)。但云主机用到的存储,多数是分布式块存储。在Openstack里,抽象块存储组件名叫Cinder,它后面可支持多种块存储引擎,如Ceph。分布式块存储一方面保证了数据安全,比如宿主机挂掉,块存储数据不会丢失,可以轻易在其他宿主机上恢复。另外一方面,它增强了云主机的特性,比如scalability,live migration等。也就是说,基于分布式存储服务,云主机能快速的进行故障转移、性能升级、动态迁移。这些特点是VPS不足以具备的。

经过上述分析,是不是就认为云主机必须优于VPS呢?这也不一定。就我个人而言,小的业务反而更倾向于使用VPS。因为云主机在带来足够灵活性的同时,也有一些缺点,例如:

  • 管理复杂
  • 虚拟网络使用复杂
  • 分布式块存储性能不高

所以,除非是大规模的业务集群,对灵活性、扩展性、灾备能力、可管理性有足够高的要求,那么使用VPS也没什么问题。

此条目发表在Common分类目录,贴了, 标签。将固定链接加入收藏夹。

VPS与云主机区别》有一条回应

  1. jordie说:

    精彩,进一步认识了什么是openstack

评论已关闭。