1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > CentOS下MFS分布式文件系统搭建

CentOS下MFS分布式文件系统搭建

时间:2024-01-26 17:40:45

相关推荐

CentOS下MFS分布式文件系统搭建

MFS : 网络分布式文件系统中的一种

Project web site: /

Installation and using MooseFS:

/reference-guide.html

mooseFS(moose 驼鹿)是一款网络分布式文件系统。它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源。MFS也像其他类unix文件系统一样,包含了层级结构(目录树),存储着文件属性(权限,最后访问和修改时间),可以创建特殊的文件(块设备,字符设备,管道,套接字),符号链接,硬链接。

拓扑图:

MooseFS文件系统介绍

MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色:

1 管理服务器managing server (master)

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

2 元数据日志服务器Metalogger server(Metalogger)

元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作

3 数据存储服务器data servers (chunk servers )

真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复 制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。

4 客户机挂载使用client computers

使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。

什么场景用到MFS?

5T : 找一个大硬盘,做raid5

50T : SAN 存储

5000T:分布式存储, 比如:MFS技术

数据比较多时,会想使用SAN存储。

为什么要使用MFS?

LVS集群+IP SAN存储拓扑图:

SAN存储: 20盘位: SAS盘:600G *20= 12000G 大约12T

MFS实验拓扑图 :

实验环境:

服务器 角色

xuegod63 管理服务器managing server (master) 和元数据日志服务器(Metalogger)

xuegod64 数据存储服务器data servers (chunk servers )

xuegod62 客户机挂载使用client computers

安装环境准备:

fuse.ko

所有服务器端和客户端都要支持fuse内核模块。

由于mfs的客户端程序也就是加载mfs磁盘系统的命令是使用了fuse.

用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如NTFS-3G(作用:让Linux中对NTFS文件系统提供支持) 使用FUSE实现。

2.6以上内核,都自带fuse

配置 : mfs管理服务器 : xuegod63

准备:xuegod63,64, 62

[root@xuegod63 ~]# yum install gcc fuse fuse-devel zlib-devel -y[root@xuegod63 mfs-1.6.27]# tar zxvf mfs-1.6.27-5.tar.gz[root@xuegod63 ~]# cd mfs-1.6.27

创建用户:mfs

[root@xuegod63 mfs-1.6.27]# useradd -s /sbin/nologin mfs[root@xuegod63 mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs[root@xuegod63 mfs-1.6.27]# make && make install[root@xuegod63 ~]# scp mfs-1.6.27-5.tar.gz 192.168.1.64:/root/root@192.168.1.64's password: mfs-1.6.27-5.tar.gz100% 766KB 766.1KB/s 00:00 [root@xuegod63 ~]# scp mfs-1.6.27-5.tar.gz 192.168.1.62:/root/root@192.168.1.62's password: mfs-1.6.27-5.tar.gz100% 766KB 766.1KB/s 00:00

安装:xuegod63 元数据日志服务器:

[root@xuegod63 ~]# rm -rf mfs-1.6.27[root@xuegod63 ~]# tar -zxvf mfs-1.6.27-5.tar.gz[root@xuegod63 ~]#cd mfs-1.6.27[root@xuegod63 mfs-1.6.27]# useradd -s /sbin/nologin mfs[root@xuegod63 mfs-1.6.27]# ./configure --prefix=/usr/local/mfsmeta --with-default-user=mfs --with-default-group=mfs && make && make install

安装:xuegod64 chunck server 数据存储

[root@xuegod64 mfs-1.6.27]# yum install gcc fuse fuse-devel zlib-devel -y[root@xuegod64 mfs-1.6.27]#useradd -s /sbin/nologin mfs[root@xuegod64 mfs-1.6.27]#./configure --prefix=/usr/local/mfsmetachunk --with-default-user=mfs --with-default-group=mfs && make && make install

安装:xuegod62 客户端:

[root@xuegod62 mfs-1.6.27]# ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount

报错:

checking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... configure: error: newly created file is older than distributed files!Check your system clockyum install gcc fuse fuse-devel zlib-devel -yuseradd -s /sbin/nologin mfs./configure --prefix=/usr/local/mfsmeta --with-default-user=mfs --with-default-group=mfs && make && make install

开始配置:

xuegod63

查看安装后的目录结构:

[root@xuegod63 ~]# ls /usr/local/mfs*/usr/local/mfs:bin etc sbin share var

生成配置文件:

[root@xuegod63 mfs]# pwd/usr/local/mfs/etc/mfs[root@xuegod63 mfs]# cp mfsmaster.cfg.dist mfsmaster.cfg[root@xuegod63 mfs]# cp mfsexports.cfg.dist mfsexports.cfg[root@xuegod63 mfs]# cp mfstopology.cfg.dist mfstopology.cfg[root@xuegod63 mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg[root@xuegod63 mfs]# cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfsvim mfsmaster.cfg# MATOCS_LISTEN_HOST = *# MATOCS_LISTEN_PORT = 9420 # master会打开9420端口等待 mfschunkserver 数据存储服务器连接

修改目录权限:

[root@xuegod63 mfs]# chown -R mfs:mfs /usr/local/mfs

启动,关闭服务 master

[root@xuegod63 mfs]# /usr/local/mfs/sbin/mfsmaster restart/start/stop[root@xuegod63 mfs]# ls var/mfs/metadata.mfs.back metadata.mfs.empty stats.mfsmetadata.mfs.back.1 sessions.mfs[root@xuegod63 mfs]# echo '/usr/local/mfs/sbin/mfsmaster restart ' >> /etc/rc.local[root@xuegod63 mfs]# tail /var/log/messages

配置访问共享权限:

[root@xuegod63 mfs]# vim mfsexports.cfg 192.168.1.0/24/ rw,alldirs,maproot=0

b.被挂载的目录

/ 表示MooseFS的根

. 表示MFSMETA文件系统

c.客户端拥有的权限

ro 只读

rw 读写

alldirs 允许挂载任何指定的子目录

maproot 映射为root用户还是指定的用户

元数据日志服务器:

[root@xuegod63 mfs]# pwd/usr/local/mfsmeta/etc/mfs[root@xuegod63 mfs]# cp mfsmetalogger.cfg.dist mfsmetalogger.cfg #改:15 # MASTER_HOST = mfsmaster16 # MASTER_PORT = 9419MASTER_HOST = 192.168.1.63MASTER_PORT = 9419[root@xuegod63 mfs]# chown -R mfs:mfs /usr/local/mfsmeta/

启动:

[root@xuegod63 mfs]# /usr/local/mfsmeta/sbin/mfsmetalogger start[root@xuegod63 mfsmeta]# pwd/usr/local/mfsmeta[root@xuegod63 mfsmeta]# ls var/mfs/changelog_ml_back.0.mfs metadata.mfs.empty sessions_ml.mfschangelog_ml_back.1.mfs metadata_ml.mfs.back

数据存储服务器 (chunkserver xuegod64)

生成配置文件:

[root@xuegod64 mfs]# pwd/usr/local/mfs/etc/mfs[root@xuegod64 mfs]# cp mfschunkserver.cfg.dist mfschunkserver.cfg[root@xuegod64 mfs]# cp mfshdd.cfg.dist mfshdd.cfg[root@xuegod64 mfs]# vim mfschunkserver.cfg12 MASTER_HOST = 192.168.1.6313 MASTER_PORT = 9420# DATA_PATH = /usr/local/mfs/var/mfs # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg #指点共享数据的位置[root@xuegod64 mfs]# vim /usr/local/mfs/etc/mfs/mfshdd.cfg

修改权限:

[root@xuegod64 mfs]# chown -R mfs:mfs /tmp/[root@xuegod64 mfs]# ls /tmp/pulse-7FfPPwcWjR7M VMwareDnD[root@xuegod64 mfs]# chown -R mfs:mfs /usr/local/mfs

启动:

[root@xuegod64 mfs]# /usr/local/mfs/sbin/mfschunkserver startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfschunkserver modules ...hdd space manager: path to scan: /tmp/hdd space manager: start background hdd scanning (searching for available chunks)main server module: listen on *:9422no charts data file - initializing empty chartsmfschunkserver daemon initialized properly

网盘上传一个 疯狂动物城.avi

网盘服务器的存储结点存储的是 疯狂动物城.avi 吗? 是:1 不是:2

存的效果如下: 每个块存在下面的文件中

查看方式在浏览器中输入http://192.168.1.63:9425 (我这个部署在MASTER服务器上)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。