第一 解决moosefs 中的元数据(mfsmaster)单点故障
1 所需要的软件包如下
drbd-8.3.10.tar.gz
heartbeat-2.0.7.tar.gz
libnet-1.1.2.1.tar.gz
mfs-1.6.20-2.tar.gz
2 用到heartbeat 来进行心跳探测主从节点,判断其主机是否存活
3 对moosefs元数据(mfsmaster)的运行状态监控,在对moosefs元数据(mfsmaster)的状态监控是用shell 脚本 ,当mfsmaster 处于stoped 状态时,会自动关闭heartbeat
并进行主从切换
4 为保证数据的实时同步是用DRBD(磁盘镜像技术)
第二 在配置其drbd主从节点,对其系统资源的要求
1 在配置磁盘镜像的同步磁盘必须是一个独立的磁盘分区(不能和系统磁盘在同一个分区)或者是独立的磁盘,
2 对drbd的主从节点上进行数据同步的网卡接口必须保证其网络的高可用性,如果在主从节点之间不能正常探测到对方主机,drbd会出现split brain 现象,从而导致 drbd的主从节点不能进行数据的正常同步
第三,安装drbd
1 drbd 的安装
#tar xvf drbd-8.3.10.tar.gz
#cd drbd-8.3.10
#./configure --with-km --prefix=/usr --sysconfdir=/etc --localstatedir=/var
#make && make install
#modprobe drbd
2 drbd 的配置
#vim /etc/drbd.d/global_common.conf
global {
usage-count yes;
}
common {
syncer {
# rate after al-extents use-rle cpu-mask verify-alg csums-alg
rate 100M;
al-extents 257;
}
}
resource mfs {
#使用的协议,收到写入确认就认为完成写操作
protocol C;
disk {
on-io-error detach;
#同步磁盘的大小,建议如果同步的磁盘大小不相同,请在该处设置最小的磁盘大小
size 100G;
} net {
after-sb-0pri disconnect;
rr-conflict disconnect;
}
syncer {
#同步速率
rate 100M;
al-extents 257;
}
on mfsmaster {
#drbd的设备
device /dev/drbd0;
#同步的磁盘
disk /dev/sdb1;
#server IP 地址,及其端口
address 10.10.1.1:7788;
meta-disk internal;
}
on mfsback {
device /dev/drbd0;
disk /dev/sdb1;
address 10.10.1.2:7788;
meta-disk internal;
}
}
3 在主次节点上分别启动drbd
#service drbd start
#drbdadm create-md resource 注:resource 为资源名称
#mkfs.ext3 /dev/drbd0
4 在主节点上执行下面命令
#drbdsetup /dev/drbd0 primary –o
#mount /dev/drbd0 /mfsdata