cluster集群

时间:2022-12-18 18:34:47

http://zwfang09.blog.sohu.com/entry/

Cluster 集群 ,群集

--- 负载均衡 LB ,load-balance

--- 高可用集群 HA ,High Availability

--- 高性能集群 HP  High Performancing

负载均衡—解决多用户并发连接请求

LVS---即Linux Virtual Server 是一个服务集群,又成为Director

什么时候会用到LVS: 高吞吐量 For higher throughput

冗余 for redundancy

添加:for adaptability

LVS IP: Virtual IP address 即 VIP 虚拟IP

Real IP address 即RIP 真实IP

Director‘s IP address 即 DIP 与LVS通信的IP

Client computer‘s IP Address 即 CIP 客户端

cluster集群

集群类型:根据转发方式分为:

Network address translation  LVS-NAT 地址转换所有真实服务器必须在同一网络

NAT所有入站和出站都经过Drector

Direct routing  LVS-TOU 直接路由

IP tunling LVS-TUN 隧道 与Director在同一物理网段,Rip不能是私有IP

LVS的十种轮叫算法:

静态调度算法:

1、Rr 轮叫算法

2、Wrr 加强轮叫算法

3、Destination hashing 只要是来源同一个IP地址的,就会发送到同一台服务器

4、Source hashing 只要是同某个防火墙进来的,还要从这个防火墙出去

动态调度算法:

5、Least-connection LC 当一个新的请求连接发进来时,Director 会查看活动连接和非活动连接数来决定哪一个集群node 接受这个请求, 值最小的会接受,如果值大小一样,会从iptables表中从上到下选择

6、Weighted Least-connection WLC 加权最少连接,指定权重,是集群的默认算法

7、Shorted Expectd Delay SED 权重+1

8、Nerver Queen  NQ 永远不排队

9、Locality-Based Least-Connection LBLC 基于本地的最少连接

10、Locality-Based Least-Connection Replication Scheduling LBLCR 基于本地的带复制的最少连接

Ipvsadm参数选项:

-A 定义哪一种服务为集群使用

-E 修改集群     -D 删除   -E 修改  -C 清空

-a 为某一个虚拟服务添加服务

-e 编辑服务                 -d 删除服务         -L或-l 列表显示

-s 保存至某一文件      -R 恢复              -Z 清空计数器

--set 设定tcp默认超时时间

-t 指定tcp服务           -u 指定udp服务 –f 防火墙标记

-s 指定调度算法          -p persisent  LVS的持久使用

-r 指定 real Server 的IP

-g 指定 DR类型  (默认)       -i  tun 类型         -

-m 指定NAT类型             -w 指定权重

构建:LVS-NAT

网络环境:Director两个网卡:外网:192.168.0.150  内网:192.168.10.10

内网服务器:Server1:IP 192.168.10.2 网关:192.168.10.10

Server2:IP 192.168.10.3 网关:192.168.10.10

外网服务器:IP 192.168.0.157  网关:192.168.0.150

Director服务器要开启路由功能;内网服务器Server1,Server2,开启httpd服务  cluster集群

配置:Director:要先装上ipvsadm工具

#yum install ipvsadm

使用轮叫算法rr

cluster集群

外网测试:轮叫算法,依次显示Server1和Server2的www页面

cluster集群

cluster集群

cluster集群

外网测试:结果显示3次Server1的www页面,再显示1次Server2的www页面

cluster集群

cluster集群

dh 算法:来源于同一个IP地址的,就会发送到同一台服务器

cluster集群

测试结果,一直显示Server1的www页面,(Server1,Server2是随机显示的)

cluster集群

LVS-DR:

arp_announce 直接向别人宣称自己的别名地址,而不是主地址

0 ----使用主地址

1----尽量避免使用和请求ip不在同一网段的ip

2----使用最合适的ip

arp_ignore 怎样相应别人

0----使用本地主ip

1----从哪块网卡进来,就从哪块网卡回应

2----从哪块网卡进来,就从哪块网卡回应,并使用在同一网段的ip

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

DR模式构建:

三台主机都在同一网段:

Drector:192.168.0.150

Server1:192.168.0.151

Server2:192.168.0.152

做IP隐藏:Server1

cluster集群

为lo添加IP 192.168.0.156,并作路由

cluster集群

server2:

cluster集群

Drector:添加IP 192.168.0.156,并作路由

cluster集群

添加ipsadm规则:

cluster集群

测试:两次出现server2的www页面,一次出现server1的www页面

cluster集群

cluster集群

防火墙标记:

LVS-persistence 用于SSL,密钥交换

持久连接默认时间360s ,-p N 设置连接时间

持久连接类型:

Persisent client connections –PCC

Persisent port connections –PPC

Persisent Netfilter Marked Packet persistence

FTP connections

Expired persistence

首先要在real server1和real server2上实现证书服务:

Server1:

1、#yum install mod_ssl

生成密钥:cakey.pem

cluster集群

2、做自签证书:

cluster集群

3、将自签证书的权限修改为

cluster集群

4、将证书的路径 修改为 /etc/pki/CA

cluster集群

cluster集群

5、在/etc/pki/CA目录下新建目录newcerts ,新建文件index.txt和serial 并echo 00 到serial中

cluster集群

6、在/etc/httpd目录下做证书

cluster集群

颁发证书:

cluster集群

7、编辑/etc/httpd/conf.d/ssl.conf文件,将路径修改为如下:/etc/httpd/ssl/httpd.conf

cluster集群

cluster集群

8、本机https测试:需要认证

cluster集群

cluster集群

cluster集群

9、Real server2:由于Real server1主机上已经申请了证书服务,所以只在server2上生成密钥和请求,让server1给server2颁发证书:

在/etc/httpd/目录下生成证书请求;

cluster集群

cluster集群

10、将生成的请求复制到Real server1

cluster集群

11、Server1给server2颁发证书:

cluster集群

12、将生成的证书在拷贝到server2上

cluster集群

13、编辑/etc/httpd/conf.d/ssl.conf文件,将路径修改为如下:/etc/httpd/ssl/httpd.conf

cluster集群

14、server2本机测试需要认证:

cluster集群

cluster集群

cluster集群

15、添加ipvsadm规则:控制443端口

cluster集群

CIP客户机测试:

cluster集群

cluster集群

cluster集群

16、清空上面规则,重新添加

cluster集群

测试:持久连接server2

cluster集群

cluster集群

cluster集群

17、添加防火墙标记

cluster集群

测试:即可使用http访问,也可使用https访问,并且server1页面显示1次,server2页面显示2次

http访问:

cluster集群

cluster集群

https测试:

cluster集群

cluster集群

cluster集群的更多相关文章

  1. redis 学习笔记(6)-cluster集群搭建

    上次写redis的学习笔记还是2014年,一转眼已经快2年过去了,在段时间里,redis最大的变化之一就是cluster功能的正式发布,以前要搞redis集群,得借助一致性hash来自己搞shardi ...

  2. Redis 3.0 Cluster集群配置

    Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...

  3. mysql galera cluster 集群的分裂与仲裁机制

    集群的分裂 当集群由于网络原因分裂为几个单独的组时(一组可能是单节点,也可能是几个互联的节点),数据出现不一致,此时可能产生脑裂及数据不一致.这种情况 下,只有一组节点能够继续提供服务,这组节点的状态 ...

  4. MySQL Cluster 集群

    本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...

  5. 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇

    前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...

  6. Redis Cluster集群搭建与配置

    Redis Cluster是一种服务器sharding分片技术,关于Redis的集群方案应该怎么做,请参考我的另一篇博客http://www.cnblogs.com/xckk/p/6134655.ht ...

  7. jedis处理redis cluster集群的密码问题

    环境介绍:jedis:2.8.0 redis版本:3.2 首先说一下redis集群的方式,一种是cluster的 一种是sentinel的,cluster的是redis 3.0之后出来新的集群方式 本 ...

  8. 深入分析redis cluster 集群

    深入分析redis cluster 集群安装配置详解 下面小编来为各位介绍一篇深入分析redis cluster 集群安装配置详解,如果你希望做数据库集群就可以来看看此文章的哦. http://rub ...

  9. Redis Cluster集群搭建与应用

    1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...

随机推荐

  1. H5开发中的问题总结

    最近公司做了一个出行日记的项目,里面的页面十多页,天天加班,做到吐血.总体来说,写页面的时候虽然是十多个页面,其实难度还是在每个页面的特效上.公司是易到用车,出行日记的页面在APP里有生成入口,有兴趣 ...

  2. JVM类加载过程

    先不说JVM类加载的原理,先看实例: NormalTest类,包含了一个静态代码块,执行的任务就是打印一句话. /** * 在正常类加载条件下,看静态代码块是否会执行 * @author jianyi ...

  3. smarty半小时快速上手教程(转)

    来源于:http://www.chinaz.com/program/2010/0224/107006.shtml 一:smarty的程序设计部分: 在smarty的模板设计部分我简单的把smarty在 ...

  4. 基础二 day4

    昨日回顾int bit_lenth()bool int ----> bool 非零True,0 False bool----> True 1 False 0 str ----> bo ...

  5. [Swift]LeetCode62. 不同路径 | Unique Paths

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  6. Js 语言中 变量提升问题

    变量提升: 提升变量的声明. 函数声明式: 像这种形式: function foo() {}: 会发生变量提升. 函数表达式: var fn=function fn(){}: 不会发生变量提升.var ...

  7. Ribbon Ping机制

    在负载均衡器中,提供了 Ping 机制,每隔一段时间,会去 Ping 服务器,判断服务器是否存活,该工作由 com.netflix.loadbalancer.IPing 接口的实现类负责,如果单独使用 ...

  8. 洛谷1312 Mayan游戏

    原题链接 讨厌这种大搜索题 基本就是模拟搜索,注意细节即可. 以下是我用的两个剪枝: 将块向左移的前提是左边为空,因为该题要求先右后左,所以若左边有块,那么在上一次搜索向右移的时候一定会搜过,且字典序 ...

  9. Data transfer from GPIO port to RAM buffer using DMA upon receiving a trigger signal on the timer capture input channel.

    Data transfer from GPIO port to RAM buffer using DMA upon receiving a trigger signal on the timer ca ...

  10. JS中的继承实现方式

    第一种:通过prototype来实现 prototype.html <!DOCTYPE html><html lang="en"><head> ...