MFS文件系统的组成

1、  元数据服务器。在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。

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

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

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



环境:mfsmaster:192.168.50.119

    mfschunk,mfslogger,mfsclient: 192.168.50.120


一、mfsmaster安装配置

1.创建安装用户

useradd mfs -s /sbin/nologin
2.安装
tar -xf mfs-1.6.27-5.tar.gz && cd  mfs-1.6.27
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
make && make install

3.配置文件

cd /usr/local/mfs/etc/mfs/
cp mfsmaster.cfg.dist  mfsmaster.cfg
cp mfsexports.cfg.dist  mfsexports.cfg
cp /usr/local/mfs/var/mfs/metadata.mfs.empty  /usr/local/mfs/var/mfs/metadata.mfs

4.启动元数据服务器

/usr/local/mfs/sbin/mfsmaster start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmaster modules ...
loading sessions ... ok
sessions file has been loaded
exports file has been loaded
mfstopology configuration file (/usr/local/mfs/etc/mfstopology.cfg) not found - using defaults
loading metadata ...
loading objects (files,directories,etc.) ... ok
loading names ... ok
loading deletion timestamps ... ok
loading chunks data ... ok
checking filesystem consistency ... ok
connecting files and chunks ... ok
all inodes: 1
directory inodes: 1
file inodes: 0
chunks: 0
metadata file has been loaded
stats file has been loaded
master <-> metaloggers module: listen on *:9419
master <-> chunkservers module: listen on *:9420
main master server module: listen on *:9421
mfsmaster daemon initialized properly


5.启动web页面

/usr/local/mfs/sbin/mfscgiserv start        #开启WEB监控页面进程
http://ip:9425查看mfs系统状态

centos6.5下安装mfs分布式存储_第1张图片

6.开机启动

echo "/usr/local/mfs/sbin/mfsmaster start" /etc/rc.local
echo "/usr/local/mfs/sbin/mfscgiserv" /etc/rc.local

7.检查进程

[root@localhost mfs]# ps -ef | grep mfs
mfs        6556      1  0 03:20 ?        00:00:04 /usr/local/mfs/sbin/mfsmaster start
root       6582      1  0 03:23 ?        00:00:00 python /usr/local/mfs/sbin/mfscgiserv
root       6625   1692  0 04:39 pts/0    00:00:00 grep mfs

二、mfschunk,mfslogger,mfsclient服务器配置


1.创建安装用户

useradd mfs -s /sbin/nologin

2.安装

yum -y install fuse fuse-devel
tar -xf mfs-1.6.27-5.tar.gz && cd  mfs-1.6.27
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
make && make install
chown -R mfs.mfs /usr/local/mfs/


3.配置文件

cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist  mfschunkserver.cfg
cp mfshdd.cfg.dist  mfshdd.cfg
cp mfsmetalogger.cfg.dist  mfsmetalogger.cfg


4.修改配置文件

[root@localhost mfs]# cat mfschunkserver.cfg
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfschunkserver
# LOCK_MEMORY = 0
# NICE_LEVEL = -19
# DATA_PATH = /usr/local/mfs/var/mfs
# MASTER_RECONNECTION_DELAY = 5
# BIND_HOST = *
MASTER_HOST = 192.168.50.119
MASTER_PORT = 9420
# MASTER_TIMEOUT = 60
# CSSERV_LISTEN_HOST = *
# CSSERV_LISTEN_PORT = 9422
# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg
# HDD_TEST_FREQ = 10
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfschunkserver.lock
# BACK_LOGS = 50
# CSSERV_TIMEOUT = 5
[root@localhost mfs]# cat mfshdd.cfg
# mount points of HDD drives
/usr/local/mfsdata/   #mfschunkserver上的分区,必须是独立分区!
[root@localhost mfs]# cat mfsmetalogger.cfg
# WORKING_USER = mfs
# WORKING_GROUP = mfs
# SYSLOG_IDENT = mfsmetalogger
# LOCK_MEMORY = 0
# NICE_LEVEL = -19
# DATA_PATH = /usr/local/mfs/var/mfs
# BACK_LOGS = 50
# BACK_META_KEEP_PREVIOUS = 3
META_DOWNLOAD_FREQ = 1
# MASTER_RECONNECTION_DELAY = 5
MASTER_HOST = 192.168.50.119
MASTER_PORT = 9419
# MASTER_TIMEOUT = 60
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfsmetalogger.lock



5.启动服务

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


[root@localhost mfs]# /usr/local/mfs/sbin/mfsmetalogger  start
working directory: /usr/local/mfs/var/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly



6.创建数据目录

mkdir /usr/local/mfsdata/
chown -R mfs.mfs /usr/local/mfsdata/


这里需要一块新磁盘挂载到数据目录

mount /dev/sdb1  /usr/local/mfsdata/


7.创建挂载目录

mkdir /mnt/mfs
chown -R mfs.mfs /mnt/mfs/


8.挂载目录

[root@localhost mfsdata]# /usr/local/mfs/bin/mfsmount  /mnt/mfs/ -H 192.168.50.119   #挂载成功
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
[root@localhost ~]# df 
Filesystem                   1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root  19166504 1322824  16870064   8% /
tmpfs                           243140       0    243140   0% /dev/shm
/dev/sda1                       495844   32672    437572   7% /boot
/dev/sdb1                     10317828  155256   9638456   2% /usr/local/mfsdata
192.168.50.119:9421            9376256       0   9376256   0% /mnt/mfs

参考地址:

http://darren.blog.51cto.com/1081720/1143106

http://sery.blog.51cto.com/10037/147756