当前位置: 首页 > 科技观察

Moosefs分布式文件系统集群讲解配置

时间:2023-03-18 17:25:33 科技观察

1管理服务器(master-server):负责各个数据存储服务器的管理,文件读写调度,文件空间恢复和恢复。多节点副本2元数据日志服务器(changelog-server):负责备份主服务器的变更,(一般情况下可以和管理服务器放在一起)文件类型为changelog_ml.*.mfs,所以它可以在出现问题时从主服务器接管。3数据存储服务器(chunk-server):负责连接管理服务器,服从管理服务器调度,提供存储空间,为客户提供数据传输。4Clients(客户端):通过fuse内核接口挂载在远程管理服务器上管理的数据存储服务器。看来共享文件系统和本地Unix文件系统的使用效果是一样的。MFS文件系统读写原理:MFS分布式文件系统搭建:系统环境:RHEL6.4selinuxisdisablediptablesisflush1.yum源定义用于解决软件包依赖问题#catyum.repo[base]name=yumbaseurl=ftp://192.168.2.234/pub/RHEL6.4gpgcheck=0[HA]name=habaseurl=ftp://192.168.2.234/pub/RHEL6.4/HighAvailabilitygpgcheck=0[lb]name=LBbaseurl=ftp://192.168.2.234/pub/RHEL6.4/LoadBalancergpgcheck=0[Storage]name=Stbaseurl=ftp://192.168.2.234/pub/RHEL6.4/ResilientStoragegpgcheck=0[SFS]name=FSbaseurl=ftp://192.168.2.234/pub/RHEL6.4/ScalableFileSystemgpgcheck=0二、主机解析准备#cat/etc/hosts192.168.2.88node1mfsmaster192.168.2.89node2192.168.2.90node3192.168.2.82node4192.168.2.85node5实验将使用node1作为master-serverNode3和node4用作块服务器,node5用作客户端。所有节点都必须具备以上准备工作。3、安装准备#yuminstallrpm-buildgccmakefuse-develzlib-devel-y安装编译环境使用的依赖(其实在安装过程中会提示安装)#rpmbuild-tbmfs-1.6.27.tar.gzgz包构建成rpm包的方式注意:包的格式很重要(只支持大版本)##ls/root/rpmbuild/RPMS/x86_64/rpm包生成mfs-cgi-1.6.27-2.x86_64.rpmmfs-client-1.6.27-2.x86_64.rpmmfs-cgiserv-1.6.27-2.x86_64.rpmmfs-master-1.6.27-2。x86_64.rpmmfs-chunkserver-1.6.27-2.x86_64.rpmmfs-metalogger-1.6.27-2.x86_64.rpm1.master-server安装:#yumlocalinstallmfs-cgi-1.6.27-2.x86_64.rpmmfs-master-1.6.27-2.x86_64.rpmmfs-cgiserv-1.6.27-2.x86_64.rpm-y可以使用cgi进行页面监控:master-server:主要文件和目录/var/lib/mfsmfs数据目录元数据。mfsmfs启动文件/etc/mfs主目录(存放配置文件)mfsmaster.cfgmfs主配置文件(定义相关参数、用户、组等设置)mfsexports.cfgmfs挂载目录及其权限控制文件mfstopology.cfg定义MFS网络拓扑结构的文件配置文件,不用修改,可以默认使用#chown-Rnobody/var/lib/mfs注意数据目录的mfs权限#mfsmasterstartmfs#mfsmasterstopclosemfs#netstat-antlpe(mfsmaster开启三个端口:客户端连接9421端口,监听9422端口;数据节点到端口9420)#/usr/share/mfscgi#chmod+x*.cgi赋予所有cgi页面可执行权限(为了查看web下的状态)#mfscgiserv--------》启动cgi监控http://192.168.2.88:9425/查看mfs监控信息2.chunk-server安装配置(node3和node4)#rpm-ivhmfs-chunkserver-1.6.27-2.x86_64.rpm#cd/etc/mfs/#cpmfschunkserver.cfg.distmfschunkserver.cfg#cpmfshdd.cfg.distmfshdd.cfg#vimmfshdd.cfgstorefile/mnt/chunk真正的存放目录(存放client的文件/mnt/mfs)#mkdir/mnt/chunk#mkdir/var/lib/mfs#chownnobody/var/lib/mfs/#chownnobody/mnt/chunk#mfschunkserver启动mfs服务器(注意mfsmaster的解析一定要到位)#l.生成隐藏锁文件mfschunkserver.lock3.clients的安装配置;#yumlocalinstallmfs-client-1.6.27-2.x86_64.rpm#cpmfsmount.cfg.distmfsmount.cfg#vimmfsmount.cfg修改主目录和分布式目录/mnt/mfs#mkdir/mnt/mfs#mfsmounts执行客户端挂载mfsmaster接受连接带参数的离子:读写,restricted_ip;root映射到root:root挂载成功#df查看挂载的设备mfsmaster:94216714624067146240%/mnt/mfs#ll-d/mnt/mfs/挂载后自动读写drwxrwxrwx2rootroot0Jun810:29/mnt/mfs/test:MFS测试:#mkdirhello{1,2}#lshello1hello2#mfsdirinfohello1/hello1/:inodes:1directories:1files:0chunks:0length:0size:0realsize:0#mfssetgoal-r3hello1/设置备份时间hello1/:inodeswithgoalchanged:1inodeswithgoalnotchanged:0inodeswithpermissiondenied:0#mfsgetgoalhello1/查看文件备份号hello1/:3#mfsgetgoalhello2hello2:1#cp/etc/fstabhello1/#cp/etc/passwdhello2/#mfsfileinfo/hello/fstab查看文件具体信息fstab:chunk0:0000000000000B_00000001/(ID:11Ver:1)Copy1:192.168.2.82:9422Copy2:192.168.2.90:9422#MFSCHECKFILEPASSW)copy1:192.168.2.90:9422[info@node5hellofile1]#hello2/passwd../hello2/passwd:chunk0:000000000000000C_00000001/(id:12ver:1)novalidcopies!!!ClientEnd:Accidentallydeletedfiles(意外删除/mnt/mfs/hello*/passwd)#mfsmount-m/mnt/test/-Hmfsmaster恢复目录安装在mfsmaster上mfsmaster接受参数连接:读写,restricted_ip#mount#cd/mnt/test/##mfscheckfilepasswd#mv00000005\|hello2\|passwdundel/直接恢复到之前的mfs目录#umount/mnt/meta/mfschunk-server可以自动检测客户端的配置文件:#mfschunkserverstop在客户端再次复制文件,#cp/etc/inittab/mnt/mfs/hello1#mfsgetgoalhello1/fstab查看文件副本数#mfsgetgoalhello1/inittab#mfsfileinfoinittab开头只有一个chukserver,只能保存一份。恢复chunkserver的个数inittab:chunk0:0000000000000006_00000001/(id:6ver:1)copy1:192.168.2.184:9422copy2:192.168.2.185:9422注:在mfsmaster中,正常运行时,数据文件是metadata.mfs.back当主机出现故障时,数据文件将保存为metadata.mfs。如果异常关闭(kill-9pid),数据文件将不会恢复。#mfsmetarestore-a-异常启动后,metadata.mfs文件会丢失,必须恢复并重启mfsmaster(mfsmaster必须有metadata.mfs文件才能启动)本文来自:https://img.ydisp.cn/新闻/20220914/o0xlqmqkksr