MooseFS is a fault tolerant, network distributed file system.

mfsmaster is a single machine managing the whole filesystem,
storing metadata for every file (information on size,
attributes and file location(s), including all information
about non-regular files, i.e. directories, sockets, pipes and
devices).

WWW:    http://www.moosefs.org/

Submitted by:	Chifeng Qu <chifeng@gmail.com> (via Email)
This commit is contained in:
Wen Heping 2010-04-07 02:54:15 +00:00
parent 8ac2be8b61
commit e97e3e1752
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=252357
11 changed files with 263 additions and 0 deletions

View File

@ -495,6 +495,7 @@
SUBDIR += monitord
SUBDIR += monkeytail
SUBDIR += mono-kmod
SUBDIR += moosefs-master
SUBDIR += moreutils
SUBDIR += most
SUBDIR += mount.app

View File

@ -0,0 +1,55 @@
# New ports collection makefile for: moosefs-master
# Date created: 1 April 2010
# Whom: Chifeng Qu <chifeng@gmail.com>
#
# $FreeBSD$
#
PORTNAME= moosefs
PORTVERSION= 1.6.14
CATEGORIES= sysutils
MASTER_SITES= SF/moosefs/moosefs/${PORTVERSION}/
PKGNAMESUFFIX= -master
DISTNAME= mfs-${PORTVERSION}
MAINTAINER= chifeng@gmail.com
COMMENT= Managing the whole filesystem and storing metadata
USE_PYTHON= 2.5+
GNU_CONFIGURE= yes
USE_RC_SUBR+= mfsmaster mfsmetalogger mfscgiserv
MFS_WORKDIR= /var
MFS_CGIDIR= ${PREFIX}/share/mfscgi
SUB_FILES+= pkg-install pkg-message pkg-deinstall
SUB_LIST+= MFS_WORKDIR="${MFS_WORKDIR}"
CONFIGURE_ARGS+= --localstatedir=${MFS_WORKDIR} \
--enable-mfsmaster \
--with-mfscgiserv-dir=${PREFIX}/sbin \
--enable-mfscgiserv \
--enable-mfscgi \
--with-mfscgi-dir=${MFS_CGIDIR} \
--disable-mfschunkserver \
--disable-mfsmount
MAN5= mfsmaster.cfg.5 mfsexports.cfg.5 mfsmetalogger.cfg.5
MAN7= moosefs.7 mfs.7
MAN8= mfsmaster.8 mfsmetarestore.8 mfsmetalogger.8
.include <bsd.port.pre.mk>
pre-install:
${MKDIR} ${MFS_CGIDIR}
post-install:
.for FILE in mfsmaster mfsexports mfsmetalogger
@if [ ! -f ${PREFIX}/etc/${i}.cfg ]; then \
${CP} ${PREFIX}/etc/${FILE}.cfg.dist ${PREFIX}/etc/${FILE}.cfg ; \
fi
.endfor
PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>

View File

@ -0,0 +1,3 @@
MD5 (mfs-1.6.14.tar.gz) = 746e742011f6ada5ec64152c4fd2ddbd
SHA256 (mfs-1.6.14.tar.gz) = 8c29a71d391cb77e528459aced3f12bdbff813baed2a43461c3e1818f2492411
SIZE (mfs-1.6.14.tar.gz) = 641406

View File

@ -0,0 +1,35 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: mfscgiserv
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf or /etc/rc.conf.local to enable mfscgiserv:
#
# mfscgiserv_enable="YES"
#
. /etc/rc.subr
name=mfscgiserv
rcvar=`set_rcvar`
command=%%PREFIX%%/sbin/mfscgiserv
stop_postcmd=stop_postcmd
stop_postcmd()
{
rm -f $pidfile
}
# set defaults
mfscgiserv_enable=${mfscgiserv_enable:-"NO"}
procname="python"
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,35 @@
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: mfsmaster
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable mfsmaster:
#
# mfsmaster_enable="YES"
#
. /etc/rc.subr
name=mfsmaster
rcvar=`set_rcvar`
command=%%PREFIX%%/sbin/${name}
stop_postcmd=stop_postcmd
stop_postcmd()
{
rm -f $pidfile
}
# set defaults
mfsmaster_enable=${mfsmaster_enable:-"NO"}
mfsmaster_flags=${mfsmaster_flags:-"-c %%PREFIX%%/etc/mfsmaster.cfg"}
load_rc_config $name
run_rc_command "$1"

View File

@ -0,0 +1,36 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: mfsmetalogger
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# mfsmetalogger_enable (bool): Set to NO by default.
# Set it to YES to enable doormand.
# mfsmetalogger_config (path): Set to %%PREFIX%%/etc/mfsmetalogger.cfg
# by default.
#
. /etc/rc.subr
name="mfsmetalogger"
rcvar=${name}_enable
command=%%PREFIX%%/sbin/${name}
#pidfile=/var/run/${name}.pid
config_file=%%PREFIX%%/etc/${name}.cfg
load_rc_config $name
: ${mfsmetalogger_enable="NO"}
: ${mfsmetalogger_config="%%PREFIX%%/etcaster"}
#command_args="-p $pidfile -f $doormand_config"
command_args="-c $config_file"
run_rc_command "$1"

View File

@ -0,0 +1,14 @@
#!/bin/sh
# $FreeBSD$
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
WORKFILE=%%MFS_WORKDIR%%/mfs/metadata.mfs.empty
WORKDIR=%%MFS_WORKDIR%%/mfs
if [ "$2" = "POST-DEINSTALL" ]; then
echo "=> Deleting ${WORKFILE} if empty..."
rm -f ${WORKFILE} 2>/dev/null || true
echo "=> Deleting ${WORKDIR} if empty..."
rm -d ${WORKDIR} 2>/dev/null || true
fi

View File

@ -0,0 +1,37 @@
#!/bin/sh
PATH=/bin:/usr/sbin
if [ "$2" != "PRE-INSTALL" ]; then
exit 0
fi
USER=mfs
GROUP=${USER}
UID=925
GID=${UID}
if pw group show "${GROUP}" 2>/dev/null; then
echo "You already have a group \"${GROUP}\", so I will use it."
else
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
else
echo "Adding group \"${GROUP}\" failed..."
exit 1
fi
fi
if pw user show "${USER}" 2>/dev/null; then
echo "You already have a user \"${USER}\", so I will use it."
else
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-d /nonexistent -s /sbin/nologin -c "MySQL Daemon"
then
echo "Added user \"${USER}\"."
else
echo "Adding user \"${USER}\" failed..."
exit 1
fi
fi
exit 0

View File

@ -0,0 +1,17 @@
************************************************************************
Three startup scripts has been installed as:
%%PREFIX%%/etc/rc.d/mfsmaster
%%PREFIX%%/etc/rc.d/mfsmetalogger
%%PREFIX%%/etc/rc.d/mfscgiserv
Use it to start/stop the mfsmaster, mfsmetalogge and mfschunkserver
services after you have added the following line to your rc.conf
file respectively:
mfsmaster_enable="YES"
mfsmetalogger_enable="YES"
mfscgiserv_enable="YES"
************************************************************************

View File

@ -0,0 +1,9 @@
MooseFS is a fault tolerant, network distributed file system.
mfsmaster is a single machine managing the whole filesystem,
storing metadata for every file (information on size,
attributes and file location(s), including all information
about non-regular files, i.e. directories, sockets, pipes and
devices).
WWW: http://www.moosefs.org/

View File

@ -0,0 +1,21 @@
@exec if [ ! -f %D/etc/mfsmaster.cfg ]; then /bin/cp %D/etc/mfsmaster.cfg.dist %D/etc/mfsmaster.cfg; fi
@exec if [ ! -f %D/etc/mfsexports.cfg ]; then /bin/cp %D/etc/mfsexports.cfg.dist %D/etc/mfsexports.cfg; fi
@exec if [ ! -f %D/etc/mfsmetalogger.cfg ]; then /bin/cp %D/etc/mfsmetalogger.cfg.dist %D/etc/mfsmetalogger.cfg; fi
@unexec if cmp -s %D/etc/mfsmaster.cfg.dist %D/etc/mfsmaster.cfg; then rm -f %D/etc/mfsmaster.cfg; fi
@unexec if cmp -s %D/etc/mfsexports.cfg.dist %D/etc/mfsexports.cfg; then rm -f %D/etc/mfsexports.cfg; fi
@unexec if cmp -s %D/etc/mfsmetalogger.cfg.dist %D/etc/mfsmetalogger.cfg; then rm -f %D/etc/mfsmetalogger.cfg; fi
etc/mfsmaster.cfg.dist
etc/mfsexports.cfg.dist
etc/mfsmetalogger.cfg.dist
sbin/mfscgiserv
sbin/mfsmaster
sbin/mfsmetarestore
sbin/mfsmetadump
sbin/mfsmetalogger
share/mfscgi/mfs.cgi
share/mfscgi/mfs.css
share/mfscgi/logomini.png
share/mfscgi/index.html
share/mfscgi/err.gif
share/mfscgi/chart.cgi
@dirrm share/mfscgi