metalogger的安装
安装步骤和master一样
创建用户
Useradd -M –s /sbin/nologin mfs
解压软件
Tar zxf mfs-1.6.20-2.tar.gz
进入软件目录
Cd mfs-1.6.20-2
编译安装
./configure --prefix=/usr/local/mfs \ #安装路径
--with-default-user=mfs \ #默认用户
--with-default-group=mfs \ #默认组
--disable-mfsmount \ #不编译客户端
--disable-mfschunkserver #不编译数据存储端
Make && make install
metalogger的配置
同master一样,将/usr/local/mfs/etc/下的mfsmetalogger.cfg.dist变为mfsmetalogger.cfg即可,metalogger服务器只需要此配置文件。
[root@centos5 etc]# vi 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
# META_DOWNLOAD_FREQ = 24
# MASTER_RECONNECTION_DELAY = 5
MASTER_HOST = 192.168.1.10
#上面将IP改成MASTER的IP
#MASTER_PORT = 9419
# MASTER_TIMEOUT = 60
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfsmetalogger.lock
现在可以启动mfsmetaloger服务器
cd /usr/local/mfs/sbin/
./ mfsmetalogger start
查看mfsmetalogger状态
[root@centos5 sbin]# ps -ef |grep mfsmetalogger|grep -v grep
mfs 23291 1 0 10:25 ? 00:00:01 /usr/local/mfs/sbin/mfsmetalogger start
另外可以看日志目录是否有master端传过来的数据
[root@centos5 mfs]# ll /usr/local/mfs/var/mfs/
total 64
-rw-r----- 1 mfs mfs 402 Apr 10 15:51 changelog_ml.3.mfs
-rw-r----- 1 mfs mfs 104 Apr 10 15:09 changelog_ml.4.mfs
-rw-r----- 1 mfs mfs 830 Apr 10 14:06 changelog_ml.5.mfs
-rw-r----- 1 mfs mfs 0 Apr 10 11:59 changelog_ml_back.0.mfs
-rw-r----- 1 mfs mfs 0 Apr 10 11:59 changelog_ml_back.1.mfs
-rw-r--r-- 1 mfs mfs 8 Apr 10 10:20 metadata.mfs.empty
-rw-r----- 1 mfs mfs 95 Apr 10 11:59 metadata_ml.mfs.back
-rw-r----- 1 mfs mfs 8 Apr 10 11:49 sessions.mfs
-rw-r----- 1 mfs mfs 684 Apr 10 18:24 sessions_ml.mfs
chunkserver的安装
安装步骤也和master一样
创建用户
Useradd -M –s /sbin/nologin mfs
解压软件
Tar zxf mfs-1.6.20-2.tar.gz
进入软件目录
Cd mfs-1.6.20-2
编译安装
./configure --prefix=/usr/local/mfs \ #安装路径
--with-default-user=mfs \ #默认用户
--with-default-group=mfs \ #默认组
--disable-mfsmaster\ #不编译master端
Make && make install
chunkserver的配置
chunkserver配置文件是/usr/local/mfs/etc下的mfschunkserver.cfg.dist mfshdd.cfg.dist
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
[root@localhost etc]# vi 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 = 192.168.1.161
#上面设置本机IP
MASTER_HOST = 192.168.1.10
#上面将IP设置为MASTER的IP
# MASTER_PORT = 9420
# MASTER_TIMEOUT = 60
#下面用于和其他chunkserver之间的连接,一般是复制数据
# CSSERV_LISTEN_HOST = *
# CSSERV_LISTEN_PORT = 9422
#下面是分配给MFS磁盘空间的配置文件的位置
# HDD_CONF_FILENAME = /usr/local/mfs/etc/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 etc]# vi mfshdd.cfg
/home/data1
然后建立此文件
Mkdir /home/data1
Chown –R mfs.mfs /home/data1
现在可以启动mfschunkserver服务器
cd /usr/local/mfs/sbin/
./mfschunkserver start
[root@localhost etc]# ps -ef|grep mfschunkserver|grep -v grep
mfs 18929 1 0 01:51 ? 00:00:00 ./mfschunkserver start
客户端的安装
客户端需要fuse-2.7.6的支持,所以需要先安装fuse-2.7.6
fuse简介
用户空间文件系统(Filesystem in Userspace,简称FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs和lustre使用FUSE实现。Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。
在用户空间实现文件系统能够大幅提高生产率,简化了为操作系统提供新的文件系统的工作量,特别适用于各种虚拟文件系统和网络文件系统。上述ZFS和glusterfs都属于网络文件系统。但是,在用户态实现文件系统必然会引入额外的内核态/用户态切换带来的开销,对性能会产生一定影响。
fuse内核模块和fuse lib库通过一个文件描述符通信,/dev/fuse 文件描述符可以被打开多次,获得的文件描述符被传递到mount系统调用,用来匹配已经挂载的文件系统。
fuse安装
Tar zvf fuse-2.7.6.tar.gz
cd fuse-2.7.6
./configure
make && make install
mfs客户端安装
安装步骤也和master一样
创建用户
Useradd -M –s /sbin/nologin mfs
解压软件
Tar zxf mfs-1.6.20-2.tar.gz
进入软件目录
Cd mfs-1.6.20-2
编译安装
./configure --prefix=/usr/local/mfs \ #安装路径
--with-default-user=mfs \ #默认用户
--with-default-group=mfs \ #默认组
--disable-mfsmaster \ #不编译master端
--disable-mfschunkserve \ #不编译chunkserver端
--enable-mfsmount
Make && make install
然后创建挂接点mkdir /mnt/mfs
保证fuse被加载进去,modprobe fuse
查看是否加载:
[root@localhost src]# lsmod |grep fuse
fuse 56128 2
进入/usr/local/mfs/bin目录下
/usr/local/mfs/bin/mfsmount /data/mfs -H 192.168.1.10
Df查看分区是否挂载上
[root@localhost src]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 3.9G 3.4G 293M 93% /
tmpfs 122M 0 122M 0% /dev/shm
/dev/sda1 49M 36M 11M 77% /boot
/dev/sda3 5.0G 139M 4.6G 3% /home
192.168.1.10:9421 8.7G 0 8.7G 0% /mnt/mfs
MFS安全启动:
启动master server 进程: /usr/local/mfs/sbin/mfsmaster start
启动 metalogger 进程: /usr/local/mfs/sbin/mfsmetalogger start
启动 metalogger 进程: /usr/local/mfs/sbin/mfsmetalogger start
所有客户端挂载mfs共享分区:/usr/local/mfs/bin/mfsmount /data/mfs -H 192.168.1.10
MFS安全停止:
所有客户端用Unmount 命令先卸载文件系统:umount /data/mfs
停止chunk server 进程: /usr/local/mfs/sbin/mfschunkserver stop
停止 metalogger 进程: /usr/local/mfs/sbin/mfsmetalogger stop
停止 master server 进程: /usr/local/mfs/sbin/mfsmaster stop