Keepalived+NFS+SHELL脚本实现NFS-HA高可用

本来想做DRBD+HEARTBEAT,但是领导说再加硬盘浪费资源,没有必要,而且在已有硬盘上做风险较大,所以就只能用rsync来实现数据同步了,实验中发现很多的坑,都用脚本和计划任务给填上了,打算把这套直接用在生产环境中,到时候如果还遇到什么问题,再进行修正和补全,下面是项目细节:

主机配置:

web:192.168.6.10 Centos 6.4

nfs1:192.168.6.1 Centos 6.4

nfs2:192.168.6.2 Centos 6.4

keepalived 1.2.13 VIP:192.168.6.105

1.安装NFS和keepalived

这部分比较简单,直接用yum -y install nfs keepalived

2.配置NFS(两台同样配置)

mkdir /home/shares

vim /etc/exports

/home/shares 192.168.6.0/24(rw,sync,no_root_squash)

cd /home/shares

echo aaa > /home/shares/a.txt #用作后面脚本判断

touch files{1..10}

service nfs start

3.配置keepalived

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
router_id LVS_DEVEL
}

vrrp_instance VI_1 {
state MASTER  #辅改成BACKUP
interface eth0
virtual_router_id 51
priority 100      #辅改成50
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.6.105
}
}

service keepalived start

web:mount -t nfs 192.168.6.105:/home/shares /shares

4.ssh免密登录

ssh-keygen

ssh-copy-id

5.shell脚本

cd /etc/keepalived

vim notify_master.sh   #判断NFS端口是否存在,不存在就停止keepalived服务

#!/bin/bash

port=`netstat -anp|grep 2049`
if [ "$port" == "" ];then
/sbin/service keepalived stop
fi

vim change.sh(两台NFS都需要)  

#!/bin/bash
ip=`/sbin/ip a|grep "eth0"|grep "105"`
web="192.168.6.10"
if [ "$ip" != "" ];then  #判断VIP是否存在,如果存在就表示现在这台是master
/usr/bin/ssh $web "cat /shares/a.txt"  #在web上运行命令,查看/shares目录是否可用,执行cat a.txt消耗内存cpu较小
if [ "$?" != 0 ];then  #如果不可用$?返回值不为0,则卸载原来的/shares目录,再重新挂载这个目录,这样做的原因是,VIP切换的时候,必须重新挂载/shares,否则不能使用这个目录
/usr/bin/ssh $web "umount /shares&&mount -t nfs 192.168.6.105:/home/shares /shares"
fi
fi

chmod +x change.sh

chmod +x notify_master.sh

6.计划任务crontab

crontab -e

* * * * * /etc/keepalived/notify_master.sh  #每分钟检查一次NFS服务是否正常
* * * * * /etc/keepalived/change.sh  #每分钟检查一次keepalived状态

0 00 * * * rsync /home/shares 192.168.6.2:/home/shares  #每天夜间同步数据

时间: 2024-10-25 10:05:15

Keepalived+NFS+SHELL脚本实现NFS-HA高可用的相关文章

基于NFS共享的Mysql之HA高可用集群实现

192.168.139.8 作为NFS-Server ,192.168.139.2和192.168.13.4用来安装mysql ___________________________________________________________________________________________以下操作在192.168.139.8上操作 [[email protected] ~]# fdisk -l //首先要准备一块磁盘进行分区,用来做lv,再将此lv格式化后挂载并      

Heartbeat+Haresources+NFS配置一个简单的HA高可用+资源共享集群

一定要先安装openssh和openssh-clients两个包 192.168.139.2 [[email protected] .ssh]# ssh-keygen -t rsa -P '' //做ssh双机互信 [[email protected] .ssh]# ssh-copy-id -i ./id_rsa.pub [email protected] ______________________________________________________________________

四行shell脚本实现zabbix_server的高可用

场景模拟: 高可用的重要性 一家中小型企业需要使用zabbix_server监控大量设备,某天,一位新来的员工操作服务器失误,导致zabbix_server服务器系统奔溃无法开机.这时候zabbix_server服务中断了,这家企业的所有设备都无法进行监控,假如此时,监控的设备中有重要的业务主机,出现了告警,但是由于zabbix_server无法采集数据,导致运维人员不知道业务主机出现了一个严重的告警,业务也受到了影响.最后给企业带来巨大的经济损失.名词解析:什么是高可用?高可用技术简单的说就是

使用Keepalived配置主从热备实现Nginx高可用(HA)

Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用. Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA).VRRP(Virtual RouterRedundancy Protocol)协议是用于实现路由器冗余的协议, VRRP 协议将两台或多台路由器设备虚拟成一个 设备,对外提供虚拟路由器 IP(一

OpenStack Mitaka HA高可用搭建

OpenStack Mitaka HA高可用搭建mini试看版version 1.0环境虚拟机列表:10.1.1.120 controller1 controller1.test.com10.1.1.121 controller2 controller2.test.com10.1.1.122 controller3 controller3.test.com10.1.1.133 compute1 compute1.test.com10.1.1.134 glance-backend backend.

CentOS7+Hadoop2.7.2(HA高可用+Federation联邦)+Hive1.2.1+Spark2.1.0 完全分布式集群安装

1       VM网络配置... 3 2       CentOS配置... 5 2.1             下载地址... 5 2.2             激活网卡... 5 2.3             SecureCRT. 5 2.4             修改主机名... 6 2.5             yum代理上网... 7 2.6             安装ifconfig. 8 2.7             wget安装与代理... 8 2.8       

haproxy+keepalived来实现mariadb galera cluster的高可用架构

网络拓扑图如下: mariadb galera cluster集群基于wsrep协议可以实现mysql多主复制架构,详细说明如下: galera cluster复制: galera cluster本身是基于wsrep协议工作在底层的文件复制通道而已,只需要指明复制的文件,它会自动在多个节点之间的检测文件状态并完成数据同步.并且galera cluster向上提供API,其他组件只需调用其API,即可完成所需的文件复制功能. galera cluster向上提供API,mysql只需调用其API即

Heartbeat学习笔记--HA高可用集群实现

一.部署环境: 服务器版本:CentOS6.5 双主热备模式: VIP:192.168.3.30(MASTER上) VIP:192.168.3.32(BACKUP上) 主机网络参数: 接口 MASTER BACKUP 说明 eth1 192.168.3.23 192.168.3.24 内网管理IP eth2 192.168.5.23 192.168.5.24 心跳线 eth3 192.168.2.23 192.168.2.24 外网(临时下载文件用) 网络拓扑: 二.需求分析: 通过Heartb

HA 高可用集群概述及其原理解析

HA 高可用集群概述及其原理解析 1. 概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA机制:HDFS 的HA和YARN的HA. 3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF). 4)NameNode主要在以下两个方面影响HDFS集群: ? NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启 ? NameNode机器需要升级

HA高可用的搭建

HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务.常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能.<ignore_js_op> HA高可用搭建目的及环境说明: 这次是为nginx服务搭建高可用集群. 环境说明:1台主服务器,一台备用服务器. 其中主服务器的eth0 192.168.2.77