构建高可用MFS分布式文件存储架构(3)

2. HeartBeat安装与配置(同时在主备上操作)

1.) 安装heartbeat

[root@mfs-master ~]# yum -y install libnet         

[root@mfs-master ~]# yum -y install heartbeat-devel         

[root@mfs-master ~]# yum -y install heartbeat-ldirectord         

[root@mfs-master ~]# yum -y install heartbeat 

 

2.)创建ha.cf

[root@mfs-master ~]# cat /etc/ha.d/ha.cf 

logfile /var/log/ha.log debugfile /var/log/ha-debug                     bcast eth1                    keepalive 2                  warntime 10                    deadtime 30             initdead 120                     hopfudge 1                     udpport 694                    auto_failback on                 node mfs-master                  node mfs-bak 

 

3.)配置心跳的加密方式:authkeys

[root@mfs-master ~]# cat >> /etc/ha.d/authkeys << EOF

auth 1

1 crc

EOF

 

再将authkeys  权限给为600

[root@mfs-master ~]chmod 600 /etc/ha.d/authkeys

 

4.)配置haresources

[root@mfs-master ~]# cat >> /etc/ha.d/haresources << EOF

mfs-master  Initdrbd  mfsmaster 192.168.8.210

EOF

 

这个文件中各字段的功能说明:

第一个字段:是主机名,是uname -a得到的

第二个字段:作用是执行当前的脚本命令此脚本可以定义在/etc/init.d/或/etc/ha.d/resource.d,此处我定义了一个名叫Initdrbd 的脚本命令,具体的见下面演示。

第三个字段:作用定义启动mfsmaster进程,必须在/etc/init.d/或/etc/ha.d/resource.d能找到的可执行的脚本文件。

第四个字段:作用是启动虚拟IP

 

5.) 创建Initdrbd脚本

[root@mfs-master ~]# cd /etc/ha.d/resource.d/

[root@mfs-master ~]# cat Initdrbd 

#!/bin/sh unset LC_ALL; export LC_ALL unset LANGUAGE; export LANGUAGE prefix=/usr exec_prefix=/usr . /etc/ha.d/shellfuncs   case "$1" in    'start'    drbdadm primary r0     mount /dev/drbd1 /data       ;;    'stop'    umount /data     drbdadm  secondary r0            ;; 'restart'     ;; *)         echo "Usage: $0 { start |  stop | restart }"      ;; esac exit 0 

[root@mfs-master ~]# chmod +x Initdrbd

 

6.)启动heartbeat

[root@mfs-master ~]# /etc/init.d/heartbeat start

[root@mfs-master ~]# service heartbeat start

 

过会我们来ping下虚拟IP

[root@mfs-master ~]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:0c:29:d8:bc:3e brd ff:ff:ff:ff:ff:ff

    inet 192.168.8.200/24 brd 192.168.8.255 scope global eth0

    inet 192.168.8.210/24 brd 192.168.8.255 scope global secondary eth0:0

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:0c:29:d8:bc:48 brd ff:ff:ff:ff:ff:ff

    inet 192.168.125.200/24 brd 192.168.125.255 scope global eth1

 

[root@mfs-master ~]# ping 192.168.8.210

要是能够PING通,说明配置成功!

[root@mfs-master ~]# tail -f /var/log/ha.log

 

3.MFS元数据服务器安装配置(主备操作一样)

切忌:用户的uid和gid必须两台主备机一样,否则切换之后,起不来!!!!!

1.)安装mfs

[root@mfs-master ~]# wget

[root@mfs-master ~]# groupadd -g 1000 mfs

[root@mfs-master ~]# useradd -u 1000 -g mfs -s /sbin/nologin mfs

[root@mfs-master ~]# tar zxf mfs-1.6.20-2.tar.gz

[root@mfs-master ~]# cd mfs-1.6.20-2

[root@mfs-master mfs-1.6.20-2]# ./configure --prefix=/usr/local/mfs  --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

[root@mfs-master mfs-1.6.20-2]# make;make install

[root@mfs-master mfs-1.6.20-2]# chown -R mfs.mfs /usr/local/mfs

 

2.)创建配置文件

[root@mfs-master ~]# cd /usr/local/mfs/etc

[root@mfs-master etc]# cp mfsmaster.cfg.dist mfsmaster.cfg

[root@mfs-master etc]# cat >> mfsexports.cfg<< EOF

192.168.8.0/24                  /       rw

*                       .       rw

EOF

[root@mfs-master etc]# cd ../var/mfs/

[root@mfs-master etc]# cp metadata.mfs.empty metadata.mfs

 

3.)设置环境变量

[root@mfs-master ~]# echo "export PATH=$PATH:/usr/local/mfs/sbin" >> /etc/profile

[root@mfs-master ~]# source /etc/profile

 

4.)启动MFS

[root@mfs-master ~]# mfsmaster start

 

5.)定制hearbeat的启动文件mfsmaster

[root@mfs-master ~]# cat /etc/init.d/mfsmaster 

# chkconfig: 345 91 10  # description: mfs start. . /etc/rc.d/init.d/functions . /etc/sysconfig/network  [ "${NETWORKING}" = "no" ] && exit 0 start() {         /mnt/usb/sbin/mfsmaster start }  stop() {         /mnt/usb/sbin/mfsmaster stop }  restart() {         /mnt/usb/sbin/mfsmaster restart }  case "$1" in   start)         start         ;;   stop)         stop         ;;   restart)         restart         ;;   *)         echo $"Usage: $0 start|stop|restart"         exit 1 esac  exit 0 

[root@mfs-master ~]#chmod 755 /etc/init.d/mfsmaster

 

二.元数据日志服务器metalogger安装与配置

1.)安装mfs

[root@metalogger ~]# wget

[root@metalogger ~]# groupadd -g 1000 mfs

[root@metalogger ~]# useradd -u 1000 -g mfs -s /sbin/nologin mfs

[root@metalogger ~]# tar zxf mfs-1.6.20-2.tar.gz

[root@metalogger ~]# cd mfs-1.6.20-2

[root@metalogger mfs-1.6.20-2]# ./configure --prefix=/usr/local/mfs  --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount

[root@metalogger mfs-1.6.20-2]# make;make install

[root@metalogger mfs-1.6.20-2]# chown -R mfs.mfs /usr/local/mfs

[root@metalogger mfs-1.6.20-2]# echo "export PATH=$PATH:/usr/local/mfs/sbin" >> /etc/profile

[root@metalogger mfs-1.6.20-2]# source /etc/profile

 

2.)创建配置文件

[root@metalogger ~]# cd /usr/local/mfs/etc

该服务仅需要一个配置文件,这里我们只需要从模板文件复制一个,然后稍微加以修改即可!

[root@metalogger etc]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg

[root@metalogger etc]# cat mfsmetalogger.cfg 

# WORKING_USER = mfs # WORKING_GROUP = mfs # SYSLOG_IDENT = mfsmetalogger # LOCK_MEMORY = 0 # NICE_LEVEL = -19 # DATA_PATH = /usr/local/mfs/var/mfs # BACK_LOGS = 50 # META_DOWNLOAD_FREQ = 24 # MASTER_RECONNECTION_DELAY = 5 MASTER_HOST = 192.168.8.210 # MASTER_PORT = 9419 # MASTER_TIMEOUT = 60 # deprecated, to be removed in MooseFS 1.7 # LOCK_FILE = /var/run/mfs/mfsmetalogger.lock 

 

这个配置文件,唯一需要修改的地方就是MASTER_HOST,它的值必须是元数据服务器

上由heartbeat生成的虚拟VIP:192.168.8.210

MASTER_HOST = 192.168.8.210

其它选项不加说明,也很容易理解!

 

3.) 元数据日志服务(metalogger)运行及关闭

[root@metalogger etc]# mfsmetalogger start

关闭服务

[root@metalogger etc]# mfsmetalogger stop

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fb3614ca9886bf8022b4343f8c0dfe07.html