drbd+heartbeat

分布式复制模块(drbd)是一种基于软件的,无共享,复制的存储解决方案,在服务器之间的DRBD 镜像数据

实时性:当应用对磁盘的数据进行修改时,复制立即发生。

透明性:应用程序的数据存储在镜像设备上是独立和透明的,数据可存储在不同的服务器

上。

同步镜像和异步镜像:同步镜像,当本地发申请进行写操作进行时,同步写到两台服务器

上。异步镜像,当本地写申请已经完成对本地的写操作时,开始对对应的服务器进行写操作。堆块设备(硬盘,分区,逻辑卷等)进行镜像。

Drbd在linux中I/O堆栈中的位置

Drbd复制的模式有三种

协议 内容 特点 用途
协议A (异步复制) 数据一旦写入磁盘发送到网络队列中就认为是完成里写入操作 一个节点发生故障时,可能发生数据丢失,数据还有可能在队列中 用于地理上分开的节点
协议B(半同步复制) 收到接受确认就认为完成操作 数据丢失可能发生在参加的两个节点同时故障的情况下,因为在飞行中的数据可能不会
被提交到磁盘
协议C(同步复制) 收到写入确认就认为完成写入操作
没有任何数

据丢失,所以这是一个群集节点的流行模式,但 I/O 吞吐量依赖于网络带宽

数据的复制较慢但是最安全的一种。目前应用最多最广泛的一种协议。

实验(此实验用的是协议C)

Server6 与server7

需要包:drbd-8.4.2.tar.gz 要对这个tar包进行源码编译,所以需要rpm-bulid这个工具。

编译源码包解决依赖

两台虚拟机需要加一块4G的虚拟内存,内存的大小自己可以定义

Server7

cpdrbd-8.4.0.tar.gz rpmbuild/SOURCES/  通常一般把源码包放在SOURCES/这个目录里

[[email protected]]# yum install gcc -y

[[email protected]]# yum install flex -y

[[email protected] ~]#yum install -y rpm-build

[[email protected] ~]#tar zxf drbd-8.4.2.tar.gz

[[email protected]]# ./configure  --enable-spec--with-km 编译缺什么就补什么

[[email protected]]# rpmbuild -bb drbd.spec

[[email protected]]# cd /root/rpmbuild/RPMS/x86_64/ 进入这个目录就会看到生成的RPM包。

[[email protected]_64]# rpm -ivh *  安装

[[email protected]_64]# scp * 172.25.137.7:~  把生成的rpm包传给server7

[[email protected]]# fdisk -l   查看添加磁盘信息

[[email protected]]# vim example.res   编辑的文件都以.res结尾。因为在/etc/drbd.conf的内容里规定"drbd.d/*.res";

resource example{                  ###example这是名字是和文件的名字一样

meta-diskinternal;

device /dev/drbd1;

syncer {

verify-alg sha1;

}

on server6.example.com{           ###主备的主机名

disk/dev/vdb;                     ###在做之前添加一个虚拟磁盘,这是磁盘的名字

address172.25.137.6:7789;

}

onserver7.example.com {

disk /dev/vdb;

address172.25.137.:7789;

}

}

[[email protected]]# drbdadm create-md example 对资源做初始化

[[email protected]]# /etc/init.d/drbd start                会报这样的错是因为没有启动内核模块

[[email protected]]# rpmbuild -bb drbd-km.spec

[[email protected]]# yum install kernel-devel -y

[[email protected]]# rpmbuild -bb drbd-km.spec

[[email protected]]# cd /root/rpmbuild/RPMS/x86_64

[[email protected]_64]# rpm -ivh drbd-km-2.6.32_431.el6.x86_64-8.4.2-2.el6.x86_64.rpm

[[email protected]_64]# scp drbd-km-2.6.32_431.el6.x86_64-8.4.2-2.el6.x86_64.rpm172.25.137.7:~  传给7

[[email protected]_64]# /etc/init.d/drbd start    开启服务,

[[email protected]_64]# cat /proc/drbd   此时看到的是secondary要把它手动设置为primary

[[email protected] x86_64]# drbdadm primaryexample --force

下面这个截图是在同步

[[email protected]_64]# mkfs.ext4 /dev/drbd1   格式化磁盘

[[email protected] x86_64]#mount /dev/drbd1   /mnt/    把drbd1 挂载

Server7

[[email protected] ~]#rpm -ivh *.rpm

[[email protected] ~]#fdisk -l

[[email protected] ~]#drbdadm create-md example

[[email protected] ~]#rpm -ivh drbd-km-2.6.32_431.el6.x86_64-8.4.2-2.el6.x86_64.rpm

[[email protected] ~]#/etc/init.d/drbd start

如果让server7成为主那么就的把server6设置为primary

[[email protected]]# drbdadm primary example

[[email protected]]# mount /dev/drbd1 /mnt/

[[email protected]]# df

[[email protected] /]# drbd-overview  查看状态

[[email protected] /]# drbdadm down example  关闭节点

[[email protected] /]# drbdadm up example  开启节点

在实验中记住解挂的时候一定不能在挂载的那个目录进行解挂,否则解不掉

Drbd服务起不来有可能是因为没有下载内核启动所以在做实验下载需要的程序的时候把kernel-devel下载好。

两台主机上的/dev/drbd1不能同时挂载,只有状态为 primary 时,才能被挂载使

用,而此时另一方的状态为 secondary。

Heartbeat + drbd

在做drbd的时候heartbeat是关闭的。现在要开启heartbeat来自动挂载

[[email protected]]# vim haresources  在这个文件加入里磁盘自动挂载

server6.example.comIPaddr::172.25.137.100/24/eth0 drbddisk::exampleFilesystem::/dev/drbd1::/var/www/html::ext4 httpd

[[email protected]]# /etc/init.d/heartbeat start

[[email protected]]# ip addr show  我们可以看到vip在server6上

[[email protected] ha.d]# drbd-overview   此时6是主

/dev/drbd1 也自动挂载上了

如果关闭heartbeat服务此时server7是主备

[[email protected] ha.d]# ip addr show

[[email protected] ha.d]# drbd-overview

此时挂载在server7上

在drbd1上写一个测试页

在浏览器上看到的效果httpd服务一定要开启

时间: 2024-10-27 07:37:39

drbd+heartbeat的相关文章

Mysql+DRBD+Heartbeat 实现mysql高可用的双击热备(DRBD篇)

DRBD官方tar包下载地址:   http://oss.linbit.com/drbd/ 环境介绍: 系统版本:CentOS 6.4 (64位) 内核版本  2.6.32-358.el6.x86_64 软件版本:drbd-8.4.3.tar.gz 主:10.0.0.1   从:10.0.0.2 两台机器上的hosts都需要修改: [[email protected] ~]# vim /etc/hosts 10.0.0.1    node1 10.0.0.2    node2 两台服务器双网卡,

Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)

*************************************部署MYSQL******************************************* yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake bison* useradd mysql -d /usr/loc

DRBD+Heartbeat+NFS高可用实战

实验环境:Centos 6.7_64位 服务器: Master节点:dm1 IP地址:10.0.0.61(eth0) 192.168.3.150(eth1,心跳) Slave节点:dm2 IP地址:10.0.0.62(eth0) 192.168.3.160(eth1,心跳) VIP地址:192.168.0.180 一.DRBD环境搭建 1. host映射 # vi  /etc/hosts 127.0.0.1   localhostlocalhost.localdomain localhost4

drbd+heartbeat+nfs高可用架构搭建

一.客户需求 1.需求描述 有些客户有自己的存储设备,但是并没有集群文件系统服务,所以如果我们多个节点(计算节点)如果想同时使用其中的一个块且要保证高可用的话,就需要我们自己来完成类似集群文件系统的服务组合,在此我们使用的服务组合是:iscsi共享+drbd+heartbeat+nfs. 2.服务说明 Iscsi共享:这里通过iscsi共享服务将存储设备上的存储块共享出去,提供节点(NC1+NC2)使用,此处我们将在iscsi服务短创建两个镜像充当块设备. Drbd   :服务器之间镜像块设备内

mysql+DRBD+heartbeat

MySQL+DRBD+heartbeat                     概述: DRBD 一.DRBD简介 DRBD的全称为:Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群.其实现方式是通过网络来镜像整个设备.你可以把它看作是一种网络RAID.它允许用户在远程机器上建立一个本地块设备的实时镜像. 二.DRBD工作原理 (DRBD Primary)负责接收数据,把数据写到本地磁

DRBD+HEARTBEAT+MYSQL实践过程

### 知识补充,一定要看哦: 工作原理:指定heartbeat服务器作为主服务器,则另外一台将自动成为热备服务器,然后热备服务器上的配置heartbeat守护程序来监听来自主服务器的心跳,如果热备服务器在指定时间内未监听到来自主服务器的心跳,就会启动故障转移程序,并取得主服务器上的相关资源及服务的所有权,阶梯主服务器继续提供不间断服务从而达到资源及服务高可用性的目的. 和keepalived服务器一样,heartbeat高可用是服务器级别的,不是服务级别的. heartbeat切换的常见条件:

V 8 nfs+drbd+heartbeat

nfs+drbd+heartbeat,nfs或分布式存储mfs只要有单点都可用此方案解决 在企业实际生产场景中,nfs是中小企业最常用的存储架构解决方案之一,该架构方案部署简单.维护方便,只需通过配inotify+rsync简单而高效的数据同步方式就可实现对nfs存储系统的数据进行异机主从同步及类似MySQL的rw splitting,且多个从(读r)还可通过LVS或haproxy实现LB,既分担大并发读数据的压力又排除了从的单点故障: web server上的存储: 方案一(读写在任意一台we

mysql+drbd+heartbeat+主从

系统介绍:mysql+drbd+heartbeat+主从mysql_drbdA  eth0:192.168.1.233 eth1:172.20.27.10mysql_drbdB  eth0:192.168.1.234 eth1:172.20.27.20VIP=192.168.1.235mysql_slaveA eth0:192.168.1.232 eth1:172.20.27.30一:DRBD安装1.在mysql_drbdA和mysql_drbdB上面同时安装下面软件1.1修改分别主机名为mys

Drbd+heartbeat+mysql的测试报告

一.原因分析 1.目前架构分析图: 2.原因分析 由于平台业务网络不稳定,DRBD的心跳指向网关题导,在网络出现问题导致脑裂,出现脑裂有两种结果: 1.共享资源被瓜分.两边"服务"都起不来了: 2.两边"服务"都起来了,但同时读写"共享存储",导致数据损坏 3.导致脑裂发生的原因 1.高可用服务器之间心跳链路故障,导致无法相互检查心跳 2.高可用服务器上开启了防火墙,阻挡了心跳检测 3.高可用服务器上网卡地址等信息配置不正常,导致发送心跳失败 4

Drbd+Heartbeat+Mysql主从高可用

一.准备工作 系统:Centos6.5 两台主机需要相互域名解析 主节点(Primary Node) 次节点(Secondary Node) 主机名 ser5.hyzc.com ser6.hyzc.com IP地址 192.168.2.10 192.168.2.11 1.安装DRBD 参考博客安装  http://pengjc.blog.51cto.com/9255463/1835186 2.安装heartbeat与mysql 安装epel扩展源:        #yum -y install