vps和云服务器的区别是什么
本文操作环境:Windows7系统,Dell G3电脑。
vps与云服务器的区别:
vps主机是独立服务器的一部分。使用VPS,意味着自己只拥有服务器的某一部分空间,以及分配给自己的一组资源,用户可以按照合适自己的方式自定义这些资源。
(学习视频分享:编程视频)
云主机则可以包含几乎无限数的计算机。所有这些物理服务器都位于不同的位置,但它们协同工作,共同构成“云”,从本质上讲,用户可以获得连接服务器和数据存储的整个基础设施。
性能区别
VPS具有固定的性能水平。因为与其他用户共享一台服务器,并且只分配了一定的数据和带宽,所以没有任何额外资源可支配或使用。此外,如果服务器自身出现故障,该计算机上的所有VPS也将停机。
云服务器具有无限的可扩展性。由于无数不同的计算机构成网络的一部分,几乎不可能遇到资源有限这种情况。同样,如果任何一台服务器(甚至整个服务器组)发生故障,另一个位置的计算机将接管此工作负载,直到问题得到解决。
安全不同
VPS比共享主机环境安全得多。每个VPS都在独立的环境中运行,与共享机器的所有其他VPS完全分离。这意味着,即便某个VPS感染了病毒,它也不会影响到其他VPS。但是,如果整个计算机受到感染,整个机组都会受到影响。
云服务器的工作方式与所有其他服务器是完全独立的。即便其中一个节点出现故障,也能自动切换至其他正常服务器节点。
可扩展性
VPS主机的可扩展性有限,这是由其物理主机决定的,物理计算机将会限制此类添加。如果网站需要的资源超过了服务分配的数量,网站所有者就需要升级到新帐户,或者切换到其他类型的服务器,这两者都有一定的停机时间。
云主机的可扩展性要高得多。因为每个云都有成百上千个不同的物理计算机组成,因此可以根据用户需要进行扩展。只需为任何给定时间段内使用的数据付费,这也使得成本更加灵活。
与任何托管决策一样,选择vps或云服务器实际上都取决于个人业务及其特定需求。那些发展迅速及需要处理大量流量的网站,即便只考虑可扩展性,也应该选择云服务器。
LVS 是 Linux Virtual Server :Linux 虚拟服务器;是一个虚拟的服务器集群多台机器 LB IP。
负载调度器(load balancer) :它是整个LVS 集群对外的前端机器,负责将client请求发送到一组服务器[多台LB IP]上执行,而client端认为是返回来一个同一个IP通常把这个IP 称为虚拟IP/VIP
服务器池(server pool) :一组真正执行client 请求的服务器,一般是我们的web服务器;除了web,还有FTP,MAIL,DNS
共享存储(shared stored) :它为 server pool 提供了一个共享的存储区,很容易让服务器池拥有相同的内容,提供相同的服务
常用术语
VS:Virtual Server #虚拟服务,一个抽象的服务,用于最开始接收 web 请求的服务
Director, Balancer #负载均衡器、分发器
RS:Real Server # 真正提供服务的服务器
CIP: Client IP #用户端IP,发起请求的客户端 IP,一般是公网 IP
VIP:Director Virtual IP #负载均衡器虚拟IP
DIP:Director IP #负载均衡器IP
RIP:Real Server IP #真正提供 web 服务的服务器的 IP
(1)直接路由模式(LVS-DR)
互联网使用比较多的一种模式
DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。
DR模式特点
优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。
缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。
(2)NAT模式(LVS-NAT)
NAT模式是通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB,LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
NAT模式特点:
1、NAT技术将请求的报文和响应的报文都需要通过LB进行地址改写,因此网站访问量比较大的时候LB负载均衡调度器有比较大的瓶颈,一般要求最多之能10-20台节点
2、只需要在LB上配置一个公网IP地址就可以了。
3、每台内部的节点服务器的网关地址必须是调度器LB的内网地址。
4、NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。
(3)Full NAT模式(LVS-FullNAT)
客户端对VIP发起请求,Director接过请求发现是请求后端服务。Direcrot对请求报文做full-nat,把源ip改为Dip,把目标ip转换为任意后端RS的rip,然后发往后端,rs接到请求后,进行响应,响应源ip为Rip,目标ip还是DIP,又内部路由路由到Director,Director接到响应报文,进行full-nat。将源地址为VIP,目标地址改为CIP
请求使用DNAT,响应使用SNAT
Full NAT模式特点:
FULL NAT 模式也不需要 LBIP 和realserver ip 在同一个网段;
full nat 跟nat 相比的优点是:保证RS回包一定能够回到LVS;因为源地址就是LVS==> 不确定
full nat 因为要更新sorce ip 所以性能正常比nat 模式下降 10%
(4)IP隧道模式(LVS-Tunnel)
采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈。为了解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文,由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。
它和NAT模式不同的是,它在LB和RS之间的传输不用改写IP地址。而是把客户请求包封装在一个IP tunnel里面,然后发送给RS节点服务器,节点服务器接收到之后解开IP tunnel后,进行响应处理。并且直接把包通过自己的外网地址发送给客户不用经过LB服务器。
ip隧道模式特点:
负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。
隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。
四种模式性能比较:
因为DR模式 IP TUNELL 模式都是在package in 时经过LVS ,在package out是直接返回给client,所以二者的性能比NAT 模式高,但IP TUNNEL 因为是TUNNEL 模式比较复杂,其性能不如DR模式;
FULL NAT 模式因为不仅要更换 DST IP 还更换 SOURCE IP 所以性能比NAT 下降10%
4种模式的性能如下:DR ==> IP TUNNEL ==>NAT ==>FULL NAT
本篇文章主要介绍了"VXLAN, 一种叠加在L3网络上的L2网络 ",主要涉及到VXLAN, 一种叠加在L3网络上的L2网络 方面的内容,对于VXLAN, 一种叠加在L3网络上的L2网络 感兴趣的同学可以参考一下。
这几天看了下RFC7348,顺便翻译了一下,根据自己理解做了注解
虚拟化及租户隔离
服务器虚拟化增加了对物理网络基础设施的需求,服务器有多个虚机,要求交换机支持更大的MAC地址表。
在数据中心场景下,虚机按照VLAN分组,可能需要成千上万的VLAN,以便用来给为按照VLAN标签分组的虚机分隔流量。但是当前VLAN机制限制最多只能有4096个VLAN。
数据中心需要支持多个租户,每个租户需要分隔的网络域,单独实现分离的网络域不经济。管理员一般基于共享网络进行隔离。各租户独立进行VM的MAC和VLAN的分配,可能在共享的同一个物理网络上,出现MAC和VLAN的冲突。
在虚拟化场景下,还有一个需求是基于第二层在整个数据中心,或者跨数据中心进行扩展,扩展计算,存储和网络资源,此时传统的用来避免路径循环的STP协议,会使得更大数量的失效链路出现。此时,虽然更倾向于使用IP进行物理基础设施的链接,比如,为了实现多路径的扩展,使用ECMP避免生效链路,但是维持虚机间的L2通信依然是需要保留的。
以上场景导致了overlay叠加网络的需求,这个叠加网络用来将来自虚机的携带MAC的流量,封装后通过逻辑隧道传递。VXLAN就是这样的一种实现overlay网络的方式。
和VXLAN相关的常用术语有
ACL Access Control List 访问控制表
ECMP Equal-Cost Multipath 等价多路径
IGMP Internet Group Management Protocol IGMP协议
IHL Internet Header Length Internet报文头长度
MTU Maximum Transmission Unit 最大传输单元
PIM Protocol Independent Multicast 协议无关的多播
SPB Shortest Path Bridging 最短路径转发
STP Spanning Tree Protocol 生成树协议
ToR Top of Rack 机架交换机
TRILL Transparent Interconnection of Lots of Links 多链路透明互联
VLAN Virtual Local Area Network 虚拟LAN
VM Virtual Machine 虚机
VNI VXLAN Network Identifier (or VXLAN Segment ID) VXLAN网络标识符
VTEP VXLAN Tunnel End Point An entity that originates and/or
terminates VXLAN tunnels VXLAN隧道端点
VXLAN Virtual eXtensible Local Area Network VXLAN
VXLAN Segment VXLAN段
VXLAN Layer 2 overlay network over which VMs communicate
VXLAN Gateway VXLAN网关
an entity that forwards traffic between VXLANs
VXLAN应用场景
VXLAN主要聚焦于数据中心基础设施。
STP和VLAN导致的限制
当前L2网络主要使用8021D STP协议在多路径基础上避免环路。但是数据中心管理员将之视为L2网络上的问题,因为STP,需要负担额外超过需要的端口和链路。STP模型下,失去了多路径的弹性。一般引入TRILL(RFC6325)或者SPB(8021AQ)来帮助解决因为STP引起的多路径问题。STP的约束也可以通过将同一机架的服务器配置在相同的L3网络规避,机架内和机架间使用L3交换。但这和虚机之间的L2互联不兼容。
数据中心L2网络中普遍使用VLAN来隔离广播,以太网帧中的12bit VLANID用来将大的L2网络分隔为小的广播域。对小于4096 VLAN 的数据中心来说这样很好,随着虚拟化的流行,压力逐渐增大。更加的,因为STP,某些数据中心限制可以使用的VLAN数。再加上以上讨论的,多租户场景下,对大数量VLAN的需求。
多租户
多租户场景下,云计算要求资源的弹性呈现。最常见的云计算案例是共有云,云服务提供商基于同样的物理基础设施为多个租户提供弹性服务。
租户的网络流量分隔可以基于L2或者L3网络。对L2网络而言,常用VLAN分隔流量,这样租户以自己的VLAN标识。因为云服务租户的庞大数量,VLANID最大4096就不够用了。不仅如此,还有同一租户内不同VLAN的需求。
一个案例是跨POD扩展。一个POD是一个或者多个包含服务器的机架,以及相关的存储和网络组成。租户可能从一个POD起步,然后逐步需要其他POD上的VM,特别是这个‘其他’POD的租户没有充分使用POD中的资源。这个案例需要L2网络的伸缩性。
L3网络不是一个容易理解的多租户解决方案,两个租户可能各自使用同一套L3网络地址,需要云提供商支持其他形式的隔离,对于虚机间的通信,要求租户使用IP,但又不是不是信赖的直接L2网络,或者非IP的L3协议。
TOR交换机的ARP表容量
虚拟化场景对连接服务器的TOR交换机的MAC地址表容量提出了额外的要求。不是一个MAC对应一个服务器,TOR交换机需要学习一个服务器中可能多达上百的虚机的MAC。因为虚机流量会经过服务器和TOR之间的链路,传统TOR交换机,根据其面板端口数,可能连接24、48个服务器,数据中心可能包含很多个机架,每个TOR需要维护不同服务器之间通信的虚机的地址表,对比非虚拟化场景,这个对地址表空间的要求很高。
如果表空间满,交换机停止学习,直至表项超期。会导致大量未知单播帧。
VXLAN
VXLAN基于数据中心多租户场景下,聚焦以上需求,立足现有 网络基础设施,提供L2网络的伸缩。简单说,VXLAN是基于L3网络上的L2叠加网络,每一个叠加网络可称为VXLAN Segmeng,只有归属于同一个VXLAN Segment的虚机才能相互通信(这里应该是L2通信),每一个VXLAN Segment通过一个24bit的Segment ID标识,成为VXLAN Network Identifier(VNI),在同一个管理域中,最多有16M个VXLAN Segment段存在。
VNI标识了来自虚机的内部MAC帧的范围,因此跨VXLAN Segment,MAC是可以重叠的,但是(L2)流量不能,因为通过VNI分隔了。在封装来自VM的内部帧时,VNI封装在外部头中。
VXLAN Segment和VXLAN叠加网络是可以相互使用的术语。
因为封装,VXLAN是叠加在L3网络上的L2网络。隧道是无状态的,每一个帧按照一系列规则进行封装。隧道端点(VXLAN Tunnel End Point,VTEP)位于虚机宿主机的hypervisor层。这样VNI,和VXLAN相关的隧道,以及外部头封装仅为VTEP所知,虚机不感知。VTEP可以是物理交换机,或者物理服务器,可以软件或者硬件实现。
一种典型的VXLAN场景下的业务流控制是数据面学习,这里,通过源MAC地址学习,将虚机的MAC和VTEP的IP地址关联,多播则用于携带未知单播,广播和多播帧。
除了基于学习的业务流控制,其他还有分发虚机MAC和VTEP IP映射信息,可选项还包含一个基于认证或者基于目录的单个VTEP的集中查询机制,向VTEP分发这些映射信息,这个有时也被称为PUSH/PULL模型。基于学习的机制更加普遍。
虚机-虚机单播
设想,一个VXLAN网络中的虚机,不知道VXLAN,和其他服务器上的虚机通信,发送ARP查询,VTEP根据目的MAC查找这个虚机归属的VNI,以判断是否和源虚机处于相同VNI。是否需要目的MAC和对端VTEP的映射,如果答案为需要,则需要组装一个包含了外部帧头(MAC),外部IP头,VXLAN头的外部报文头。封装报文转发到对端VTEP。
对端VTEP检查VNI,判断本地对应VNI中是否有虚机匹配内部帧当中的目的MAC,如果是则报文去掉封装部分发送给目的虚机,后者不感知外部帧,以及VXLAN封装。
为了将报文转发给目的虚机,远端VTEP需要学习内部帧源MAC(本端虚机)和外部源IP(本端VTEP地址)的映射,也就是VTEP需要学习对端虚机MAC和对端VTEP的映射关系,实际上,这个VTEP可以通过广播ARP查询来实现。
VTEP将这个映射存储在表中,当目的虚机返回响应时,VTEP根据目的MAC查表,将报文封装后发给特定的(发出请求报文的虚机归属的)VTEP。这里无需未知目的泛洪。
实际传输之前,源虚机确定目的虚机的MAC地址,过程类似非VXLAN环境,略有一点不同,下文描述。广播帧封装在多播报文中发送。
广播和多播映射
虚机使用IP地址进行通信时,假定处于同一subnet中,源主机首先发送ARP广播,在非vxlan环境中,这个帧,携带VLAN,在所有交换机中广播。
Vxlan下,包含vni,ip头和udp头的数据段插入到报文的前部,这个报文会被广播到overlay所在的ip 多播组中。
为了实现这个效果,需要在vxlan vni和需要使用的ip多播组之间进行映射,这个在管理层实现,并通过管理通道发送给VTEP,使用这个映射,vtep可以在需要时,向上行流的交换机/路由器发送加入/离开IP多播组的IGMP成员报告。如此这般,可使用特定多播地址,基于主机上组播成员是否存在,维护特定的多播地址(rfc4541)。使用某些路由协议,比如PIM-SM(RFC4601),可在L3网络上提供足够的多播树。
VTEP使用(G)联合joins,在VXLAN隧道源未知或者经常变化的场景下(因为虚机常常在不同主机之间迁移),因为VTEP既可以作为多播数据报的源也可以作为目的,类似BIDIR-PIM(RFC5015)这样的协议效率更高。
目的虚机的ARP响应通过普通IP单播发送,到达和源虚机相连的VTEP,条件是先前已经学习了ARP响应的目的MAC地址到VTEP IP的映射。
多播帧和未知目的MAC帧,类似广播帧,使用多播树发送。
物理基础设施
在网络中使用IP多播时,网络中的L3设备,交换机/路由器会用到多播路由协议,比如PIM-SM,这样会构建有效的多播转发树,多播报文会发送到希望到达的主机处。
另外,并没有要求源和目的主机基于L3网络连接,VXLAN也可以基于L2网络,此时可通过IGMP snooping在L2网络上实现多播复制。
VTEP不能对VXLAN报文分片。中间路由器可能因为过大帧长的缘故对VXLAN封装报文分片。目的VTEP可能丢弃这些分片了的VXLAN报文,为了避免端到端流量的可能分片,推荐将所经过的物理设施的MTU设置为能容纳可能的最大VXLAN封装。其他技术,诸如Path MTU Discovery(RFC1191/RFC1981)可用来满足这个需求。
VXLAN场景
VXLAN一般应用于数据中心虚机,这些虚机分布在不同的机架,单个机架可能属于多个不同的L3网络,但可能属于同一个L2网络,VXLAN段叠加在这些L2或者L3网络上。
类似下图,两个虚拟服务器挂载于同一个L3网络,这两个服务器可能位于同一机架,也可能不同机架,或者是同一管理域的不同数据中心,有4个VXLAN 段,VNI22,34,74,98,Server1中的VM1-1和Server2中的VM2-4位于同一VNI22,虚机不知道叠加网络的存在,因为vxlan封装和解封装在vtep上发生,其他vni如表格
Vni server1 server2
22 vm1-1 vm2-4
34 vm1-2 vm2-1
74 vm1-3 vm2-2
98 vm1-4 vm2-3
一个部署场景是,VTEP在一个感知vxlan网络的物理服务器中,另一种场景,VXLAN叠加网络中的节点,需要于传统网络,可能是VLAN,中的节点通信。此时需要部署VXLAN网关,在VXLAN和非VXLAN网络之间转发流量。
来自VXLAN网络接口的入向帧,网关去掉VXLAN头,根据内部帧目的MAC地址进行转发,包含内部帧VLAN ID的解封装报文,只能转发到非VXLAN接口,否则丢弃。相对的,来自非VXLAN 接口的报文,根据VLANID,映射到特定的VXLAN 叠加网络,除非显式配置通过封装的VXLAN传递,否则VLANID在封装为VXLAN报文前应当删除。
提供VXLAN隧道终结功能的网关,可以是TOR或者接入交换机,也可以是DC网络拓扑中的上层网络设备,比如核心或者WAN边缘设备,后一种场景,可能包含一个Provider Edge路由器用来在混合云环境中终结vxlan隧道,所有这些案例中,网关可能是软件或者实现。
网关或者VTEP处理包含VLANID的帧的规则:
解封装后包含VLANid的VXLAN帧,除非配置,否则丢弃。
VTEP封装VXLAN隧道报文时,内部不带VLANid,除非专门设置。就是说若一个带有vlan tag的报文准备进入vxla隧道时,除非显式配置,否则应该去掉vlan tag。(就是vni和vlan tag的映射)
普通服务器:服务器指一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。是实实在在的物理机器。
云服务器:云服务器是在一组集群主机上虚拟出多个类似独立主机的部分,集群中每个服务器上都有云服务器的一个镜像,从而大大提高了云服务器的安全稳定性,除非所有的集群内服务器全部出现问题,云服务器才会无法访问。云服务器整合了计算、存储与网络资源的IT基础设施,能提供基于云计算模式的按需使用和按需付费能力的服务器租用服务。每个用户独占主机资源,不同用户之间不会面临资源的抢占;良好的物理隔离,确保主机不会因其他用户主机故障相互影响。详情可在阿里云阿里云进行了解。
云服务器的作用有四项:
1、完全管理权限:对云服务器的操作系统有完全控制权,用户可以通过连接管理终端自助解决系统问题,进行各项操作;
2、快照备份与恢复:对云服务器的磁盘数据生成快照,用户可使用快照回滚、恢复以往磁盘数据,加强数据安全;
3、自定义镜像:对已安装应用软件包的云服务器,支持自定义镜像、数据盘快照批量创建服务器,简化用户管理部署;
4、拥有API接口:使用ECS API调用管理,通过安全组功能对一台或多台云服务器进行访问设置,使开发使用更加方便。
与普通物理服务器相比,云服务器的主要优势是什么?云服务器租用价格低于传统的物理服务器租用,且无需支付押金。 具有快速供应和部署能力,用户在提交云主机租用申请后可实时开通,立即获得服务。 业务支持平滑扩展,当用户业务规模扩张时,可快速实现业务扩容!!!
租用云服务器,可避免后期设备过时,淘汰损失。
0条评论