集群-LVS

来源:互联网 发布:acfun淘宝 编辑:程序博客网 时间:2024/06/05 01:14

1.什么是集群

集群(cluster)就是一组计算机,他们作为一个整体向用户提供一组网络资源。这些耽搁计算机系统就是集群的节点(node).

2.集群的种类:

负载均衡(Load Balance)集群,简称LB

高可用(High Availability)集群,简称HA集群

高性能计算(High Perfermance Computing)集群,简称HPC集群(并行运算,将几台PC的CPU联合起来一起用)


2.1.负载均衡LB实现手段:

硬件:F5负载均衡器

软件:LVS(4层,传输层),Nginx(7层,应用层)


2.1.1.LVS(Linux Virtual Server)是一个虚拟的服务器集群系统,本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。

LVS中文站点


2.1.2.LVS集群采用三层结构:

Director分发器 - real server - 共享存储


2.1.3.LVS三种模式:

LVS-NAT(模式)

LVS-IP隧道(DR模式)

LVS-直接路由(TUN模式)


2.1.3.1.实例LVS NAT模式

2.1.3.1.1.实验前期准备

1)3台机器

2)iptables -F 关闭

3)/etc/selinux/config 关闭SELinux

2.1.3.1.2.cxg130 配置成分发器

1)打开路由转发功能

[root@cxg130 ~] vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

2)配置网络环境

添加一个网卡,配置成以下网络环境

eth0 192.168.1.130 模式:br0 模拟公网

eth1 192.168.2.130 模式:vmnet4 模拟公网(新增网卡)

3)配置分发器

安装LVS管理工具:ipvsadmin(操作雷同iptables)

[root@cxg130 ~] rpm -ivh /mnt/packages/ipvsadm-1.25-9.el6.x86_64.rpm 或 yum install ipvsadm

4)使用命令设置规则

[root@cxg130 ~] ipvsadm -A -t 192.168.1.130:80  -s rr

(选项:-A代表添加,-t代表tcp,-s指定调度算法,VIP:PORT,rr代表轮替)

[root@cxg130 ~]# ipvsadm -a -t 192.168.1.130:80 -r 192.168.2.131 -m

[root@cxg130 ~]# ipvsadm -a -t 192.168.1.130:80 -r 192.168.2.129 -m

(-a表示添加real server的地址,-r指定real server的IP地址,-m表示masquerade也就是NAT方式的LVS)

5)查看

[root@cxg130 ~]# ipvsadmin -L -n

6)保存

[root@cxg130 ~]# /etc/init.d/ipvsadm save


2.1.3.1.3.cxg129和cxg131作为real server配置

1)配置real server自己的IP(vim /etc/sysconfig/network-scripts/ifcfg-eth0)

cxg129:eth0:vmnet4: 192.168.2.129 网关:192.168.2.130

cxg131:eth0:vmnet4: 192.168.2.131 网关:192.168.2.130

2)配置realserver,并开启服务

[root@cxg131 ~]# yum install httpd -y

[root@cxg131 ~]# service httpd restart

[root@cxg131 ~]# vim /etc/httpd/conf/httpd.conf

ServerName 192.168.2.131:80

[root@cxg131 ~]# echo "192.168.2.131" > /var/www/html/index.html

[root@cxg129 ~]# yum install httpd -y

[root@cxg129 ~]# service httpd restart

[root@cxg129 ~]# vim /etc/httpd/conf/httpd.conf

ServerName 192.168.2.129:80

[root@cxg129 ~]# echo "192.168.2.129" > /var/www/html/index.html

3)测试real server

[root@cxg130 ~]# yum install elinks

[root@cxg129 ~]# elinks 192.168.2.129 --dump

4)测试VIP(每次结果都会变,一人一次)

[root@cxg130 ~]# elinks 192.168.1.130

192.168.2.129

[root@cxg130 ~]# elinks 192.168.1.130

192.168.2.131

5)引:无需监听80端口,直接转发

[root@cxg130 ~]# netstat -antup | grep :80

6)其他

[root@cxg130 ~]# ipvsadm -L -n  查看规则,显示内核虚拟服务器表

[root@cxg130 ~]# ipvsadm -L -n -c 查看客户端连接分发器和real server的情况

[root@cxg130 ~]# ipvsadm -L -n -stats 分发情况

[root@cxg130 ~]# ipvsadm -L -n --rate 速率

[root@cxg130 ~]# ipvsadm -Z 清空

[root@cxg130 ~]# ipvsadm -C 清空规则

LVS的规则配置文件:/etc/sysconfig/ipvsadm