概念解析

  • 集群概念
  • 集群就是一组计算机,他们作为一个整体向用户提供一组网络资源
  • 集群核心:任务调度
  • 集群目的
  • 性能提升
  • 成本降低
  • 提高可扩展性
  • 增强可靠性
  • 集群分类
  • HA:高可用集群
  • LBC:负载均衡集群/系统
  • HPC:
  • 科学计算集群
  • 高性能计算集群

LVS

  • 功能
  • 实现高可用的、可伸缩的Web、Mail、Cache和Media等网络服务
  • 目标
  • 利用Linux操作系统和LVS集群软件实现一个高可用、高性能、低成本的服务器应用集群
  • 组件
  • 工作在内核空间的IPVS模块
  • 工作在用户空间的ipvsadm管理工具
  • LVS的工作模式:
  • NAT:网络地址转换
  • DR:路由模式
  • TUN:隧道模式
  • 术语:
  • 调度器:LVS服务器
  • 真实服务器Real Server:提供服务的服务器
  • VIP:虚拟地址,提供给用户访问的地址
  • DIP:指定地址,LVS服务器上与真实服务器通信的地址
  • RIP:真实地址,真实服务器的地址
  • 常见的调度算法,共10个,常用的有4个:
  • 轮询rr:Real Server轮流提供服务
  • 加权轮询wrr:根据服务器性能设置权重,权重大的得到的请求更多
  • 最少连接lc:根据Real Server的连接数分配请求
  • 加权最少连接wlc:类似于wrr,根据权重分配请求

LVS-NAT模式

集群_NAT

按上图准备5台虚拟机

pubserver:eth0->192.168.88.240,eth1->192.168.99.240

client:eth0->192.168.88.10,网关192.168.88.5

lvs1: eth0 -> 192.168.88.5;eth1->192.168.99.5

web1:eth1->192.168.99.100;网关192.168.99.5

web2:eth1->192.168.99.200;网关192.168.99.5

在lvs1虚拟机测试LVS-NAT拓扑网络通信情况

cat /proc/sys/net/ipv4/ip_forward    检查lvs1是否开启路由转发,为1无调整,为0改为1

配置网络yum

在lvs虚拟机安装ipvsadm

ipvsad命令常用选项

-A:添加虚拟服务器

-E:编辑虚拟服务器

-D:删除虚拟服务器

-C:删除所有虚拟服务器

-t:添加tcp服务器

-u:添加udp服务器

-s:指定调度算法。如轮询rr,加权轮询wrr,最少连接lc,加权最少连接wlc


-a:添加虚拟服务器后,向虚拟服务器中加入真实服务器

-r:指定真实服务器

-w:设置权重

-m:指定工作模式为NAT

-g:指定工作模式为DR


配置LVS-NAT模式规则

在lvs1中配置
ipvsadm -A -t 192.168.88.5:80 -s rr   
ipvsadm -A -t 192.168.88.5:80 -r 192.168.99.100 -w 1 -m
ipvsadm -A -t 192.168.88.5:80 -r 192.168.99.200 -w 2 -m
ipvsadm -Ln     #查看规则,加n显示具体ip地址

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.88.5:80 rr
  -> 192.168.99.100:80            Masq    1      0          0         
  -> 192.168.99.200:80            Masq    2      0          0         
 
 使用集群之外的虚拟机做客户端访问(client)
 for i in {1..6); do ; curl http://192.168.88.5 ; done
Welcome to web2
Welcome to web1
Welcome to web2
Welcome to web1
Welcome to web2
Welcome to web1
 
 调整LVS-NAT规则
 ipvsadm -E -t 192.168.88.5:80 -s wrr
 ipvsadm -Ln
 
 IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.88.5:80 wrr    #算法为wrr后权重生效
  -> 192.168.99.100:80            Masq    1      0          3         
  -> 192.168.99.200:80            Masq    2      0          3         
 
 访问一下
  for i in {1..6); do ; curl http://192.168.88.5 ; done
Welcome to web2
Welcome to web1
Welcome to web2
Welcome to web2
Welcome to web1
Welcome to web2