MooseFS
分布式文件系统
操作系统:
linux5.5
撰写人:
hx10
日期
:2010/7/24
blog:http://hi.baidu.com/hx10
最新的
MooseFS
稳定发行版本可以从
http://sourceforge.net/projects/moosefs/
取得,在安装
MooseFS
系统客户端时,应当确保系统已经安装了正确的
fuse
版本,如果没有
fuse
被安装,
您可以从
http://sourceforge.net/projects/fuse/
下载并安装它。
本次实验使用版本为:
mfs-1.6.16.tar.gz
fuse-2.8.4.tar.gz(仅client安装)
软件下载成功都放到/usr/local/src目录下
主机
ip
地址分配如下:
主控服务器
Master server: 10.80.11.203
主控备份服务器
Metalogger server: 10.80.11.204
存储块服务器
Chunk servers: 10.80.11.205
和10.80.11.206
客户端主机
(clients): 10.80.11.207
主控服务器
Master server
安装
useradd mfs -s /sbin/nologin
tar -zxvf mfs-1.6.16.tar.gz
cd mfs-1.6.16
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var/lib --with-default-user=mfs \
--with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
提示错误如下
:
configure: error: zlib development library not found
解决办法
:
wget http://zlib.net/zlib-1.2.5.tar.gz
tar -zxvf zlib-1.2.5.tar.gz
./conifgure
make && make install
然后重新编译
mfs-1.6.16
make
make install
修改
mfs
的配置文件
cd /etc
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg
Mfsmaster.cfg
配置文件包含主控服务器
master
相关的设置
,
虽然被注释掉的行
,
但是这是
MooseFS
内置的缺省值
,
暂时不修改
mfsexports.cfg
指定那些客户端主机可以远程挂接
MooseFS
文件系统
,
以及授予
挂接客户端什么样的访问权限
此处我们修改成如下
:
vim mfsexports.cfg
10.80.11.0/24 / rw,alldirs,maproot=0
意思是只有
192.168.2.x
网段的主机可以以读写模式访问
MooseFS
的整个共享结构资源
(
/
)
二进制文件
metadata
和文本文件
changelog
将被保存在目录
/var/lib/mfs,
这是因为我们安
装过程的
configure
步骤使用了选项
--localstatedir=/var/lib
。首次安装master 时,会自
动生成一个名为metadata.mfs.empty 的元数据文件metadata,该文件是空的。MooseFS
master 运必须有文件metadata.mfs,这个文件是从metadata.mfs.empty 改名而来:
cd /var/lib/mfs
cp metadata.mfs.empty metadata.mfs
启动
mfs
服务
/usr/sbin/mfsmaster start //mfs
的服务
/usr/sbin/mfscgiserv //web
界面的服务
[root@localhost mfs]# /usr/sbin/mfsmaster start
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmaster modules ...
loading sessions ... ok
sessions file has been loaded
exports file has been loaded
loading metadata ...
create new empty filesystemmetadata file has been loaded
no charts data file - initializing empty charts
master <-> metaloggers module: listen on *:9419
master <-> chunkservers module: listen on *:9420
main master server module: listen on *:9421
mfsmaster daemon initialized properly
[root@localhost mfs]# /usr/sbin/mfscgiserv
starting simple cgi server (host: any , port: 9425 , rootpath: /usr/share/mfscgi)
现在,我们在浏览器地址栏输入http://10.80.11.203:9425 即可查看master 的运行情况(这个时候,是不能看见chunk server 的数据)。
在生产环境里,我们应当设置自动启动脚本,把这2个启动命令加入/etc/rc.local文件中
备份服务器
Backup server (metalogger)
安装
用来安装
metalogger
的主机,在性能上应该比
master
强大(至少有更多的内存)。一旦主控
服务器
master
失效,只要导入
changelogs
到元数据文件
,
备份服务器
metalogger
将能接替发生
故障的
master
,行使管理服务器的职能
备份服务器
Metalogger
安装跟主控服务器
master
安装非常类似。其安装命令如下:
useradd mfs -s /sbin/nologin
cd /usr/local/src
wget http://zlib.net/zlib-1.2.5.tar.gz
tar -zxvf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure && make && make install
tar -zxvf mfs-1.6.16.tar.gz
cd mfs-1.6.16
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var/lib --with-default-user=mfs \
--with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make && make install
cd /etc/
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
chown mfs:mfs /var/lib/mfs //
修改所有者
启动备份服务
mfsmetaloger
/usr/sbin/mfsmetalogger start
停止服务
/usr/sbin/mfsmetalogger
-s
[root@localhost etc]# /usr/sbin/mfsmetalogger start
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly
在生产环境里,我们应当设置自动启动脚本,加入/etc/rc.local文件中