分布式文件系统MFS配置[原创]

概述:
MFS由三不分组成:
Master:元数据中心[元数据库服务器],相当于一个中心数据库,本身不保存文件数据。是一个单点故障。
chunkserver:数据存储服务器:master将文件按照块存储与数据存储服务器中。官方建议使用单独raid或dev来提供存储空间。
client:客户端,client连接到master ,挂载文件。


实验环境
master 192.168.0.82
chunkserver :192.168.0.101
chunkserver :192.168.0.102
client 192.168.0.88
client 192.168.0.120



安装步骤:

master

01 mkdir /mfs
02 cd mfs
05 useradd mfs -s /sbin/nologin
06 tar zxvf mfs-1.6.10.tar.gz
07 cd mfs-1.6.10
08 ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs
09 make
10 make install
11 cd /usr/local/mfs/etc
12 cp mfsmaster.cfg.dist mfsmaster.cfg
13 cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
14 sed -i 's/# MASTER_HOST = mfsmaster/MASTER_HOST = 192.168.0.82/g' mfsmetalogger.cfg
15 mkdir /var/run/mfs
16 chown -R mfs:mfs /var/run/mfs
17 cd /usr/local/mfs/var/mfs
18 cp metadata.mfs.empty metadata.mfs
19 cd /usr/local/mfs/sbin
20 ./mfsmaster start
21 ./mfsmetalogger start

 

端口应用

9420用于连接chunkserver,监听来自chunkserver的连接,
9419用于连接client,监听来自client的连接。


管理:

启动:/usr/local/mfs/sbin/mfsmaster start
关闭:/usr/local/mfs/sbin/mfsmaster -s
故障恢复:/usr/local/mfs/sbin/mfsmetastore

 

数据端安装

01 mkdir /mfs
02 cd mfs
05 useradd mfs -s /sbin/nologin
06 tar zxvf mfs-1.6.10.tar.gz
07  
08 ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs
09 make
10 make install
11 cd /usr/local/mfs/etc
12 cp mfschunkserver.cfg.dist mfschunkserver.cfg
13 cp mfshdd.cfg.dist mfshdd.cfg
14 echo "/data">mfshdd.cfg
15 sed -i 's/# MASTER_HOST = mfsmaster/MASTER_HOST = 192.168.0.82/g' mfschunkserver.cfg
16 mkdir /var/run/mfs
17 chown -R mfs:mfs /var/run/mfs
18 mkdir /data
19 chown -R mfs:mfs /data
20 /usr/local/mfs/sbin/mfschunkserver start

 

端口应用

9422:用于chunkserver之间的连接,监听来自其他数据库服务器的连接。通常是数据复制。
与master连接会去连接master的9420端口

 

client
client需要安装mfs和fuse,fuse主要用来使用mfsmount(mfsmount依赖于fuse)

 

01 useradd mfs -s /sbin/nologin
02 mkdir /mfs
03 cd mfs
06 tar zxvf fuse-2.7.4.tar.gz
07 cd fuse-2.7.4
08 ./configure
09 make
10 make install
11 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
12 #或者:
13 #echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
14 #" >>/etc/profile
15 #source /etc/profile
16 #要这句,不然下面./configure的时候还是会出现找不到fuse或fuse版本过低的提示无法通过。
17 cd ../
18 tar zxvf mfs-1.6.10.tar.gz
19 cd mfs-1.6.10
20 ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -enable-mfsmount
21 make
22 make install

 

挂载

1 mkdir /mnt/mfs
2 /usr/local/mfs/bin/mfsmount -h 192.168.0.82 /mnt

 

提示权限问题,原因是1.6的版本问题,转用1.5的client

 

1 cd /mfs
3 tar zxvf mfs-1.5.12.tar.gz
4 cd mfs-1.5.12
5 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
6 ./configure -prefix=/usr/local/mfs -with-default-user=mfs -with-default-group=mfs -enable-mfsmount
7 make
8 make install

 

1 [root@localhost mfs-1.5.12]# /usr/local/mfs/bin/mfsmount -H 192.168.0.82 /mnt
2 /usr/local/mfs/bin/mfsmount: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory

 

做软连接

 

1 ln -s /usr/local/lib/libfuse.so.2 /usr/lib/

 

然后重新挂载,没有任何提示ok

1 /usr/local/mfs/bin/mfsmount -h 192.168.0.82 /mnt

 

端口应用
连接master的9421端口



测试:
在client 120 /mnt/mfs/下写入68M文件
chunkserver 102 文件由1M变为14M
[root@localhost data]# du -sh /data
14M /data
chunkserver 102 文件由1M变为57M
[root@localhost data]# du -sh
57M 
总增加为69M


再在client 120增加47M,总共为115M,此时:
102
[root@localhost data]# du -sh /data
116M /data
101
[root@localhost data]# du -sh /data
57M /data


运行原理:client与master通信,say要写入一个文件,master就让他与chunk(多台总的一台)进行直接的数据传输,
传输完成以后,master会更新自己的数据库

然后,多台chunk之间进行数据复制,前面上传的文件会被分成块(最大64M),通过给定的拷贝数量(可以自己制定)复制块到其他的chunkserver.


这样,任何一个文件都将在数据服务器上有一个完整的文件,然后有他的块在其他不同的数据服务器上。

标签: MFS

http://www.22455.com/index.php/posts/mfs
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值