阅读更多
写在前面,避免看到的人踩坑。moosefs目前单个文件至少64k,就算你的报文只有1个字节那么大,moosefs还是会把你存成64k的文件。所以对小文件的存储,空间是非常浪费的。
最近公司准备实施分布式文件系统,去年我们有同事尝试过使用FastDFS和HDFS。从使用情况看,HDFS更适合大文件(本人暂时没深入了解), FastDFS 压测不是很稳定(也许是我们没设置好)。最近有空研究了一下分布式文件系统,发现MFS在国内应用比较普遍,安装也比较方便,初步压测了一下(没有深入研究性能优化),100k的文件写达到 300-400个/s。使用MFS的另一个非常大的好处是,支持POSIX标准,原先的应用系统能做到平滑迁移,同时运维人员也无需其他额外的工具就能像使用linux操作系统一样读写文件,查找文件。相比FastDFS,运维难度将明显降低。最新版本是MFS3.X, 以下是MFS3.0的部署笔记。
1 准备好机器:
Master server: 192.168.3.127
Cgi server: 192.168.3.127
metaLogger server: 192.168.3.131
chunk servers: 192.168.3.142
192.168.3.143
clients: 192.168.3.140
关闭所有机器的防火墙。 service iptables stop
2. 在Master servers, chunk servers 和 clients机器中映射域名。
echo 192.168.3.127 mfsmaster >> /etc/hosts
echo 192.168.3.131 mfsmaster >> /etc/hosts
注意:写在开头是为了提醒。
所有命令必须是正常stop ,如 mfsmaster stop。否则可能导致服务无法启动,需要恢复。
启动顺序:
matser---metalogger---chunker---client.
关闭顺序:
client---chunker---metalogger---master
3. 下载安装包
1)从官网下载压缩包:
http://ufpr.dl.sourceforge.net/project/moosefs/3.0.79/moosefs-packages-all-3.0.79.tar.gz
2) 登录linux服务器,查看操作系统版本。 命令:cat /etc/issue
2)解压,将对应版本的文件
moosefs-master-3.0.79-1.rhsysv.x86_64.rpm
moosefs-cgi-3.0.79-1.rhsysv.x86_64.rpm
moosefs-cgiserv-3.0.79-1.rhsysv.x86_64.rpm
拷贝到 usr/local/moosefs下
4. 安装master server(192.168.3.127)
1)rpm –ivh moosefs-master-3.0.79-1.rhsysv.x86_64.rpm
2)确认在 /etc/mfs 下生成了相关的配置文件 (mfsexports.cfg, mfsmaster.cfg 等)
3)设置自动启动, 创建 /etc/default/moosefs-master, 输入 MFSMASTER_ENABLE=true
4) 更改权限chown -R mfs:mfs /var/lib/mfs
5)service moosefs - master start
6) 使用 mfsmaster start 可忽略(3,4,5)
5. 安装监控(192.168.3.127)
1)rpm –ivh moosefs-cgi-3.0.79-1.rhsysv.x86_64.rpm
rpm –ivh moosefs-cgiserv-3.0.79-1.rhsysv.x86_64.rpm
如果装错,卸载(rpm -e --allmatches --nodeps moosefs-master-3.0.79-1.rhsysv.x86_64)
2)启动监控:mfscgiserv start
3)查看监控: http://192.168.3.127:9425/mfs.cgi
6.安装客户端(192.168.3.127)
1)rpm -ivh moosefs-cli-3.0.79-1.rhsysv.x86_64.rpm
7.安装chunkserver(192.168.3.141-143)
1) rpm -ivh moosefs-chunkserver-3.0.79-1.rhsysv.x86_64.rpm
2) 修改配置, vi /etc/mfs/mfshdd.cfg
将其中的 /mnt/hd1 的注释去掉,为trunk指定挂载目录
3)创建目录
mkdir /mnt/hd1
chown -R mfs:mfs /mnt/hd1
4) 启动服务
mfschunkserver start
8.安装用户使用client(192.168.3.140)
rpm -ivh moosefs-client-3.0.79-1.rhsysv.x86_64.rpm
mkdir -p /mnt/mfs
mfsmount /mnt/mfs -H mfsmaster
验证: mkdir -p /mnt/mfs/data1
copy *.rpm /mnt/mfs/data1