MFS keepalived分布式文件系统安装配置.docx

上传人:b****8 文档编号:27803400 上传时间:2023-07-05 格式:DOCX 页数:20 大小:53.14KB
下载 相关 举报
MFS keepalived分布式文件系统安装配置.docx_第1页
第1页 / 共20页
MFS keepalived分布式文件系统安装配置.docx_第2页
第2页 / 共20页
MFS keepalived分布式文件系统安装配置.docx_第3页
第3页 / 共20页
MFS keepalived分布式文件系统安装配置.docx_第4页
第4页 / 共20页
MFS keepalived分布式文件系统安装配置.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

MFS keepalived分布式文件系统安装配置.docx

《MFS keepalived分布式文件系统安装配置.docx》由会员分享,可在线阅读,更多相关《MFS keepalived分布式文件系统安装配置.docx(20页珍藏版)》请在冰豆网上搜索。

MFS keepalived分布式文件系统安装配置.docx

MFSkeepalived分布式文件系统安装配置

 

MFS+KeepAlived

分布式文件系统部署手册

目录

一、应用部署情况3

二、角色说明4

1.拓扑简单工作原理4

2.服务器功能描述4

三、原理概述5

1.MFS元数据备份5

2.MFSMaster的恢复5

3.利用keepalived实现自动恢复与Master切换5

四、部署说明6

1.MasterServer安装6

2.Backupserver(metalogger)安装7

3.存储块服务器Chunkservers安装7

4.客户端安装8

5.在主从机器上安装keepalived9

6.keepalived主服务器配置10

7.keepalived从服务器配置12

8.启动顺序14

9.关闭顺序15

五、MFS常用操作16

 

一、应用部署情况

序号

主机名

应用部署

IP地址

VIP

1

NBJK-ZX-MFSMASTER

MFS(Master),keepalived((Master)

192.168.100.141

192.168.100.177

2

NBJK-ZX-MFSBACKUP

MFS(MFSBACKUP),keepalived((BACKUP)

192.168.100.144

3

NBJK-ZX-CHUNK1

MFS(chuckserver)

192.168.100.175

 

4

NBJK-ZX-CHUNK2

MFS(chuckserver)

192.168.100.176

 

5

NBJK-ZX-CHUNK3

MFS(chuckserver)

192.168.100.174

 

6

Client

mfsclient

192.168.100.51

 

二、角色说明

1.拓扑简单工作原理

mfservermastet管理控制是MFS分布式文件系统核心,负责处理client与chunkserver之间的联系;

Chunkserver提供存储数据的空间,通常是分区,磁盘,RAID等设备。

 

2.服务器功能描述

(1)管理服务器(master):

负责各个数据存储服务器(chunkserver)的管理,文件读写调度,文件空间回收以及恢复,多点拷贝;

(2)元数据日志服务器(metalogger):

负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便master出故障时接替其工作;

(3)数据存储服务器(chunkserver):

在存储文件时,首先把文件分成块,然后将这些块在数据存储服务器之间互相复制,同时,数据存储服务器还负责连接管理服务器,听从管理服务器调度,并为客户提供数据传输;

(4)客户机(client):

挂载目录,挂载点是master服务器的VIP。

 

三、原理概述

1.MFS元数据备份

通常元数据有两部分的数据:

主要元数据文件metadata.mfs,当mfsmaster运行的时候会被命名为metadata.mfs.back

元数据改变日志changelog.*.mfs,存储了过去的N小时的文件改变(N的数值是由BACK_LOGS参数设置的,参数的设置在mfschunkserver.cfg配置文件中)。

主要的元数据文件需要定期备份,备份的频率取决于取决于多少小时changelogs储存。

元数据changelogs实时的自动复制。

2.MFSMaster的恢复

一旦mfsmaster崩溃(例如因为主机或电源失败),需要最后一个元数据日志changelog并入主要的metadata中。

这个操作时通过mfsmetarestore工具做的,最简单的方法是:

mfsmetarestore-a

如果master数据被存储在MooseFS编译指定地点外的路径,则要利用-d参数指定使用,如:

mfsmetarestore-a-d/opt/mfsmaster

也可以利用非自动化恢复模式

mfsmetarestore-mmetadata.mfs.back-ometadata.mfschangelog_ml.*.mfs

3.利用keepalived实现自动恢复与Master切换

1.mfsmaster可以由mfsmetalogger产生的日志文件changelog_ml.*.mfs和metadata.mfs.back,由命令mfsmetarestore恢复

2.mfsbackup定时从mfsmaster获取metadata.mfs.back文件用于master恢复

3.keepalivedMASTERrun检测到mfsmaster故障的时候,停止 keepalived  

4.keepalivedBACKUP状态从backup转到master并触发notify_master事件执行恢复并启动mfsmaster脚本

 

四、部署说明

1.MasterServer安装(192.168.100.141)

(1)MasterServer安装

#groupaddmfs

#useradd-gmfsmfs-s/sbin/nologin

#wget

#tar-xvfmoosefs-2.0.88-1.tar.gz

#cdmoosefs-2.0.88

#./configure--prefix=/usr/local/mfs--with-default-user=mfs--with-default-group=mfs--disable-mfschunkserver--disable-mfsmount

#make

#makeinstall

(2)MasterServer配置

切换目录

#cd/usr/local/mfs/etc/mfs

复制样例文件,以得到master所需的配置文件

#cpmfsmaster.cfg.distmfsmaster.cfg

#cpmfsmetalogger.cfg.distmfsmetalogger.cfg

#cpmfsexports.cfg.distmfsexports.cfg

#cpmfstopology.cfg.distmfstopology.cfg

Mfsmaster.cfg配置文件包含主控服务器master相关的设置

mfsexports.cfg指定哪些客户端主机可以远程挂接MooseFS文件系统,以及授予挂接客户端什么样的访问权限。

所有配置文件的值都是被注释掉的,他们是默认生效的,如果要修改去掉注释修改即可。

二进制文件metadata和文本文件changelog将被保存在目录/var/lib/mfs,这是因为安装过程的configure步骤使用了选项--localstatedir=/var/lib。

首次安装master时,会自动生成一个名为metadata.mfs.empty的元数据文件metadata,该文件是空的。

MooseFSmaster运必须有文件metadata.mfs,这个文件是从metadata.mfs.empty改名而来:

#cd/usr/local/mfs/var/mfs/

#cpmetadata.mfs.emptymetadata.mfs

 

修改/etc/hosts文件,以绑定主机名mfsmaster与ip地址192.168.100.177:

125.210.186.177mfsmaster

 

2.Backupserver(metalogger)安装(192.168.100.144)

用来安装metalogger的主机,在性能上应该比master强大(至少有更多的内存)。

一旦主控服务器master失效,只要导入changelogs到元数据文件,备份服务器metalogger将能接替发生故障的master,行使管理服务器的职能(更多细节请参看http:

//www.moosefs.org/minihowtos.html#redundant-master)。

 

#groupaddmfs

#useradd-gmfsmfs-s/sbin/nologin

#wget

#tar-xvfmoosefs-2.0.88-1.tar.gz

#cdmoosefs-2.0.88

#./configure--prefix=/usr/local/mfs--with-default-user=mfs--with-default-group=mfs--disable-mfschunkserver--disable-mfsmount

#make

#makeinstall

产生配置文件

#cd/usr/local/mfs/etc/mfs

#cpmfsmetalogger.cfg.distmfsmetalogger.cfg

另外也需要产生主服务器的配置文件,以便metalogger切换为masterserver时能正常运行

#cpmfsmaster.cfg.distmfsmaster.cfg

#cpmfsexports.cfg.distmfsexports.cfg

#cpmfstopology.cfg.distmfstopology.cfg

相应地修改mfsexports.cfg,配置客户端挂载权限。

修改/etc/hosts文件,增加下面的行:

192.168.100.177mfsmaster

 

3.存储块服务器Chunkservers安装(192.168.100.174/175/176)

#groupaddmfs

#useradd-gmfsmfs-s/sbin/nologin

#wget

#tar-xvfmoosefs-2.0.88-1.tar.gz

#cdmoosefs-2.0.88

#./configure--prefix=/usr/local/mfs--with-default-user=mfs--with-default-group=mfs--disable-mfsmaster

#make

#makeinstall

准备chunkserver服务所需的配置文件:

#cd/usr/local/mfs/etc/mfs

#cpmfschunkserver.cfg.distmfschunkserver.cfg

#cpmfshdd.cfg.distmfshdd.cfg

 

在mfshdd.cfg中,给出了用于客户端挂接MooseFS分布式文件系统根分区所使用的共享空间位置。

建议在chunkserver上划分单独的空间给MooseFS使用,这样做的好处是便于管理剩余空间。

设置/data目录为共享点,在mfshdd.cfg加入下面的文本行:

/data

设置目录用户组:

#chown-Rmfs:

mfs/data

类似地,修改/etc/hosts文件,增加下面的行:

192.168.100.177mfsmaster

 

4.客户端安装(192.168.100.51)

 

(1)fuse安装与配置

lsmod|grepfuse可以查看系统是否加载的fuse模块,如无,需要安装。

下载fuse

#tar-xvffuse-2.9.5.tar.gz

#cdfuse-2.9.5

#./configure--prefix=/usr/local/fuse

#make

#makeinstall

#exportPKG_CONFIG_PATH=/usr/local/fuse/lib/pkgconfig:

$PKG_CONFIG_PATH

设置fuse启动时自动装载,在/etc/rc.local文件的后面增加如下一行:

modprobe fuse

(2)mfsclient安装与配置

#groupaddmfs

#useradd-gmfsmfs-s/sbin/nologin

#wget

#tar-xvfmoosefs-2.0.88-1.tar.gz

#cdmoosefs-2.0.88

#./configure--prefix=/usr/local/mfs--with-default-user=mfs--with-default-group=mfs--disable-mfsmaster--disable-mfschunkserver

#make

#makeinstall

类似地,修改/etc/hosts文件,增加下面的行:

192.168.100.177mfsmaster

 

5.在主从机器上安装keepalived(192.168.100.141/144)

#yum-yinstallopenssl-devel

#yum-yinstallpopt-devel

#wgethttp:

//www.keepalived.org/software/keepalived-1.2.20.tar.gz

#tarzxfkeepalived-1.2.19.tar.gz

#cdkeepalived-1.2.19

#./configure--prefix=/usr/local/keepalived

#make

#makeinstall

#cp/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/keepalived

#chmod+x/etc/init.d/keepalived

#修改/etc/init.d/keepalived,寻找大约15行左右的./etc/sysconfig/keepalived,修改为:

./usr/local/keepalived/etc/sysconfig/keepalived即指向正确的文件位置

#同时在上述行下添加以下内容(将keepavlied主程序所在路径导入到环境变量PATH中):

PATH="$PATH:

/usr/local/keepalived/sbin"

exportPATH

#3.修改/usr/local/keepalived/etc/sysconfig/keepalived文件,设置正确的服务启动参数

KEEPALIVED_OPTIONS="-D-f/usr/local/keepalived/etc/keepalived/keepalived.conf"

6.keepalived主服务器配置(192.168.100.141)

配置说明:

KEEPALIVEDMASTER每1秒检测一次mfsmaster状态

KEEPAVLIEDBACKUP不检测MFS状态只等待KEEPALIVED事件触发恢复

(1)keepalived配置文件

#vi/usr/local/keepalived/etc/keepalived/keepalived.conf

!

ConfigurationFileforkeepalived

global_defs{

notification_email{

acassen@firewall.loc

failover@firewall.loc

sysadmin@firewall.loc

}

notification_email_fromAlexandre.Cassen@firewall.loc

smtp_server127.0.0.1

smtp_connect_timeout30

router_idLVS_DEVEL

vrrp_skip_check_adv_addr

vrrp_strict

}

vrrp_scriptcheck_run{

script"/usr/local/mfs/check_master.sh"

interval2

}

vrrp_instanceVI_1{

statekeepalivedMASTER

interfacebond0

virtual_router_id60

priority100

advert_int1

authentication{

auth_typePASS

auth_pass1111

}

track_script{

check_run

}

virtual_ipaddress{

192.168.100.177

}

}

参数说明:

全局配置global_defs故障报警邮件

虚拟路由标识virtual_router_id。

这个标识是一个数字,并且同一个vrrp实例使用唯一的标识。

即同一个vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同时在整个vrrp内是唯一的。

验证authentication。

包含验证类型和验证密码。

类型主要有PASS、AH两种,通常使用的类型为PASS,据说AH使用时有问题。

验证密码为明文,同一vrrp实例MASTER与BACKUP使用相同的密码才能正常通信。

优先级priority。

这是一个数字,数值愈大,优先级越高。

在同一个vrrp_instance里,MASTER的优先级高于BACKUP。

若MASTER的priority值为100,那么BACKUP的priority只能是90或更小的数值。

同步通知间隔advert_int。

MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位为秒。

虚拟ip地址virtual_ipaddress。

可以有多个地址,每个地址占一行,不需要指定子网掩码。

注意:

这个ip必须与我们在lvs客户端设定的vip相一致!

(2)主服务器检测脚本

vim/usr/local/mfs/check_master.sh

#!

/bin/bash

functionstartmfscgi(){

check_cgi=`ps-ef--no-header|grepmfscgiserv|grep-vgrep`

RETVAL=$?

if[$RETVAL-ne0];then

/usr/local/mfs/sbin/mfscgiserv&>/dev/null

fi

}

check_master=`ps-ef--no-header|grepmfsmaster|grep-vgrep`

RETVAL=$?

if[$RETVAL-ne0];then

/usr/local/mfs/sbin/mfsmasterstart&>/dev/null

RETVAL=$?

if[$RETVAL-ne0];then

killallkeepalived&>/dev/null

PRCID=`ps-ef|grep/usr/local/mfs/sbin/mfscgiserv|awk'{print$2}'`

if["$PRCID"!

=""];then

kill-9$PRCID&>/dev/null

fi

else

startmfscgi

fi

else

startmfscgi

echo"mfsmasterisok"

fi

#chmod755/usr/local/mfs/check_master.sh

7.keepalived从服务器配置(192.168.100.144)

(1)keepalived配置文件

#vi/usr/local/keepalived/etc/keepalived/keepalived.conf

!

ConfigurationFileforkeepalived

global_defs{

notification_email{

acassen@firewall.loc

failover@firewall.loc

sysadmin@firewall.loc

}

notification_email_fromAlexandre.Cassen@firewall.loc

smtp_server127.0.0.1

smtp_connect_timeout30

router_idLVS_DEVEL

vrrp_skip_check_adv_addr

vrrp_strict

}

vrrp_instanceVI_1{

statekeepalivedBACKUP

interfacebond0

virtual_router_id60

priority50

advert_int1

authentication{

auth_typePASS

auth_pass1111

}

virtual_ipaddress{

192.168.100.177

}

notify_master/usr/local/mfs/switch_to_mfsmaster.sh

notify_backup/usr/local/mfs/switch_to_mfsmetalogger.sh

}

(2)从服务器切换到主服务器脚本

#vi/usr/local/mfs/switch_to_mfsmaster.sh

#!

/bin/bash

echo"==========================================="

/usr/local/mfs/sbin/mfsmasterstart-a

sleep60

/usr/local/mfs/sbin/mfsmasterstop

/usr/local/mfs/sbin/mfsmasterstart

/usr/local/mfs/sbin/mfscgiserv

echo"----------------changemaster--------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1