阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

DRBD+Heartbeat+NFS高可用文件共享存储

132次阅读
没有评论

共计 7919 个字符,预计需要花费 20 分钟才能阅读完成。

一、概述

1、架构图

DRBD+Heartbeat+NFS 高可用文件共享存储

2、软件简介

Heartbeat(Linux-HA)的工作原理:heartbeat 最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务。

DRBD:drbd 是一个软件来实现数据实时、同步、异步的数据镜像块存储复制解决方案,主要功能是通过 Linux 内核实现。DRBD 类似网络 RAID- 1 功能写入本地的文件会通过网络以相同方式写在另一文件系统。

3、资源分配

系统:CentOS6.5_x64

主机

角色

IP地址

masternfs

主 NFS

eth0:192.168.0.202/24

backupnfs

备 NFS

eth0:192.168.0.203/24

 

VIP

192.168.0.204/24

4、配置两台 hosts 记录
[root@masternfs ~]# vi /etc/hosts
192.168.0.202 masternfs
192.168.0.203 backupnfs

二、安装配置 DRBD(两台服务器配置基本一样)
安装 epel 源:
rpm -ivh http://mirrors.ustc.edu.cn/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
下载 drbd 软件:http://oss.linbit.com/drbd/
1、安装依赖包
1 [root@masternfs ~]# yum install -y gcc gcc-c++ make perl kernel-devel kernel-headers flex drbd84-utils kmod-drbd84

2、安装 DRBD 并加载到内核
[root@masternfs ~]# tar zxvf drbd-8.4.4.tar.gz
[root@masternfs ~]# cd drbd-8.4.4
[root@masternfs ~]# ./configure –prefix=/usr/local/drbd –with-km #–with-km,启用内核模块
[root@masternfs ~]# make KDIR=/usr/src/kernels/2.6.32-358.23.2.el6.x86_64/ #指定内核源码路径
[root@masternfs ~]# make install
[root@masternfs ~]# chkconfig –add drbd
[root@masternfs ~]# chkconfig drbd on
[root@masternfs ~]# cp drbd/drbd.ko /lib/modules/`uname -r`/kernel/lib/ #加载 DRBD 模块到内核中
[root@masternfs ~]# modprobe drbd
[root@masternfs ~]# lsmod |grep drbd  #由此查看 drbd 模块已经加载
drbd                333755  0
libcrc32c              1246  1 drbd

3、配置 DRBD
[root@masternfs ~]# cd /usr/local/drbd/
[root@masternfs ~]# vi /usr/local/drbd/etc/drbd.d/global_common.conf
global {
        usage-count yes;
}
common {
        protocol C;
disk {
        on-io-error detach;
}
syncer {
        rate 100M;
 }
}
resource web {
        on masternfs {
        device /dev/drbd0;
        disk /dev/sdb1;
        address 192.168.0.202:7899;
        meta-disk internal;
  }
        on backupnfs {
        device /dev/drbd0;
        disk /dev/sdb1;
        address 192.168.0.203:7899;
        meta-disk internal;
  }
}

4、创建供 DRBD 记录信息数据块
[root@masternfs ~]# drbd admcreate-md web
Writing meta data…
initializing activity log
NOT initializing bitmap
New drbd meta data blocksuccessfully created.
success
[root@masternfs ~]# mkdir -p /usr/local/drbd/var/run/drbd  #创建资源目录
[root@masternfs ~]# service drbd start

DRBD+Heartbeat+NFS 高可用文件共享存储

5、默认没有分主备节点的,需要设置

[root@masternfs ~]# cat /proc/drbd
version: 8.4.4(api:1/proto:86-101)
GIT-hash:599f286440bd633d15d5ff985204aff4bccffadd build by phil@Build64R6, 2013-10-1415:33:06
 0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r—–
ns:64 nr:112 dw:176 dr:6088 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1wo:f oos:0

[root@masternfs ~]# drbdadm — –overwrite-data-of-peer primary web
[root@db-backup ~]# drbdadm secondary web  #backupnfs 服务器设置从节点

 #再查看状态已经是主从
[root@masternfs ~]# drbd-overview
  0:mysql/0 Connected Primary/Secondary UpToDate/UpToDate C r—–

说明:
cs:两台数据连接状态
ro:两台主机的状态
ds:磁盘状态是“UpToDate/UpToDate”,同步状态。
6、格式化并挂载分区
123 [root@masternfs ~]# mkfs.ext4 /dev/drbd0
[root@masternfs ~]# mkdir /web
[root@masternfs ~]# mount /dev/drbd0 /web

DRBD 的详细介绍:请点这里
DRBD 的下载地址:请点这里

相关阅读

Linux 高可用(HA)集群之 DRBD 详解 http://www.linuxidc.com/Linux/2013-08/89035.htm

DRBD 中文应用指南 PDF http://www.linuxidc.com/Linux/2013-08/89034.htm

CentOS 6.3 下 DRBD 安装配置笔记 http://www.linuxidc.com/Linux/2013-06/85600.htm

基于 DRBD+Corosync 实现高可用 MySQL http://www.linuxidc.com/Linux/2013-05/84471.htm

CentOS 6.4 下 DRBD 安装配置 http://www.linuxidc.com/Linux/2013-09/90536.htm

三、安装配置 NFS

[root@masternfs ~]# yum install -y nfs-utils
[root@masternfs ~]# vi /etc/exports
/web 192.168.0.0/24(rw,no_root_squash)
[root@masternfs ~]# service rpcbind start
[root@masternfs ~]# service nfs start
[root@masternfs ~]# chkconfig rpcbind on
[root@masternfs ~]# chkconfig nfs on

四、安装配置 Heartbeat

[root@masternfs ~]# yum install heartbeat* -y
[root@masternfs ~]# cd /usr/share/doc/heartbeat-3.0.4/
[root@masternfsheartbeat-3.0.4]# cp ha.cf authkeys haresources /etc/ha.d/
[root@masternfsheartbeat-3.0.4]# cd /etc/ha.d/

[root@masternfs ha.d]# vi ha.cf
logfile /var/log/ha-log
logfacility local0    #如果未定义上述日志,默认写入 /var/log/message
keepalive 2      #心跳间隔
deadtime 30      #死亡阀值
warntime 10      #警告时间
initdead 120      #首次启动 heartbeat,等待多久才启动主服务资源
udpport  694      #连接端口
bcast eth0            #使用什么方式组织心跳,最好用 ucast 方式
auto_failback off    #当主节点故障恢复后,自动获取资源并取代从节点
node masternfs        #主节点主机名
node backupnfs        #备份节点主机名
ping 192.168.0.1      #选择 ping 节点,ping 的越好对 HA 集群越稳定,建议使用网关

[root@db-master ~]# vi /etc/ha.d/authkeys
auth 2
2 sha1 HI!

[root@db-master ~]# masternfs IPaddr::192.168.0.204/24/eth0 drbddisk::web Filesystem::/dev/drbd0::/web::ext4nfs

参数说明:
masternfsIPaddr::192.168.0.204/24/eth0  #主机名,后跟虚拟 IP 地址、接口
drbddisk::web  #管理 drbd 资源
Filesystem::/dev/drbd0::/web::ext4killnfsd  #文件系统,目录及格式,后跟 nfs 资源脚本

[root@db-master ~]# chmod 600 /etc/ha.d/authkeys  #不修改权限会报错
[root@db-master ~]# service heartbeat start
[root@db-master ~]# chkconfig heartbeat on

五、测试高可用性

1、停掉 masternfs 服务器 heartbeat 服务,是否虚拟 IP 正常切换,可通过 ip addr 命令查看。
2、通过一台测试机,mount -t nfs 192.168.0.204:/web/media,当故障切换时,nfs 无间断提供服务,提供完美冗余。
3、通过 ha-log 日志可以看出主释放资源,备接管资源。

DRBD+Heartbeat+NFS 高可用文件共享存储

推荐阅读

Linux 高可用(HA)集群之 heartbeat 基于 crm 进行资源管理详解 http://www.linuxidc.com/Linux/2013-08/89167.htm

Heartbeat+httpd+NFS 实现高可用的 Web 服务器 http://www.linuxidc.com/Linux/2013-08/88520.htm

Linux 高可用(HA)集群之 Heartbeat 详解 http://www.linuxidc.com/Linux/2013-08/88521.htm

Linux 高可用性方案之 Heartbeat 的 CRM 配置 http://www.linuxidc.com/Linux/2012-05/60838.htm

高可用集群 Heartbeat v1 实例 http://www.linuxidc.com/Linux/2013-09/90757.htm

一、概述

1、架构图

DRBD+Heartbeat+NFS 高可用文件共享存储

2、软件简介

Heartbeat(Linux-HA)的工作原理:heartbeat 最核心的包括两个部分,心跳监测部分和资源接管部分,心跳监测可以通过网络链路和串口进行,而且支持冗余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运 行在对方主机上的资源或者服务。

DRBD:drbd 是一个软件来实现数据实时、同步、异步的数据镜像块存储复制解决方案,主要功能是通过 Linux 内核实现。DRBD 类似网络 RAID- 1 功能写入本地的文件会通过网络以相同方式写在另一文件系统。

3、资源分配

系统:CentOS6.5_x64

主机

角色

IP地址

masternfs

主 NFS

eth0:192.168.0.202/24

backupnfs

备 NFS

eth0:192.168.0.203/24

 

VIP

192.168.0.204/24

4、配置两台 hosts 记录
[root@masternfs ~]# vi /etc/hosts
192.168.0.202 masternfs
192.168.0.203 backupnfs

二、安装配置 DRBD(两台服务器配置基本一样)
安装 epel 源:
rpm -ivh http://mirrors.ustc.edu.cn/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
下载 drbd 软件:http://oss.linbit.com/drbd/
1、安装依赖包
1 [root@masternfs ~]# yum install -y gcc gcc-c++ make perl kernel-devel kernel-headers flex drbd84-utils kmod-drbd84

2、安装 DRBD 并加载到内核
[root@masternfs ~]# tar zxvf drbd-8.4.4.tar.gz
[root@masternfs ~]# cd drbd-8.4.4
[root@masternfs ~]# ./configure –prefix=/usr/local/drbd –with-km #–with-km,启用内核模块
[root@masternfs ~]# make KDIR=/usr/src/kernels/2.6.32-358.23.2.el6.x86_64/ #指定内核源码路径
[root@masternfs ~]# make install
[root@masternfs ~]# chkconfig –add drbd
[root@masternfs ~]# chkconfig drbd on
[root@masternfs ~]# cp drbd/drbd.ko /lib/modules/`uname -r`/kernel/lib/ #加载 DRBD 模块到内核中
[root@masternfs ~]# modprobe drbd
[root@masternfs ~]# lsmod |grep drbd  #由此查看 drbd 模块已经加载
drbd                333755  0
libcrc32c              1246  1 drbd

3、配置 DRBD
[root@masternfs ~]# cd /usr/local/drbd/
[root@masternfs ~]# vi /usr/local/drbd/etc/drbd.d/global_common.conf
global {
        usage-count yes;
}
common {
        protocol C;
disk {
        on-io-error detach;
}
syncer {
        rate 100M;
 }
}
resource web {
        on masternfs {
        device /dev/drbd0;
        disk /dev/sdb1;
        address 192.168.0.202:7899;
        meta-disk internal;
  }
        on backupnfs {
        device /dev/drbd0;
        disk /dev/sdb1;
        address 192.168.0.203:7899;
        meta-disk internal;
  }
}

4、创建供 DRBD 记录信息数据块
[root@masternfs ~]# drbd admcreate-md web
Writing meta data…
initializing activity log
NOT initializing bitmap
New drbd meta data blocksuccessfully created.
success
[root@masternfs ~]# mkdir -p /usr/local/drbd/var/run/drbd  #创建资源目录
[root@masternfs ~]# service drbd start

DRBD+Heartbeat+NFS 高可用文件共享存储

5、默认没有分主备节点的,需要设置

[root@masternfs ~]# cat /proc/drbd
version: 8.4.4(api:1/proto:86-101)
GIT-hash:599f286440bd633d15d5ff985204aff4bccffadd build by phil@Build64R6, 2013-10-1415:33:06
 0: cs:Connected ro:Secondary/Secondaryds:UpToDate/UpToDate C r—–
ns:64 nr:112 dw:176 dr:6088 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1wo:f oos:0

[root@masternfs ~]# drbdadm — –overwrite-data-of-peer primary web
[root@db-backup ~]# drbdadm secondary web  #backupnfs 服务器设置从节点

 #再查看状态已经是主从
[root@masternfs ~]# drbd-overview
  0:mysql/0 Connected Primary/Secondary UpToDate/UpToDate C r—–

说明:
cs:两台数据连接状态
ro:两台主机的状态
ds:磁盘状态是“UpToDate/UpToDate”,同步状态。
6、格式化并挂载分区
123 [root@masternfs ~]# mkfs.ext4 /dev/drbd0
[root@masternfs ~]# mkdir /web
[root@masternfs ~]# mount /dev/drbd0 /web

DRBD 的详细介绍:请点这里
DRBD 的下载地址:请点这里

相关阅读

Linux 高可用(HA)集群之 DRBD 详解 http://www.linuxidc.com/Linux/2013-08/89035.htm

DRBD 中文应用指南 PDF http://www.linuxidc.com/Linux/2013-08/89034.htm

CentOS 6.3 下 DRBD 安装配置笔记 http://www.linuxidc.com/Linux/2013-06/85600.htm

基于 DRBD+Corosync 实现高可用 MySQL http://www.linuxidc.com/Linux/2013-05/84471.htm

CentOS 6.4 下 DRBD 安装配置 http://www.linuxidc.com/Linux/2013-09/90536.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计7919字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中