集群(3)

LVS && HA

1.DR模式实现lvs

Server11端作为调度器

Sever11操作

首先配置yum源如图

Yum repolist##查看已拥有的yum仓库

安装ipvsadm

Yum install -y ipvsadm

ip addr add 172.25.15.100/32 dev eth0     ##添加一个虚拟网络172.25.15.100

ipvsadm -C      #清空转发表

ipvsadm -A -t 172.25.15.100:80 -s rr##-A添加一个虚拟服务-ttcp服务-s使用的调度算法

ipvsadm -a -t 172.25.15.100:80 -r 172.25.15.13:80 -g##-a在内核虚拟服务器表的一条记录里添加一条新的服务器-r真实服务器-g指定工作模式为直接路由模式

ipvsadm -a -t 172.25.15.100:80 -r 172.25.15.14:80 -g

/etc/init.d/ipvsadm save##保存ipvsadm表

/etc/init.d/iptables stop##关闭防火墙

Server13 && server14

添加虚拟网络ip

yum install arptables_jf.x86_64 -y

arptables -A IN -d 172.25.15.100 -j DROP##-A追加规则-d目的地址-j跳到目标-s源地址

arptables -A OUT -s 172.25.15.100 -j mangle --mangle-ip-s 172.25.15.13

##这两条指令意思是将目的地址为172.25.15.100的包丢掉将源地址为172.25.15.100的请求包发给172.25.15.13

##server14同样操作

/etc/init.d/arptables_jf save##保存

安装httpd并开启

Yum install -y httpd

/etc/init.d/httpd start

并在默认发布目录上编辑index.html作为轮询时区别不同的虚拟机

Cd /var/www/html

Server13:

Echo <h1>server13.example.com</h1> >index.html

Server14:

Echo <h1>server14.example.com</h1> >index.html

测试1

真机curl虚拟ipcurl 172.25.15.100会发现server13 && server14轮询

测试2

当关闭serever13端的lvs时轮询访问的server13会中断

但下图会发现server11 ipvsadm -l 查询时并不会发现错误所以说明lvs本身没有健康检查功能

2.配置ldirectord 服务

想要有监测功能需要加入ldirectord服务

先配置ldirectord 服务:

Server11:

yum install ldirectord-3.9.5-3.1.x86_64.rpm

cd /etc/ha.d/

cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf .

vim ldirectord.cf

测试

/etc/init.d/ldirectord start

轮询正常且虚拟服务存在

当server13关闭httpd服务时server11端再ipvsadm测试会发现server13虚拟服务已经关闭且curl 172.25.15.100时只会访问server14

所以安装ldirectord 服务会具有健康检查功能

3.将ldirectord服务加入heartbeat 服务中

先将server11 && server12中的httpldirectord服务关掉并删掉虚拟网络

/etc/init.d/ldirectord stop

/etc/init.d/httpd stop

ip addr del 172.25.15.100/24 dev eth0

两边虚拟机都修改配置文件加入ldirectord服务

vim haresources

两边虚拟机都启动heartbeat服务

/etc/init.d/heartbeat start

测试1

都启动服务后客户端正常访问且服务正常轮询虚拟网络服务正常运行

测试2

当集群中server11关掉hearbeat服务时server12会自动接管服务而且客户端会正常工作

4.keepalived + lvs

1用httpd服务测试

Server11端

下载keepalived-1.2.24.tar.gz压缩包并解压

tar zxf keepalived-1.2.24.tar.gz

安装软件包解决依赖性

yum install -y ipvsadm kernel-devel openssl-devel popt-devel libnl-devel gcc make -y

yum install libnfnetlink-devel-1.0.0-1.el6.x86_64.rpm

./configure --prefix=/usr/local/keepalived

make && make install

做四个软连接

ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/etc/keepalived/ /etc/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

Scp到server12上来

scp -r keepalived/ [email protected]:/usr/local/

Server12同样做软连接“

ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/etc/keepalived/ /etc/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

Server11端

cd /etc/keepalived/

vim keepalived.conf

scp keepalived.conf [email protected]:/etc/keepalived/##发送给server12

Server 11 && server12 都安装mailx用来接受邮件

yum install -y mailx

Server12端

修改server11端传过来的keepalived的配置文件

Cd /etc/keepalived

Vim keepalived.conf

##修改备份机状态为BACKUP以及备份机优先级为50

主机与备份机两边都给执行权限并开启

chmod +x /etc/init.d/keepalived

/etc/init.d/keepalived start

测试

正常启动后用 ip addr show 查看会发现真实运行在server11上但是ipvsadm会发现在备份机上也存在说明数据同时备份。当server11挂掉后数据就可继续运行不用从0开始

而且对客户端的访问并没有影响

2用ftp服务测试

Server13 && server14端都安装vsftp服务

分别创建server13以及server14文件用来区分连接的虚拟机

Server11&& server12端

Vim keepalived.conf

Server13 && server14端

添加172.25.15.200虚拟ip:

Server11 &&server12端启动服务

/etc/init.d/keepalived start

测试

当server13断开服务时会自动切到server13上来

时间: 2024-08-05 13:59:04

集群(3)的相关文章

部署AlwaysOn第一步:搭建Windows服务器故障转移集群

在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)有基本的了解.WSFC必须部署在域管理环境中,由多台服务器组成,每台服务器称作一个"结点"(Node),每个结点上都运行了Windows服务器故障转移集群服务,整个集群系统允许部分结点掉线.故障或损坏而不影响整个系统的正常运作.集群自动检测结点的健康状态,一旦活跃结点发生异常,变

MySQL集群(二)之主主复制

前面介绍了主从复制,这一篇我将介绍的是主主复制,其实听名字就可以知道,主主复制其实就是两台服务器互为主节点与从节点.接下来我将详细的给大家介绍,怎么去配置主主复制! 一.主从复制中的问题 1.1.从节点占用了主节点的自增id 环境: 主节点:zyhserver1=1.0.0.3 从节点:udzyh1=1.0.0.5 第一步:我们在主节点中创建一个数据库db_love_1,在创建一个表tb_love(里面有id自增和name属性). create database db_love_1; use d

MongoDB 搭建分片集群

在MongoDB(版本 3.2.9)中,分片是指将collection分散存储到不同的Server中,每个Server只存储collection的一部分,服务分片的所有服务器组成分片集群.分片集群(Sharded Clustered)的服务器分为三中类型:Router(mongos),Config Server 和 Shard(Replica Set 或 Standalone mongod).使用分片集群,不需要使用强大的计算机,就能存储更多的数据,处理更大的负载.分布式数据库系统的设计目的是:

Linux-&gt;ZooKeeper集群搭建

人,总免不了有心结,限制着自己,难以前行.对于ZooKeeper的理解,以及实践也拖了很久,今天用零散时间学习一下,补点干货. 一.简述 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来选举Leader(基于Fast Paxos协议),配置信息维护等,在一个分布式的环境中,需要一个Master实例或存储一些配置信息,确保文件写入的一致性等. ZooKeeper是一个分布式,开放源码的分布式应用程序协调服务,包含一个简单的原语集

linux集群下 solr集群搭建

首先介绍一下系统架构: * 这个图中代表的是三个solr实例,每个实例包括两个core,组成一个solrcloud * 索引集合包括两个 shard(shard1和shard2),shard1和shard2分别由三个core组成,其中一个L eader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个core的索引数据一致,解决高可用和高并发问题. * Collection在solrcloud集群中是一个索引结构,被划分为一个或多个

浪潮服务器向集群中添加esxi主机

软件环境:esxi6.0  vcenter6.0 硬件:浪潮服务器 hba卡 浪潮存储 博科san 要求:向目前集群中添加一台esxi主机 步骤:安装esxi6.0,配置bmc和网卡,光纤连接hba卡,注意:光纤方向,hba中发光的接到san不发光的口. 配置san交换机 配置浪潮存储 esxi中识别存储添加OK!

Linux集群架构介绍

▎根据功能划分为两大类: 高可用 负载均衡 高可用 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务. 实现高可用的开源软件有:heartbeat.keepalived等,其中heartbeat这款软件在CentOs6上面的bug略多,假如主服务器宕机,备用服务器不可以在短时间正常切换提供服务,而且长时间没有更新,所以不建议使用. 负载均衡 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分

Redis Cluster集群部署搭建

在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉.Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品.今天,就分享一下安装Redis集群的过程. 搭建redis集群,建议至少需要准备3台服务器,共搭建6个节点,3个master,3个slave,并且要求3个master节点不能全部跑到同一台服务器上,保证节点安全,3台服务器的配置相同,使用redistest账号搭建,对应的端口是7000/7001/7002端口 我的集群分配如下,每个

redis 集群

redis 集群 redis集群是redis提供分布式数据库方案, 集群通过分片(Sharding)来进行数据共享,并提供复制和故障转移功能. 节点 redis集群通常由多个节点(node)组成,在开始每个node 都是相互独立的. 要组建成真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群. 命令 cluster meet <ip> <port> 向一个node 发送命令 cluster meet,让节点与ip/port所指定的节点 进行握手(hand

架构师之路--视频业务介绍,离线服务架构和各种集群原理

先聊聊业务.我们媒资这边目前的核心数据是乐视视频的乐视meta和专门存储电视剧,综艺节目,体育赛事这种长视频的作品库.乐视视频的数据都是多方审核的,需要很多运营.但是作品库部分却是弱运营的,运营都不超过10个人.结果做了两个app,日活都有四五百万的样子.我们其实都有各样的技术储备,很容易可以抓取人家数据,自己套上一个壳子在线解码.但是我们逼格很高,都不这么做的.乐视是个非常注重版权的公司.我名下都有近百个专利了. 撇开这个项目,先看这边一般web项目的常用JVM配置. <jvm-arg>-X