集群及LVS简介

集群简介

什么是集群

一组是通过高速网络互联的计算组,并以单一系统的模式加以管理。

将很多服务器集中起来一起,提供同一种服务,在客户端看来就像是只有一个服务器

可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益

任务调度是集群系统中的核心技术


集群:由一组机器提供相同的服务通过网线连接

集群目的:

提高性能

降低成本

提高可扩展性

增强可靠性

集群的分类:

高性能计算集群HPC(主要用于科学)

负载均衡集群LB(平均分摊)

高可用集群HA(需要两台服务器一个主一个备,避免单点故障)


LB的实现:LVS软件 Haproxy软件 (nginx)

HA的实现:Keepalived软件


LVS软件介绍:主要实现高可用的、可伸缩的web、mail、cache、和media等网络服务。


LVS集群组成

前端:负载均衡层

中间:服务器群组层

底端:数据共享存储层

  

LVS术语

Diector Server 调试服务器

Real Server 真实服务器

VIP 虚拟ip地址

RIP 真实IP地址

DIP 调试器连接节点服务器的ip地址

cip 客户ip地址


LVS工作模式

VS/NAT 网络地址转换模式(有两个网段的IP一个私有和一个公有)

VS/DR直接路由模式(分发器在发请求给服务器时,不直接回包给分发器,而是直接发给客户,但客户端必须要有VIP)

VS/TUN隧道模式(用来做LB集群时服务器在不同地点)


负载均衡调试算法

轮询 :平均分配(rr)

加权轮询:根据权重值轮询,根据比例值(wrr)

最少连接:看谁的连接数少就分发给谁(lc)

加权最少连接:根据权重值去选择最少的连接数(wlc)




LVS-NAT集群

安装软件

LVS的ip负载均衡技术是通过IPVS模块实现的

IPVS模块已成为Linux组成部分


sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中。它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。

-n:打印值时不打印关键字;
-e:忽略未知关键字错误;
-N:仅打印名称;
-w:当改变sysctl设置时使用此项;
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置;
-a:打印当前所有可用的内核参数变量和值;
-A:以表格方式打印当前所有可用的内核参数变量和值。

语法

sysctl(选项)(参数)

查看所有可读变量:

sysctl -a



开启内核路由转发功能

sysctl -a | grep ip_forward

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p 开启路由转发


添加网关:

route add default gw 网关地址

删除网关:

route del default gw 网关地址

查看网关:

route -n


注:做这些之前需要将NetworkManager关了在生产环境一般也不开


配置分发器:

  1. 安装软件包

    ipvsadm

  2. 服务名和软包同名

  3. 命名是ipvsadm创建集群管理集群


创建虚拟服务器

查看集群ipvsadm -Ln(加n以数字显示)

添加虚拟服务器  -A

设置群集地址(VIP,Virtual IP)  -t

指定负载调度算法 -s

    

ipvsadm用法:

添加、删除服务器节点

-a 添加真实服务器

-d删除真实服务器

-r指定真实服务器(Real Server)的地址

-m 使用NAT模式;-g、-i 分别对就DR、TUN模式

-w为节点服务器设置权重,默认为1

保存配置ipvsadm -S

清除所有配置ipvsadm -C

ipvsadm -Ln --stats 查看详细信息 

conns接收连接数 InPkts 输入数据包outpkts输出数据包 inbytes输入字节数 outbytes输出字节数

watch -n 1 ipvsadm -Ln --status 每隔一秒显示信息

清空计数器ipvsadm -Z

/etc/sysconfig/ipvsadm-config

保存到自己的主配置文件里让它开机启动:ipvsadm -S > /etc/sysconfig/ipvsadm-config

IPVS_SAVE_ON_STOP="no" 默认配置文件不保存

缺点:一旦调度器坏了服务集群就没法用了,成为了数据传输的瓶颈。为了解决这问题我们需要用LVS/DR技术


LVS-DR集群

  1. 设置分发器

    ifconfig eth0:1 192.168.4.254 绑定接口如何想让他开机生效可以放在/etc/rc.local

  2. 保存当前配置到主配置文件里

    ipvsadm -S > /etc/sysconfig/

  3. 创建虚拟服务

    ipvsadm -A -t 192.168.4.253:80 -s rr

  4. 添加realserver

    ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.52:80 -g

    ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.53:80 -g(默认不写-g就是DR模式)

  5. 保存配置

    ipvsadm -S > /etc/sysconig/ipvsadm-config

  6. 查看状态信息

    ipvsadm -Ln

    如果出现Route字样就表示是DR模式

二、配置realserver

 1、修改网络接口的内核参数

  cd /proc/sys/net/ipv4/conf/

  lo/arp_ignore将这里面的值改为1

  lo/arp_announce将这里面的值改为2

  all/arp_ignore将这里面的值改为1

  all/arp_announce将这里面的值改为2

  如果要永久生效记到写到/etc/rc.local写绝对路径

 2、在本机的lo接口绑定vip地址每台都要设置

  删除绑定的vip地址 ifdown lo:1

  ifconfig lo:1 192.168.4.253/32要永久生效写到/etc/rc.local

 3、运行网站服务编写网页文件    

 

  

猜你喜欢

转载自blog.51cto.com/14005066/2296428