Chinaunix首页 | 论坛 | 博客
  • 博客访问: 159627
  • 博文数量: 22
  • 博客积分: 2140
  • 博客等级: 大尉
  • 技术积分: 242
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-31 17:40
文章分类

全部博文(22)

文章存档

2014年(1)

2010年(1)

2009年(2)

2008年(18)

分类: BSD

2009-06-30 10:58:00

参考文献: http://blog.zdnet.com.cn/html/74/313974-2821811.html



mfsmaster:  1台     10.10.10.10
mfschunkserver: 3台       10.10.10.21  10.10.10.22  10.10.10.23
client: 1台        10.10.10.30

系统 freebsd 7.2 release, mini安装。master / chunk所在系统除mfs源代码安装,不需安装其他附加包。本次测试主要是实现mfs功能,除了进行将日志添加到syslog,没做其他优化。

####准备工作####
到官方下载最新的mfs源包

安装前事先进行解包,我放在/home/src下。
# tar xvf mfs-1.5.12.tar.gz
准备工作在安装mfsmaster、mfschunkserver、mfsclient都是一样的,以下就不重复陈述

#### mfsmaster 安装####
//新建mfs 组
# pw group add mfs

//解包安装mfs
# ./configure --prefix=/usr/local/mfs --disable-mfschunkserver --with-default-user=mfs --with-default-group=mfs
# make && make install

//修改/etc/hosts
# cat >> /etc/hosts << EOF
10.10.10.30        client1
10.10.10.21        chunk1
10.10.10.22        chunk2
10.10.10.23        chunk3
EOF

//修改配置文件mfsmaster.cfg
# vim /usr/local/mfs/etc/mfsmaster.cfg
# WORKING_USER = nobody
# WORKING_GROUP = mfs

# LOCK_FILE = /var/run/mfs/mfsmaster.pid
# DATA_PATH = /usr/local/mfs/var/mfs
# SYSLOG_IDENT = mfsmaster

# BACK_LOGS = 50

# REPLICATIONS_DELAY_INIT = 300
# REPLICATIONS_DELAY_DISCONNECT = 3600

MATOCS_LISTEN_HOST = chunk1,chunk2,chunk3
# MATOCS_LISTEN_HOST = *
# MATOCS_LISTEN_PORT = 9420

MATOCU_LISTEN_HOST = *
# MATOCU_LISTEN_HOST = *
# MATOCU_LISTEN_PORT = 9421

# CHUNKS_LOOP_TIME = 300
# CHUNKS_DEL_LIMIT = 100
# CHUNKS_REP_LIMIT = 15
保存退出

//将mfsmaster日志增加到syslogd中,并进行分割(newsyslog)
修改/etc/syslogd.conf
在最后行增加:
!mfsmaster
*.*                                             /var/log/mfsmaster.log


*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;!mfsmaster.notice
/var/log/messages
替换为:
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err
/var/log/messages

修改/etc/newsyslog.conf,在最后行增加
/var/log/mfsmaster.log nobody:mfs       600  7     100  *     JC

/etc/rc.d/newsyslog restart
/etc/rc.d/syslogd restart

启动:
/usr/local/mfs/sbin/mfsmaster start

停止:/usr/local/mfs/sbin/mfsmaster -s            //(注: 禁止用kill -9来杀进程,那样做有可能造成数据丢失):

#### chunkserver  ####
//建立mfs用户和组
pw group add mfs -g 1001
pw user add mfs -u 1002 -g 1001 -d /nonexistent -s /usr/sbin/nologin

./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster
make && make install

chown mfs:mfs /var/run/mfs
chown mfs:mfs /data

//修改/etc/hosts
# cat >> /etc/hosts << EOF
10.10.10.10        mfsmater
10.10.10.21        chunk1
10.10.10.22        chunk2
10.10.10.23        chunk3
EOF

//修改mfschunkserver.cfg配置文档
# vim /usr/local/mfs/etc/mfschunkserver.cfg
# WORKING_USER = mfs
# WORKING_GROUP = mfs

# DATA_PATH = /usr/local/mfs/var/mfs
# LOCK_FILE = /var/run/mfs/mfschunkserver.pid
# SYSLOG_IDENT = mfschunkserver

# BACK_LOGS = 50

# MASTER_RECONNECTION_DELAY = 30

# MASTER_HOST = mfsmaster
# MASTER_PORT = 9420

# MASTER_TIMEOUT = 60

# CSSERV_LISTEN_HOST = *
# CSSERV_LISTEN_PORT = 9422

# CSSERV_TIMEOUT = 60

# CSTOCS_TIMEOUT = 60

# HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg
存盘退出

//修改mfshdd.cfg配置,将可通过mfs管理的分区或卷,本次实验用的是/data的分区。生产环境建议使用专用存储的数据硬盘或存储卷。
# vim /usr/local/mfs/etc/mfshdd.cfg
/data
存盘退出

//将mfschunkserver日志增加到syslogd中,并进行分割(newsyslog)
在/etc/syslog.conf最后增加此行
!mfschunkserver
*.*                             /var/log/mfschunkserver.log

修改
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err    /var/log/messages
替换为
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;!mfschunkserver.no
tice    /var/log/messages

在/etc/newsyslog.conf最后增加此行
/var/log/mfschunkserver.log mfs:mfs     600  7     100  *     JC

/etc/rc.d/newsyslog restart
/etc/rc.d/syslogd restart

启动服务:
/usr/local/mfs/sbin/mfschunkserver start
停止服务
/usr/local/mfs/sbin/mfschunkserver -s        //(注: 禁止用kill -9来杀进程,那样做有可能造成数据丢失):

## client
::Linux
//新增mfs用户和组
groupadd mfs -g 1001
useradd mfs -d /home/mfs -s /bin/false -g 1001 -u 1001

//export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
# apt-get install pkg-config        //如已安装则跳过此步
# apt-get install libfuse-dev        //如已安装则跳过此步
#./configure --prefix=/usr/local/mfs \
--enable-mfsmount \
--disable-mfsmaster \
--disable-mfschunkserver \
--with-default-user=mfs \
--with-default-group=mfs

::FreeBSD
//安装fuse基本环境,如果系统是mini安装,则在ports安装会附装编译环境(gcc/make/ruby等)
# cd /usr/ports/sysutils/fusefs-kmod && make install clean         //如已安装则跳过此步,安装过程中会安装相关的关联包(如fusefs-libs)。
# cat >> /etc/rc.conf  << EOF
fusefs_enable="yes"
EOF

::挂载
mkdir /opt/data        //任意新建个目录
/usr/local/mfs/bin/mfsmount -h 10.10.10.10 -w /opt/data

阅读(2945) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~