集群与存储-lvs+keepalived

  • lvs

  • 集群分类
      1. 高性能计算集群HPC
      • 通过以集群开发的并行应用程序,解决复杂的科学问题
      1. 负载均衡(LB)集群
      • 客户端负载在计算机集群中尽可能平均分摊
      1. 高可用(HA)集群
      • 避免单点故障,当一个系统发生故障时,可以快速迁移
  • lvs集群组成
    • 前段:负载均衡层
      • 由一台或多台负载调度器构成
    • 中间:服务器群组层
      • 由一组实际运行应用服务的服务器组成
    • 低端:数据共享存储层
      • 提供共享存储空间的存储区域
  • 专业术语
    • Director Server:调度服务器
      • 将负载分发到Real Server的服务器
    • Real Server:真是服务器
      • 真正提供应用服务的服务器
    • VIP:虚拟IP地址
      • 公布给用户访问的虚拟IP地址
    • RIP:真实IP地址
      • 集群节点上使用的IP地址
    • DIP:调度器连接节点服务器的IP地址
  • LVS工作模式
    • NAT模式
    • TUN模式
    • DR模式
  • 负载均衡调度算法
    • LVS目前实现了10种调度算法
      • 常用调度算法有4中
      • 轮询(round robin)
      • 加权轮询(Weight round robin)
      • 最少连接(Least Connections)
      • 加权最少连接(Weighted least connections)
  • 步骤
    1. 使用命令增删改查LVS集群规则
  • 创建LVS虚拟集群服务器(算法为加权轮询:wrr)
  • [root@localhost ~]# yum -y install ipvsadm
  • [root@localhost ~]# ipvsadm -A -t 10.211.55.21:80 -s wrr
  • -A 创建集群 -t使用tcp协议 10.211.55.21:80对外提供的ip地址端口-s调度算法
  • [root@localhost ~]# ipvsadm -Ln
  • 查询创建好的集群-L查询集群,n以数字的形式显示
  • 为集群加若干real server
  • [root@localhost ~]# ipvsadm -a -t 10.211.55.21:80 -r 192.168.2.100 -w 1
  • -a添加real server -t to -r real server -w 权重,默认是DR模式
  • [root@localhost ~]# ipvsadm -a -t 10.211.55.21:80 -r 192.168.2.200 -w 1
  • [root@localhost ~]# ipvsadm -a -t 10.211.55.21:80 -r 192.168.2.201 -m
  • -m nat模式
    [root@localhost ~]# ipvsadm -a -t 10.211.55.21:80 -r 192.168.2.202 -i
    -i 隧道模式
    [root@localhost ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    TCP 10.211.55.21:80 wrr
    -> 192.168.2.100:80 Route 1 0 0
    -> 192.168.2.200:80 Route 1 0 0
    -> 192.168.2.201:80 Masq 1 0 0
    -> 192.168.2.202:80 Tunnel 1 0 0
  • [root@localhost ~]# ipvsadm -E -t 10.211.55.21:80 -s lc
  • -E 更改集群
  • [root@localhost ~]# ipvsadm -e -t 10.211.55.21:80 -r 192.168.2.100:80 -m -w 3
  • -e 更改real server
  • [root@localhost ~]# ipvsadm -d -t 10.211.55.21:80 -r 192.168.2.100:80
  • -d删除real server
  • [root@localhost ~]# ipvsadm -D -t 10.211.55.21:80
  • -D删除集群
  • 部署LVS-NAT模式调度器

  • 确认调度器的路由转发功能
  • root@proxy ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
  • [root@proxy ~]# echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
  • 修改配置文件,设置永久规则
  • 创建集群
  • [root@proxy ~]# ipvsadm -A -t 10.211.55.21:80 -s wrr
  • 添加真是服务器
  • [root@proxy ~]# ipvsadm -a -t 10.211.55.21:80 -r 192.168.2.100 -w 1 -m
    [root@proxy ~]# ipvsadm -a -t 10.211.55.21:80 -r 192.168.2.200 -w 1 -m
  • 查看规则列表,并保存规则
  • [root@proxy ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm
  • 重新加载规则
  • [root@lvs ~]# ipvsadm -C
    [root@lvs ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    [root@lvs ~]# ipvsadm -R < /etc/sysconfig/ipvsadm
    [root@lvs ~]# ipvsadmi -Ln
    [root@lvs ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    TCP 10.37.129.9:80 rr
    -> 10.211.55.35:80 Masq 1 0 0
    -> 10.211.55.36:80 Masq 1 0 0
  • 开机加载ipvsadm规则
  • [root@lvs ~]# ipvsadm -C
    [root@lvs ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    [root@lvs ~]# systemctl start ipvsadm
    [root@lvs ~]# systemctl enable ipvsadm
    Created symlink from /etc/systemd/system/multi-user.target.wants/ipvsadm.service to /usr/lib/systemd/system/ipvsadm.service.
    [root@lvs ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    TCP 10.37.129.9:80 rr
    -> 10.211.55.35:80 Masq 1 0 0
    -> 10.211.55.36:80 Masq 1 0 0
  • 部署DR模式

  • 网络配置好各个服务器
  • 在rs后端服务器上禁止免费arp
  • [root@web1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  • [root@web1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  • [root@web1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    [root@web1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
  • 持久化保存,可以写到/etc/sysctl.conf中
  • net.ipv4.conf.all.arp_ignore=1
    net.ipv4.conf.lo.arp_ignore=1
    net.ipv4.conf.all.arp_announce=2
    net.ipv4.conf.lo.arp_announce=2
  • [root@web1 ~]# sysctl -p
  • [root@web1 ~]# ifconfig lo:1 10.211.55.100/32
  • 环回地址配置vip
  • 使规则生效,并同样配置web2
  • lvs配置
  • [root@lvs ~]# ifconfig lo:1 10.211.55.100/32
  • 配置集群
  • [root@lvs ~]# ipvsadm -A -t 10.211.55.100:80 -s wrr
  • [root@lvs ~]# ipvsadm -a -t 10.211.55.100:80 -r 10.211.55.35 -g
    [root@lvs ~]# ipvsadm -a -t 10.211.55.100:80 -r 10.211.55.36 -g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值