heartbeat+DRBD 高可用 双机热备

原创博文http://www.cnblogs.com/elvi/p/7658109.html

## heartbeat+DRBD 高可用 双机热备
# 环境centos6
# 测试演练 # 虚拟机添加10G硬盘
# 添加网卡,作为数据传输
#主机
VIP 192.168.18.80
web1
192.168.18.11
192.168.99.11(心跳线)
192.168.100.11(数据传输)
web2
192.168.18.12
192.168.99.12
192.168.100.12
vim /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
BOOTPROTO="static"
IPADDR=192.168.100.12
NETMASK=255.255.255.0
ONBOOT="yes"
#
ifup eth2
uname -r #关闭防火墙 #分区
#fdisk快速分区
#echo -e "n\np\n1\n+10G\nn\np\n2\n\n+20G\nw" | fdisk /dev/sdb
fdisk -l
fdisk /dev/sdb
p
n +8G w
#备节点、状态分区 不需要格式化
mkfs.ext4 /dev/sdb1
e2label /dev/sdb1 /data #给分区标签 #
#安装 DRBD
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
yum install drbd kmod-drbd84 -y
#内核加载
lsmod |grep drbd
modprobe drbd #加载DRBD模块到内核
modprobe -l | grep -i drbd
echo "modprobe drbd" >>/etc/rc.local ##开机自动加载
#yum install kernel-devel -y #模板
ll /etc/drbd.d/
#配置
vim /etc/drbd.conf
global {
usage-count no;
}
common {
syncer {
rate 200M;
verify-alg crc32c;
}
}
resource webdata {
protocol C; disk {
on-io-error detach;
}
on web1 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.100.11:;
meta-disk /dev/sdb2[];
}
on web2 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.100.12:;
meta-disk /dev/sdb2[];
}
} #drbd初始化与启动
drbdadm create-md webdata
drbdadm up webdata
/etc/init.d/drbd start
#将第一个节点置为primary
drbdadm -- --overwrite-data-of-peer primary webdata
#drbdsetup /dev/drbd0 primary -o #查看同步完成状态
cat /proc/drbd
#磁盘挂载(仅primary节点),Secondary挂载需要先drbdadm down data -->mount /dev/sdb1 /data
mkdir /data
mount /dev/drbd0 /data
df -l #验证同步
#主节点创建文件
echo $(date +%Y-%m-%d-%H%M%S)>>/data/test.txt
cat /data/test.txt
#备节点停用服务,挂载分区查看
drbdadm down webdata
mount /dev/sdb1 /data
ll /data
cat /data/test.txt
#备节点启用
umount /dev/sdb1
drbdadm up webdata
cat /proc/drbd #DRBD主备节点切换
#主:卸载分区,设置为备节点
umount /dev/drbd0
drbdadm secondary webdata #(all)
#备:设置为主节点,挂载分区
drbdadm primary webdata #(all)
mount /dev/drbd0 /data # DRBD脑裂后的处理
#从节点上切换成secondary,并放弃该资源的数据:
drbdadm secondary alldrbdadm -- --discard-my-data connect all
drbdadm -- --overwrite-data-of-peer primary data #设置主节点同步数据到备节点
#重新连接资源
drbdadm down webdata
drbdadm connect webdata
drbdadm up webdata
drbdadm primary all #主
drbdadm secondary all #备 #+ heartbeat高可用
vim /etc/ha.d/haresources
#web1 IPaddr::192.168.18.80//eth0 nginx
web1 IPaddr::192.168.18.80//eth0 nginx drbddisk::webdata Filesystem::/dev/drbd0::/data::ext4
#主节点 ,解除磁盘挂载,重启heartbeat服务
umount /dev/drbd0
service heartbeat stop
service heartbeat start
#备节点启动heartbeat
service heartbeat start
#查看服务
ip add | grep eth0
mount|grep data
cat /proc/drbd #主备切换验证
service heartbeat stop #主,停止服务
#查看备节点服务
ip add | grep eth0
mount|grep data
cat /proc/drbd
service heartbeat restart #主,启动服务 #备节点实际容量变小调整
/etc/init.d/drbd stop
e2fsck -f /dev/sdb1
resize2fs /dev/sdb1 #增加主机测试(主备/usr/share/nginx/html主页文件不同)
ln -s /usr/share/nginx/html /data/html
vim /etc/nginx/conf.d/test.conf
server {
listen ;
server_name test.com;
location / {
root /data/html;
index index.html index.htm index.php;
}
}
#重启服务
service heartbeat stop
service heartbeat start
#本机访问,修改本机hosts文件C:\Windows\System32\drivers\etc
192.168.18.80 test.com
#浏览器访问域名 test.com ##NFS
#服务端配置
mkdir /data/share
#vim /etc/exports
echo "/data/share 192.168.18.0/24(rw,no_root_squash)">>/etc/exports
/etc/init.d/rpcbind restart
/etc/init.d/nfs restart
#客户端
showmount -e 192.168.18.80 #查看共享
service rpcbind start
mkdir -p /data/share
umount /data/share
mount -t nfs 192.168.18.80:/data/share /data/share
#查看测试
mount|grep /data/share
echo $(date +%Y-%m-%d-%H%M%S)>>/data/share/nfs.txt
cat /data/share/nfs.txt
##开机挂载
echo "192.168.18.80:/data/share /data/share nfs defaults 0 0">>/etc/fstab #heartbeat+drbd+nfs配置
vim /etc/ha.d/haresources
web1 IPaddr::192.168.18.80//eth0 nginx drbddisk::webdata Filesystem::/dev/drbd0::/data::ext4 nfs
showmount -e localhost
#主备切换验证 …… mount|grep /data/share
echo $(date +%Y-%m-%d-%H%M%S)>>/data/share/nfs.txt
cat /data/share/nfs.txt
showmount -e localhost mount|grep data
ip add | grep eth0
cat /proc/drbd service heartbeat stop
service heartbeat start
service heartbeat restart # 参考
#http://blog.csdn.net/lt53130640688/article/details/50152615
#http://www.cnblogs.com/wsl222000/p/5777382.html

heartbeat+DRBD 高可用 双机热备的更多相关文章

  1. 两台linux利用heartbeat+drbd 完美实现双机热备

    一直想做基于linux的双机热备,一直没有时间和机会.一直以为只要做双机热备的实验就必须两台机器外接一个存储.甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以 ...

  2. 使用sqlserver搭建高可用双机热备的Quartz集群部署【附源码】

    一般拿Timer和Quartz相比较的,简直就是对Quartz的侮辱,两者的功能根本就不在一个层级上,如本篇介绍的Quartz强大的序列化机制,可以序列到 sqlserver,mysql,当然还可以在 ...

  3. Nginx+keepalived 高可用双机热备(主从模式/双主模式)

    基础介绍负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行. 关于负载均衡介绍,可以参考:li ...

  4. Nginx+keepalived 高可用双机热备(主从模式)

    环境:centos7.6 最小化安装 主:10.11.1.32 从:10.11.1.33 VIP:10.11.1.130 修改主节点主机名: hostnamectl set-hostname web_ ...

  5. MySQL双主+keepalived实现高可用实现(热备)

    环境:centos6.7 最小化安装 192.168.100.152 master 主192.168.100.153 slave 从192.168.100.132 v_ip 浮动IP 配置ssh密码登 ...

  6. 双机热备的Quartz集群

    sqlserver搭建高可用双机热备的Quartz集群部署[附源码]   一般拿Timer和Quartz相比较的,简直就是对Quartz的侮辱,两者的功能根本就不在一个层级上,如本篇介绍的Quartz ...

  7. 云数据库Redis版256M双机热备款

    云数据库Redis版是兼容Redis协议标准的.提供持久化的缓存式数据库服务,基于高可靠双机热备架构:全新推出的256M小规格款,适用于高QPS.小数据量业务,并支持免费全量迁移,完美服务于个人开发者 ...

  8. Keepalived+LVS+nginx双机热备

    Keepalived简介 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生. Keepalived采 ...

  9. keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

    本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可 ...

随机推荐

  1. MQTT——控制报文格式

    解控制报文格式是学习MQTT中,笔者认为最为重要的一个知识点.MQTT的所有行为都离不开他.控制报文可以分为三个部分组成,分别为:固定报头.可以变报头.有效载荷部分. 注意:上面的说的报文的类型.是指 ...

  2. JS框架设计读书笔记之-函数

    这次写一些函数 1.模拟Object.keys方法 Object.keys = Object.keys || function(obj){ var a = []; // a[0],a[1]...分别赋 ...

  3. Can you solve this equation?

    Problem Description Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you find its sol ...

  4. Constructing Roads(最小生成树)

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  5. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  6. C语言实现二叉树的基本操作

    二叉树是一种非常重要的数据结构.本文总结了二叉树的常见操作:二叉树的构建,查找,删除,二叉树的遍历(包括前序遍历.中序遍历.后序遍历.层次遍历),二叉搜索树的构造等. 1. 二叉树的构建 二叉树的基本 ...

  7. 使用NPOI导出图片到EXCEL

    1.首先引用NPOI 2.本例用到的引用 3.在Controller里面添加导出方法 public ActionResult ExportMsgData(string term) { //为list赋 ...

  8. 前端基于react,后端基于.net core2.0的开发之路(2) 开发环境的配置,注意事项,后端数据初始化

    前端环境配置 项目介绍文章:前端基于react,后端基于.net core2.0的开发之路(1) 介绍 1.VSCode安装 下载地址:https://code.visualstudio.com/Do ...

  9. 【MFC】基于OpenCV的魔镜

    最近半个月事情太多了,参加了泰迪杯数据挖掘,参加学院的科技节,科技节里面总共我参加了数学建模.PS.软件设计制作.电子设计大赛这4个.还有期中考.英语论文作业.今天终于忙的差不多,有时间来总结一下前段 ...

  10. kickstart 实现批量安装centos7.x系统

    1.1 安装系统的方法 l  光盘(ISO文件,光盘的镜像文件)===>>每一台物理机都得给一个光驱,如果用外置光驱的话,是不是每台机器都需要插一下 l  U盘:ISO镜像刻录到U盘==& ...