linux运维工程师面试常见问题整理4--lvs相关(持续更新ing)

欢迎喜欢实施运维及数据的小伙伴加入群进行谈论!
运维技术群:263859509
linux运维工程师面试常见问题整理4--lvs相关(持续更新ing)_第1张图片

  1. lvs 原理

    LVS通过工作于内核的ipvs模块来实现功能,其主要工作于netfilter 的INPUT链上。
    而用户需要对ipvs进行操作配置则需要使用ipvsadm这个工具。
    ipvsadm主要用于设置lvs模型、调度方式以及指定后端主机。

  2. lvs 有哪几种模式,工作过程原理是什么?

    NAT TUN DR

    官方的三种模式介绍及对比:
    linux运维工程师面试常见问题整理4--lvs相关(持续更新ing)_第2张图片

    NAT模式原理 :
    这个是通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后调度就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP),这样真实服务器(RS)就能够接收到客户的请求数据包了。真实服务器响应完请求后,查看默认路由(NAT模式下我们需要把RS的默认路由设置为LB服务器。)把响应后的数据包发送给LB,LB再接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。

    TUN模式(隧道模式):
    virtual server via ip tunneling模式:采用NAT模式时,由于请求和响应的报文必须通过调度器地址重写,当客户请求越来越多时,调度器处理能力将成为瓶颈。为了解决这个问题,调度器把请求的报文通过IP隧道转发到真实的服务器。真实的服务器将响应处理后的数据直接返回给客户端。这样调度器就只处理请求入站报文,由于一般网络服务应答数据比请求报文大很多,采用VS/TUN模式后,集群系统的最大吞吐量可以提高10倍。

    DR模式(直接路由模式):
    DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

  3. 最常用的模式是什么,有什么特点

    DR

    ①通过调度器上修改数据包的目的MAC地址实现转发,注意,源IP地址仍然是CIP,

    目的IP地址仍然是VIP

    ②请求的报文经过调度器,而RS相应处理处理后报文无需经过调度器LB,因此,并发访问量大时使用效率很高

    ③DR模式是通过MAC地址的改写机制实现转发,因此所有的RS节点和调度器LB只能在一个局域网中

    ④需要注意RS界面的VIP的绑定(lo:VIp/32 lol:VIP/32)和ARP的一致问题

    ⑤抑制ARP是不让RS(real server)相应CS(client server)的ARP请求

    ⑥RS节点默认网关不需要调度器的LB的DIP,而是直接IDC机房分配的上级路由器的IP(这是RS带有外网的

    的Ip地址的情况),理论上讲,只要RS出网即可,不是必须配置外网的IP

    工作中RS要配置外网的IP

    ⑦由于DR模式角度器仅仅进行了MAC地址的改写,因此调度器LB无法改变请求的报文的目的端口

    ⑧LB几乎支持所有的UNIX,linux系统,但是目前不支持winows系统,真实的节点可以是windows系统。

    ⑨总的来说DR模式效率很高,但是配置也比较麻烦,因此访问量不是很大的可以用haproxy/nginx取代,

    日PV 1000-2000W或者并发请求1W以下都是可以考虑haproxy/nginx

    10.直接对外访问的业务,例如:web服务做RS节点,RS最好用公网的IP地址,如果不直接对外的业务,

    例如:mysql,存储系统的RS节点,最好只用内部的Ip地址。

你可能感兴趣的:(面试技巧及内容总结,运维面试技巧)