NFS服务高可用方案

NFS服务高可用方案

1. 简述

本篇文章主要是使用DRBD+HEARTBEAT来保证NFS的高可用。使用DRBD来保证主从服务器的文件一致, 使用 HEARTBEAT来做热切换。

2. 硬件和网络需求

需要两台服务器, 并且分别单独挂载硬盘或者硬盘分区。 同时有一个 VIP 能够对外统一提供NFS服务

3. 安装 DRBD

3.1 安装DRBD

两台服务器都进行添加的磁盘分区格式化, 如果是有已存在的分区可以忽略

parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 0 1024
parted /dev/sdb mkpart primary 1025 2146
parted /dev/sdb p
mkfs.ext4 /dev/sdb1

安装 和初始化drbd

rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
yum install -y drbd84-utils kmod-drbd84
modprobe drbd

3.2 编辑配置文件

创建文件 /etc/drbd.d/r0.res
172.16.1.31和 172.16.1.32 分别为两台服务器 IP

resource r0 {
  net {
    protocol C;
    cram-hmac-alg "sha1";
    shared-secret "c4f9375f9834b4e7f0a528cc65c055702bf5f24a";
}
  device      /dev/drbd0;
  disk        /dev/sdb1;
  meta-disk   /dev/sdb2[0];
  on nfs {
    address     172.16.1.31:7788;
  }
  on nfs-s {
    address     172.16.1.32:7788;
  }
}

3.3 初始化设备

drbdadm create-md r0
drbdadm up r0
cat /proc/drbd

NFS主服务器提升

drbdadm -- --overwrite-data-of-peer primary r0

将主NFS服务器的 drbd0 格式化供使用

mkfs.ext4 /dev/drbd0

测试一下

mkdir /data
mount /dev/drbd0 /data

4 NFS服务安装

4.1 安装服务

yum install -y rpcbind nfs-utils

4.2 配置

修改配置文件

echo "/data 10.0.0.0/24(rw,sync,anonuid=502,anongid=502,all_squash)" >/etc/exports

创建用户个用户组 , 赋予权限,这里的 502 是 创建的 nginx 用户的 UID

useradd -s /sbin/nologin -u 502 -M nginx
chown -R nginx.nginx /data

启动NFS服务

/etc/init.d/rpcbind start
/etc/init.d/nfs start

5. 安装heartbeat

5.1 安装

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum repolist
yum install -y heartbeat

5.2 修改配置

5.2.1 修改总体配置 /etc/ha.d/ha.cf 如下
## 日志文件
logfile /var/log/ha-log
logfacility      local0
keepalive 2
deadtime 30
warntime 10
initdead 60
# 对方的IP
mcast eth0 225.0.0.31 694 1 0
auto_failback on
node nfs
node nfs-s
5.2.2 修改双机验证文件 /etc/ha.d/authkeys
auth 1
1 sha1 c4f9375f9834b4e7f0a528cc65c055702bf5f24a

修改一下权限
chmod 600 /etc/ha.d/authkeys

5.2.3 修改集群资源文件配置 /etc/ha.d/haresources
nfs 10.0.0.30 drbddisk::r0 Filesystem::/dev/drbd0::/data::ext4 nfs

注意这里配置的 IP 是 VIP, 两台服务器都一致

5.3 启动

/etc/init.d/heartbeat start
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值