Heartbeat+DRBD+NFS
添加路由心跳线
master:
# route add -host 10.20.23.111 dev eth2
# echo "/sbin/route add -host 10.20.23.111 dev eth2" >>/ect/rc.local
backup
# route add -host 10.20.23.115 dev eth2
# echo "/sbin/route add -host 10.20.23.115 dev eth2" >>/ect/rc.local
配置heartbeat
1、安装heartbeat(主备操作一致)
# yum install heartbeat* 2、配置文件
1) 主配置文件
# cat >/etc/ha.d/ha.cf<<EOF
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
mcast eth1 225.0.0.1 694 1 0
auto_failback on
node master
node backup
EOF
2) 认证配置
# cat >/etc/ha.d/authkeys <<EOF
auth 1
1 sha1 c4f9375f9834b4e7f0a528cc65c055702bf5f24a
EOF
# chmod 600 /etc/ha.d/authkeys
3) 资源配置
# cat >/etc/ha.d/haresources <<EOF
master IPaddr::10.0.0.73/25/eth0
EOF 3、启动主的heartbeat
# /etc/init.d/heartbeat start 4、查看vip
# ip add|grep 10.0.0. 5、测试
# /etc/init.d/heartbeat stop #停掉主
# ip add|grep 10.0.0. #查看备vip 6、主备切换
# /usr/share/heartbeat/hb_standby
# /usr/share/heartbeat/hb_takeover
配置drbd
1、主备各添加一块5G磁盘
2、对新磁盘进行分区
# fdisk -l
# parted /dev/sdb mklabel gpt #调整分区表
# parted /dev/sdb mkpart primary ext4 0 1000 #增加一个分区
# parted /dev/sdb mkpart primary ext4 1001 -1 #增加一个分区
# parted /dev/sdb p #查看分区结果 3、格式化
# mkfs.ext4 /dev/sdb1
# tune2fs -c -1 /dev/sdb1 #取消磁盘检查 4、安装DRBD软件
# yum install drbd kmod-drbd84 -y
# modprobe drbd #加载到内核
# lsmod | grep drbd 5、开机加载到内核
# echo "modprobe drbd" >>/etc/rc.local
# echo "modprobe drbd" >/etc/sysconfig/modules/drbd.modules
# chmod 755 /etc/sysconfig/modules/drbd.modules 6、编辑配置文件(主备配置一致)
# vim drbd.conf
global {
usage-count no; #是否参加DRBD使用者统计,默认是yes
}
common {
syncer {
rate 100M; #主备网络速率
verify-alg crc32c;
}
}
# primary
for
drbd1
resource data { #data是资源名字
protocol C; #协议
disk { #磁盘错误控制
on-io-error detach; #分离
}
on master { #节点hostname
device /dev/drbd0;
disk /dev/sdb1; #drbd0对应的磁盘
address 10.0.0.82:7788; #监听地址,心跳IP
meta-disk /dev/sdb2[0]; #存放meta信息
}
on backup {
device /dev/drbd0;
disk /dev/sdb1;
address 10.0.0.83:7788;
meta-disk /dev/sdb2[0];
}
} 7、初始化drbd
# drbdadm create-md data
# drbdadm up all 或 # /etc/init.d/drbd start 8、查看状态
# cat /proc/drbd
# /etc/init.d/drbd status 9、同步DRBD数据
# drbdadm -- --overwrite-data-of-peer primary data 10、挂载drbd
# mount /dev/drbd0 /data
配置nfs
1、安装nfs
# yum install -y rpcbind nfs-utils 2、配置nfs共享目录
# cat /etc/exports
/data 10.0.0.0/24(rw,sync,all_squash) 3、启动rpcbind和nfs服务
# /etc/init.d/rpcbind start; chkconfig rpcbind off
# /etc/init.d/nfs start; chkconfig nfs off 4、查看并挂载
# rpcinfo -p 127.0.0.1 #查看状态
# showmount -e 10.0.0.72
# mount -t nfs 10.0.0.72:/data /data/data1
# df -h
整合Heartbeat、DRBD和NFS服务
1、修改heartbeat配置文件
# vim haresources
master drbddisk::data Filesystem::/dev/drbd0::/data::ext4 nfsd IPaddr::10.0.0.72/25/eth0 2、编辑管理nfs脚本
# vim /etc/ha.d/resource.d/nfsd
#!/bin/bash
case $1 in
start)
/etc/init.d/nfs restart
;;
stop)
for proc in rpc.mountd rpc.rquotad nfsd nfsd
do
killall -9
$proc
done
;;
esac
# chmod +x /etc/ha.d/resource.d/nfsd 3、测试nfs高可用
# /etc/init.d/heartbeat stop
# /etc/init.d/heartbeat start
NFS有2分钟左右的延迟,通过编写脚本,umount和mount命令控制
Heartbeat+DRBD+NFS的更多相关文章
- (转)Heartbeat+DRBD+NFS高可用案例
原文:http://9861015.blog.51cto.com/9851015/1939521--------------------------------Heartbeat+DRBD+NFS高可 ...
- Heartbeat+DRBD+NFS 构建高可用的文件系统
1.实验拓扑图 2.修改主机名 1 2 3 vim /etc/sysconfig/network vim /etc/hosts drbd1.free.com drbd2.free.com 3. ...
- CentOS7数据库架构之NFS+heartbeat+DRBD(亲测,详解)
目录 参考文档 理论概述 DRBD 架构 NFS 架构部署 部署DRBD 部署heartbeat 部署NFS及配合heartbeat nfs切记要挂载到别的机器上不要为了省事,省机器 参考文档 htt ...
- heartbeat+DRBD 高可用 双机热备
heartbeat+DRBD 高可用 双机热备 原创博文http://www.cnblogs.com/elvi/p/7658109.html ## heartbeat+DRBD 高可用 双机热备 # ...
- 两台linux利用heartbeat+drbd 完美实现双机热备
一直想做基于linux的双机热备,一直没有时间和机会.一直以为只要做双机热备的实验就必须两台机器外接一个存储.甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以 ...
- 5 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之生产环境下drbd裂脑处理
preface 公司的业务变更,导致服务器要搬迁,所以需要关闭服务器,然后到新地在开启服务器. 关机前确定drbd+heartbeat+mysql是正常使用的,没有异常,Heartbeat和drbd都 ...
- Heartbeat+DRBD+MySQL高可用方案
1.方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证.默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自 ...
- 4 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之Lvs为Mysql-slave做负载均衡
preface Mysql+drbd+heart能够实现Mysql的高可用了,master出现故障的时候能够快速切换.在现在的业务情况下,读操作多,写操作少的情况下,一台DB server明显扛不住, ...
- 3 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之heartbeat的搭建
preface 在上节的说了mysql的搭建,这节我们在上节的基础上,继续搭建heartbeat. 安装和配置heartbeat 采用yum安装,dbmaster81和dbbackup136上都安装, ...
随机推荐
- Linux:保证数据安全落盘
背景 在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便在系统宕机重启之后还能读到这些数据.但是我们都知道,linux系统的IO路径还是很复杂的,分为很多层,每一层都可能会有buffer ...
- 一个简单的性能计数器:CodeTimer
public static class CodeTimer { public static void Initialize() { Process.GetCurrentProcess().Priori ...
- 举例说明EF CORE中模型之间的一对多、多对多关系的实现
该例子是我临时想出来的,不具有任何的实际意义.类图如图1所示. 图1 类代码: [Table("student")] public class Student { public i ...
- 60天shell脚本计划-8/12-渐入佳境
--作者:飞翔的小胖猪 --创建时间:2021年3月3日 --修改时间:2021年3月7日 说明 每日上传更新一个shell脚本,周期为60天.如有需求的读者可根据自己实际情况选用合适的脚本,也可在评 ...
- Excel:替换表格中的0值
替换时需要勾选"单元格匹配",否则会把所有单元格中的0字符都给替换掉
- JZ-016-合并两个排序的链表
合并两个排序的链表 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目链接: 合并两个排序的链表 代码 /** * 标题:合并两个排序的链表 ...
- LeetCode-033-搜索旋转排序数组
搜索旋转排序数组 题目描述:整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行 ...
- C++雾中风景18:C++20, 从concept开始
转眼间,C++20的标准已经发布快两年了.不少C++的开源项目也已经将标准升级到最新的C++20了,笔者也开启了新标准的学习历程了.所以借这系列的博文,记录下笔者学习新标准的一些心得与吐槽~~ 作为C ...
- Triple Shift
来源:Atcoder ARC 136 B - Triple Shift (atcoder.jp) 题解:这道题我们不可能去硬模拟(大多数这种题都不能这样去模拟的),然后我们就要去发现特性, 发现把 a ...
- laravel 访问器 和修改器的使用
对于访问器我是这样定义的,就是将数据库中的数据被访问时可以变成我们想要的数据类型(例如:数据库中的时间字段是int类型,要将她变成data(Y-m-d H:i:s),格式类型) 参看博客 https: ...