设为首页 收藏本站
查看: 739|回复: 0

[经验分享] linux服务器 群集

[复制链接]

尚未签到

发表于 2019-1-3 06:13:08 | 显示全部楼层 |阅读模式
   在实际的生活应用中,我们搭建服务器,用以处理客户的各种需求,进而维护公司或者企业的业务稳定与发展,但是当服务器出现故障,而又没有及时的进行修复,那么导致的损失可是很大的。又有这样一种情况,例如淘宝网刚刚过去的双十一,数千万人等待在计算机前,登陆天猫,淘宝的页面,其web服务器的压力可想而知。服务器的群集就是这样出现的,通过将一定数量的服务器组合在一起,形成一个强大的处理单元!!

   服务器的群集有三种类型,每种类型有着其不同的意义。

   1. 负载均衡群集 简称LB 【load balance】,一般应用于web服务器,和mysql等数据库服务器上。
   实现LB群集的方法:

   a. 硬件方面 F5 他使用了特殊的算法,是十分安全的,但是价格十分昂贵

   b. 软件方面 LVS 【linux虚拟服务器】,值得骄傲的是它是由中国人章文松开发的代码,也就是linux中的ipvsadm服务。

   c. 使用squid nginx 作为反向代理也可以实现

   总的来说LB群集,就是通过这些方法提供更大量的并发连接请求,是够公司业务拓展的必须技术。

   2. 高可用性群集 简称HA【highly availability】,一般应用与LB群集的前端的分发设备上
   HA群集的作用:关键性节点保证不中断,应用于关键性业务上。保证关键性业务在99.999%中可使用,一般性的业务在99.9%可用。
   可应用的节点数目:2节点或多节点, 多节点使用RHCS 可使用100个节点。
   工作方式: 主备方式 针对单业务,主主方式 针对多业务。
   心跳线:在主备/主主模式中,将两个分发设备连接起来,以实现备用分发设备发现主动分发设备的故障,的线叫做心跳线。心跳线 可使用双绞线,管线,serial 线即可。存在心跳流量,三次发送数据包即可确定是否主用设备完好。
   HA可以靠 rhcs/heartbeat/corosync+openais+pacemaker/drbd 都可以实现
   3. HP群集,为了实现高复杂,大量运算的时候使用。使用较少
  
  LB群集的术语:

   VIP:虚拟ip地址,客户端访问的ip。

   RIP:服务器的真实ip地址。

   DIP:director转发设备的另一个接口的ip地址。

   CIP:客户端ip地址。

  

  LB群集的三种模型:

  1. LVS-NAT模型
  
  模型特点: Director必须与 服务器群集在一个 vlan或者同一个物理网络,但是不能实现异地容灾,所有的请求数据,与恢复数据都要经过分发设备,所以分发设备的性能,也会影响群集的效果。而且群集节点网管都指向 director,所以分发设备容易成为网络的瓶颈。
  2. LVS-DR模型
  
  模型特点: 减轻了 director 的负担,只经过 客户端请求的流量,但是回复的流量不经过他。并且不做NAT 转换。群集节点必须与director在一样的网络。
  数据的处理:用户请求的数据包,转换为数据帧,转发给内部server,去掉帧头,变为数据包给内部,每一个 real server 都需要有VIP,
  Arp广播请求响应问题:1. real server 不做出响应.arp 防火墙 2. 内核参数arp-announce
       Arp-ignor 忽略对 server的arp请求。
  需求:1. RIP必须是合法的ip地址。
    2. 群集节点网关不再指向 director
    3. 不是所有的操作系统适合作为real servers
    4. 节点数最多100
  3. LVS-TUNNLE模型

  
  模型特点:
   1. 可以异地容灾。
   2. 节点不需要与 director在一样的网络中。
   3. Director只检查 进来的流量,减少了转发设备的瓶颈问题。
   4. 不能够实现端口重定向。
   5. 只有部分操作系统支持隧道协议。
  

  LVS 转发设备的调度算法
   也就是当客户端发出请求,转发设备收到请求后,怎么样将请求分发给群集中的某一台服务器来进行处理。

  其调度算法分为静态算法【也叫做固定调度算法】和动态算法【轮询调度算法】

  

  静态算法有四类:
  
   1,RR 轮询的调度算法,轮流来做【每一个real,server情况不一,能力不一,这样是不合适的】
   2,WRR 加权的轮询调度,根据不同的real server能力,分配不同的任务。
   3,.目标hash:发送请求给同样ip地址的 real server
   4.,来源hash:director需要去顶数据包是来自同样的路由器或者防火墙的时候
  动态算法:根据每一个real server的真实情况来决定。 director追踪real server 中的活动链接数量 以及非活动链接数量,来进行调度
  
   1. LC 最少连接数: 根据活动非活动链接 计算出一个值 overload。计算方法 活动链接*256+非活动,谁的值小 给谁。
   2. WLC加权最少连接数:给server 加上一个权重值,该值将参与计算LC,计算方法 (活动链接*256+非活动)/加权值,谁的值小由谁来进行处理。
   3. SED最少的期望延迟:对于 WLC/LC的改进。不考虑非活动的连接,计算方法 (活动链接数+1)*256
   4. NQ 永不排队:针对处理能力强的server,接收的连接虽然多,但是经过计算仍然会获得请求,如果某一个 server 很闲,则将请求交给他。
   5. LBLC基于本地的最少连接数:类似于客户端—缓存服务器—real-server的模型,请求现有缓存来进行回复,没有的才给予real-server处理
   6. LBLCR 带复制功能的LBLC:类似于多个缓存服务器的模型,使缓存服务器的缓存可复制到其他缓存服务器上,减少了服务器的工作量。
  
在LVS虚拟服务器的群集中,要使用我们国人开发的一个服务,ipvsadm服务,通过它来配置lvs群集服务

  
  Ipvsadm  
  -A| -E 添加 或者编辑一个虚拟服务器
  -D 删除一个虚拟服务器
  -C 清空虚拟服务器表
  -R 恢复删除的表
  -S 保存之后可以被restore
  -a| -e 添加,修改一个 real-server
  -d 删除一个real-server
  
  -L| -l 列出虚拟服务器表
  -t| -u | -f TCP/UDP/标记
  -w 权重值
  
  实验:LVS基于NAT模型的群集

  实验环境:linux虚拟机5.4
  
  实验过程:

  real-server1
  1. ip设置
  

  2. 安装httpd 服务,创建主页,开机自启动httpd服务,并创建一个简单地网页。
# echo"real-server1" > /var/www/html/index.html



  Real-server2
  1. 配置ip地址

  2. 安装httpd 服务,创建主页,开机自启动httpd服务,创建一个测试的网页网页
# echo"real-server2" > /var/www/html/index.html





  Director转发设备
1. 设置两个网卡的ip,一个连接内网,一个连接外网


2. 安装群集中的ipvsadm软件包
# rpm -ivh/mnt/cdrom/Cluster/ipvsadm-1.24-10.i386.rpm
3. 开启linux
4. 服务器的数据包转发功能
# vim /etc/sysctl.conf
# sysctl -p
5. Man ipvsadm
6. 创建ipvsadm的静态rr轮询虚拟服务
#ipvsadm -A -t 192.168.1.100:80 -s rr

7. Ipvsadm –a –t 192.168.1.100:80 –r 192.168.3.2 –m//基于nat模型的tcp服务的转换条目
8. Ipvsadm –L       //查看列表
9. Ipvsadm –a –t 192.168.1.100:80 –r 192.168.3.3 –m//基于nat模型的tcp服务的转换条目
10. Ipvsadm –L




  再次刷新 LVS表,会发现 非活动链接项有数值,而活动链接项无数值,这是因为http服务要处理大量的请求链接,处理完之后 就断开连接,否则服务器是支撑不住的。
  

  
  Weight表示权重值
  Masq 表示使用的是 nat 模型
  

  WRR模式
  #ipvsadm -E -t 192.168.1.100:80 -s wrr
  #ipvsadm -e -t 192.168.1.100:80 -r 192.168.3.3 -m -w 5
  更改权重后,刷新多次都在real-server2 页面上,然后才跳到real-server1页面上。
  权重大的,就收的请求就多,做的工作就多。
  

  
  一般的服务器群集前端是 转发设备,后端就是重要的数据存储设备了,不可能所有群集服务器上都存放相同的东西吧!

  一般的存储方式有三种方式
  1. DAS direct attached storage 直接附加存储
  2. NAS 网络附加存储例如:NFS SAMBA 提供的是文件级别的共享。
     当然也有专门的NAS产品:
     优点:具有锁机制,在一个用户编译中,其他用户不得编辑该文件
具有推送机制
  3. SAN 存储区域网络。存储中较高的级别。
     Fc-san 代价高 效率高 ip-san 代价低 效率低
  具体的存储应用,下次再说 *.*!
  


  


  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-658743-1-1.html 上篇帖子: lvs实现ftp负载均衡集群 下篇帖子: LVS十种调度算法详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表