Linux搭建MFS分布式文件系统

说明:

主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设公司、程序开发、微网站、微信小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站制作、成都网站设计、外贸营销网站建设、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。

架构规划

元数据服务器     mfs-master-1             172.16.100.2

备份服务器       mfs-metalogger           172.16.100.4

数据存储服务器   mfs-chunkserver-1        172.16.100.5

数据存储服务器   mfs-chunkserver-2        172.16.100.6

数据存储服务器   mfs-chunkserver-3        172.16.100.7

节点说明:

Master Server:

    由于 Master Server 控制着整个 MooseFS 中的各个组件,并且负责对外提供服务,因此我们一定需要保证 Master Server 处于非常稳定的状态。比如,针对 Master Server采用双电源双路配置,多块磁盘使用RAID1或RAID10,进行冗余。前面也提到,Master Server 将所有访问的元数据信息都放在内存当中,提供用户访问。因此,当文件数量增加的时候,内存使用量也会增加。根据官方的数据,100万个文件chunk信息,大概需要300M的内存空间来进行。对于磁盘来讲,Master Server 对磁盘的使用量不是很大,这个取决于所用的文件和chunk块的数目(记录在主元数据文件)以及对文件作出操作的数量(记录在元数据更改日志),一般情况下 20G 可以用来存储信息 2500 万个文件变更记录长达50小时。由此看来,作为Master Server 内存量够大才是重中之重。

Metalogger Server:

    在 MooseFS 的设计中,虽然 Metalogger Server 只是用来收集 MooseFS 主服务器的元数据(文件更改的信息的变化)的备份,对硬件的要求不应该高于主服务器的备份。但是需要注意的是,如果在Master Server没有做高可用的情况下,主服务器宕机之后,我们是需要启用Metalogger Server 来顶替主服务器的。因此,从这方面考虑,Metalogger Server 至少也是和 Master Server 的配置相同的,这点切记!

Chunk Server:

    针对 Chunk Server,它是真正存储数据的载体。因此,我们对它的要求就简单粗暴了很多,只要保障硬盘的性能即可。如果是普通的业务,可以选择多块盘做RAID5即可,当然RAID0或RAID10都是可以的。需要注意的是,由于 MooseFS 的默认负载均衡算法的问题,我建议所有 Chunk Server 的磁盘大小保持一致。这样子,我们才能保证 MooseFS 在使用过程中,各个 Chunk 节点的数据使用量是大致一致的。否则,磁盘容量大的 Chunk Server 使用量会加大,而磁盘容量小的 Chunk Server 的使用量会变小。切记,切记!当然,如果公司员工有能力的话,也可以对 MooseFS 的负载均衡算法中每次对carry 变量的增加算法这一部分进行改进,来避免默认算法的缺点,使存储数据能够均衡分布在各个 Chunk Server 上。

部署:

部署 Master Server

1、参数介绍

--disable-mfsmaster                  # 不创建成管理服务器(用于纯节点的安装)

--disable-mfschunkserver             # 不创建成数据存储chunkserver服务器 

--disable-mfsmount                   # 不创建mfsmount和mfstools(如果用开发包安装,他们会被默认创建的)   

--enable-mfsmount                    # 确定安装mfsmount和mfstools(如果     

--prefix=DIRECTORY                   # 锁定安装目录(默认是/usr/local)  

--sysconfdir=DIRECTORY               # 选择配置文件目录(默认是${prefix}/etc))   

--localstatedir=DIRECTORY            # 选择变量数据目录(默认是${prefix}/var,MFS元数据被存储在mfs的子目录下,默认是${prefix}/var/mfs )     

--with-default-user                  # 运行守护进程的用户,如果配置文件中没有设定用户,默认为nobody用户   

--with-default-group                 # 运行守护进程的用户组,如果配置文件中没有设定用户组,默认为nogroup用户组

2、安装Master Server

yum install zlib-devel -y

groupadd -g 1000 mfs

useradd -u 1000 -g mfs -s /sbin/nologin mfs

cd /usr/local/src

wget http://moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz

tar zxf mfs-1.6.27-5.tar.gz

cd mfs-1.6.27

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

make

make install

ln -s /usr/local/mfs-1.6.27 /usr/local/mfs

官方文档:

https://moosefs.com/download/centosfedorarhel.html

版本6:

curl "http://ppa.moosefs.com/MooseFS-3-el6.repo" > /etc/yum.repos.d/MooseFS.repo

curl "http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS" > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS

版本7:

curl "http://ppa.moosefs.com/MooseFS-3-el7.repo" > /etc/yum.repos.d/MooseFS.repo

--------------------------------------------------------------

安装Master Server

yum install moosefs-master moosefs-cli moosefs-cgi moosefs-cgiserv

/etc/init.d/moosefs-master start

查看日志,端口,防火墙开放9419  9420  9421端口

--------------------------------------------------------------

安装Chunkservers

yum install moosefs-chunkserver

安装Metaloggers

yum install moosefs-metalogger

安装Clients

yum install moosefs-client

开机自动挂载:

yum install fuse

vim /etc/fstab

mfsmount                /mnt/mfs    fuse       defaults    0 0

mfsmaster.host.name:    /mnt/mfs    moosefs    defaults    0 0

启动服务

service moosefs-master start 

service moosefs-chunkserver start

写入文件测试


当前题目:Linux搭建MFS分布式文件系统
文章出自:http://scyanting.com/article/pdhphd.html