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系统状态 |
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 ifs |
二、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 |