.gear/rules | 3 + .gear/tags/list | 1 + .gear/upstream/remotes | 3 + alt/moosefs-cgiserv.init | 106 ++++++++++ alt/moosefs-cgiserv.sysconfig | 12 ++ alt/moosefs-chunkserver.init | 99 ++++++++++ alt/moosefs-chunkserver.udev | 2 + alt/moosefs-master.init | 100 ++++++++++ alt/moosefs-metalogger.init | 100 ++++++++++ moosefs.spec | 333 ++++++++++++++++++++++++++++++++ systemd/moosefs-cgiserv.service.in | 17 +- systemd/moosefs-chunkserver.service.in | 17 +- systemd/moosefs-chunkserver@.service.in | 17 +- systemd/moosefs-master.service.in | 9 +- systemd/moosefs-master@.service.in | 8 +- systemd/moosefs-metalogger.service.in | 8 +- systemd/moosefs-metalogger@.service.in | 8 +- 17 files changed, 817 insertions(+), 26 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..e734729 --- /dev/null +++ b/.gear/rules @@ -0,0 +1,3 @@ +tar: v@version@:. +diff: v@version@:. . name=@name@-@version@.patch +copy: alt/* \ No newline at end of file diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..03e128a --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1 @@ +25ed550dd927f57ccae1154e730ce3738dbf1d02 v3.0.116 diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes new file mode 100644 index 0000000..f8a4851 --- /dev/null +++ b/.gear/upstream/remotes @@ -0,0 +1,3 @@ +[remote "upstream"] + url = https://github.com/moosefs/moosefs.git + fetch = +refs/heads/*:refs/remotes/upstream/* diff --git a/alt/moosefs-cgiserv.init b/alt/moosefs-cgiserv.init new file mode 100644 index 0000000..dc12c72 --- /dev/null +++ b/alt/moosefs-cgiserv.init @@ -0,0 +1,106 @@ +#!/bin/sh +# +# moosefs-cgiserv MooseFS CGI monitor service. +# +# chkconfig: - 93 10 +# description: MooseFS CGI Server +# processname: mfscgiserv +# pidfile: /var/run/moosefs-cgiserv.pid +# +### BEGIN INIT INFO +# Provides: moosefs-cgiserv +# Required-Start: $local_fs $network $syslog $remote_fs +# Required-Stop: $local_fs $syslog $remote_fs +# Should-Start: $syslog +# Should-Stop: $network $syslog +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: HTTP server for MooseFS CGI monitor +# Description: moosefs-cgiserv daemon is an HTTP server for MooseFS CGI monitor +### END INIT INFO + +# Do not load RH compatibility interface. +WITHOUT_RC_COMPAT=1 + +# Source function library. +. /etc/init.d/functions + +MFSCGISERV_USER=mfs +BIND_HOST=127.0.0.1 +BIND_PORT=9425 +ROOT_PATH=/usr/share/mfscgi +PIDFILE=/var/run/moosefs-cgiserv.pid +LOCKFILE=/var/lock/subsys/moosefs-cgiserv + +SourceIfNotEmpty /etc/sysconfig/moosefs-cgiserv + +RETVAL=0 + +start() +{ + start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --set-user "$MFSCGISERV_USER" \ + -- mfscgiserv -H "${BIND_HOST}" -P "${BIND_PORT}" -R "${ROOT_PATH}" start + RETVAL=$? + return $RETVAL +} + +stop() +{ + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user "$MFSCGISERV_USER" -- mfscgiserv stop + RETVAL=$? + return $RETVAL +} + +restart() +{ + stop + start +} + +reload() +{ + msg_reloading moosefs-cgiserv + stop_daemon --pidfile "$PIDFILE" --expect-user "$MFSCGISERV_USER" -HUP -- mfscgiserv + RETVAL=$? + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + restart + ;; + condstop) + if [ -e "$LOCKFILE" ]; then + stop + fi + ;; + condrestart) + if [ -e "$LOCKFILE" ]; then + restart + fi + ;; + condreload) + if [ -e "$LOCKFILE" ]; then + reload + fi + ;; + status) + status --pidfile "$PIDFILE" --expect-user "$MFSCGISERV_USER" -- mfscgiserv + RETVAL=$? + ;; + *) + msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" + RETVAL=1 +esac + +exit $RETVAL diff --git a/alt/moosefs-cgiserv.sysconfig b/alt/moosefs-cgiserv.sysconfig new file mode 100644 index 0000000..8d7db82 --- /dev/null +++ b/alt/moosefs-cgiserv.sysconfig @@ -0,0 +1,12 @@ +# Defaults for moosefs-cgiserv +# mfscgiserv(8) +# +## user to run daemon as (default: mfs) +# MFSCGISERV_USER=mfs +## local address to listen on (default: localhost) +# BIND_HOST=0.0.0.0 +## port to listen on (default: 9425) +# BIND_PORT=9425 +## local path to use as HTTP document root (default: /usr/share/mfscgi) +# ROOT_PATH=/usr/share/mfscgi +DAEMON_OPTS="" \ No newline at end of file diff --git a/alt/moosefs-chunkserver.init b/alt/moosefs-chunkserver.init new file mode 100644 index 0000000..ba525d8 --- /dev/null +++ b/alt/moosefs-chunkserver.init @@ -0,0 +1,99 @@ +#!/bin/sh +# +# moosefs-chunkserver MooseFS chunkserver service. +# +# chkconfig: - 93 10 +# description: MooseFS chunkserver +# processname: mfschunkserver +# config: /etc/mfs/mfschunkserver.cfg +# pidfile: /var/run/moosefs-chunkserver.pid +# +### BEGIN INIT INFO +# Provides: moosefs-chunkserver +# Required-Start: $local_fs $network $syslog $remote_fs +# Required-Stop: $local_fs $syslog $remote_fs +# Should-Start: $syslog $named moosefs-master +# Should-Stop: $network $syslog moosefs-master +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: MooseFS storage daemon +# Description: MooseFS storage daemon +### END INIT INFO + +# Do not load RH compatibility interface. +WITHOUT_RC_COMPAT=1 + +# Source function library. +. /etc/init.d/functions + +PIDFILE=/var/run/moosefs-chunkserver.pid +LOCKFILE=/var/lock/subsys/moosefs-chunkserver +RETVAL=0 + +start() +{ + start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfschunkserver start + RETVAL=$? + return $RETVAL +} + +stop() +{ + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfschunkserver stop + RETVAL=$? + return $RETVAL +} + +restart() +{ + stop + start +} + +reload() +{ + msg_reloading moosefs-chunkserver + stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- mfschunkserver + RETVAL=$? + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + restart + ;; + condstop) + if [ -e "$LOCKFILE" ]; then + stop + fi + ;; + condrestart) + if [ -e "$LOCKFILE" ]; then + restart + fi + ;; + condreload) + if [ -e "$LOCKFILE" ]; then + reload + fi + ;; + status) + status --pidfile "$PIDFILE" --expect-user root -- mfschunkserver + RETVAL=$? + ;; + *) + msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" + RETVAL=1 +esac + +exit $RETVAL diff --git a/alt/moosefs-chunkserver.udev b/alt/moosefs-chunkserver.udev new file mode 100644 index 0000000..ebe8968 --- /dev/null +++ b/alt/moosefs-chunkserver.udev @@ -0,0 +1,2 @@ +# Hide MooseFS block devices from udisks, and thus from user desktops: +SUBSYSTEM=="block", ENV{DM_NAME}=="mfs*", ENV{UDISKS_PRESENTATION_HIDE}="1", ENV{UDISKS_IGNORE}="1" diff --git a/alt/moosefs-master.init b/alt/moosefs-master.init new file mode 100644 index 0000000..a557bfc --- /dev/null +++ b/alt/moosefs-master.init @@ -0,0 +1,100 @@ +#!/bin/sh +# +# moosefs-master MooseFS master service. +# +# chkconfig: - 92 10 +# description: MooseFS master +# processname: mfsmaster +# config: /etc/mfs/mfsmaster.cfg +# pidfile: /var/run/moosefs-master.pid +# +### BEGIN INIT INFO +# Provides: moosefs-master +# Required-Start: $local_fs $network $syslog $remote_fs +# Required-Stop: $local_fs $syslog $remote_fs +# Should-Start: $syslog +# Should-Stop: $network $syslog +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: MooseFS metadata daemon +# Description: MooseFS metadata daemon +### END INIT INFO + + +# Do not load RH compatibility interface. +WITHOUT_RC_COMPAT=1 + +# Source function library. +. /etc/init.d/functions + +PIDFILE=/var/run/moosefs-master.pid +LOCKFILE=/var/lock/subsys/moosefs-master +RETVAL=0 + +start() +{ + start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmaster start + RETVAL=$? + return $RETVAL +} + +stop() +{ + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmaster stop + RETVAL=$? + return $RETVAL +} + +restart() +{ + stop + start +} + +reload() +{ + msg_reloading moosefs-master + stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- mfsmaster + RETVAL=$? + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + restart + ;; + condstop) + if [ -e "$LOCKFILE" ]; then + stop + fi + ;; + condrestart) + if [ -e "$LOCKFILE" ]; then + restart + fi + ;; + condreload) + if [ -e "$LOCKFILE" ]; then + reload + fi + ;; + status) + status --pidfile "$PIDFILE" --expect-user root -- mfsmaster + RETVAL=$? + ;; + *) + msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" + RETVAL=1 +esac + +exit $RETVAL diff --git a/alt/moosefs-metalogger.init b/alt/moosefs-metalogger.init new file mode 100644 index 0000000..0833bb6 --- /dev/null +++ b/alt/moosefs-metalogger.init @@ -0,0 +1,100 @@ +#!/bin/sh +# +# moosefs-mfsmetalogger MooseFS metalogger service. +# +# chkconfig: - 92 10 +# description: MooseFS metalogger +# processname: mfsmetalogger +# config: /etc/mfs/mfsmetalogger.cfg +# pidfile: /var/run/moosefs-mfsmetalogger.pid +# +### BEGIN INIT INFO +# Provides: moosefs-metalogger +# Required-Start: $local_fs $network $syslog $remote_fs +# Required-Stop: $local_fs $syslog $remote_fs +# Should-Start: $syslog +# Should-Stop: $network $syslog +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: MooseFS metalogger daemon +# Description: MooseFS metalogger daemon +### END INIT INFO + + +# Do not load RH compatibility interface. +WITHOUT_RC_COMPAT=1 + +# Source function library. +. /etc/init.d/functions + +PIDFILE=/run/moosefs-metalogger.pid +LOCKFILE=/run/lock/subsys/moosefs-metalogger +RETVAL=0 + +start() +{ + start_daemon --make-pidfile --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmetalogger start + RETVAL=$? + return $RETVAL +} + +stop() +{ + stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- mfsmetalogger stop + RETVAL=$? + return $RETVAL +} + +restart() +{ + stop + start +} + +reload() +{ + msg_reloading moosefs-metalogger + stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- mfsmetalogger + RETVAL=$? + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + restart + ;; + condstop) + if [ -e "$LOCKFILE" ]; then + stop + fi + ;; + condrestart) + if [ -e "$LOCKFILE" ]; then + restart + fi + ;; + condreload) + if [ -e "$LOCKFILE" ]; then + reload + fi + ;; + status) + status --pidfile "$PIDFILE" --expect-user root -- mfsmetalogger + RETVAL=$? + ;; + *) + msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}" + RETVAL=1 +esac + +exit $RETVAL diff --git a/moosefs.spec b/moosefs.spec new file mode 100644 index 0000000..4b9bb9e --- /dev/null +++ b/moosefs.spec @@ -0,0 +1,333 @@ +%define _groupname mfs +%define _username mfs +%define _localstatedir /var/lib +%define mfsconfdir %_sysconfdir/mfs + +Summary: MooseFS - distributed, fault tolerant file system +Name: moosefs +Version: 3.0.116 +Release: alt1 +License: GPLv2 +Group: System/Servers +Url: http://www.moosefs.com/ +# git-vcs: https://github.com/moosefs/moosefs.git +Packager: Alexey Shabalin +Source: %name-%version.tar +Patch: %name-%version.patch + +BuildRequires(pre): rpm-build-python3 +BuildRequires: python3-devel +BuildRequires: libfuse3-devel +BuildRequires: zlib-devel +BuildRequires: libpcap-devel +BuildRequires: pkgconfig(systemd) + +%description +MooseFS is an Open Source, easy to deploy and maintain, distributed, +fault tolerant file system for POSIX compliant OSes. + +%package -n libmfsio +Summary: MooseFS IO library +Group: System/Libraries +%description -n libmfsio +%summary. + +%package -n libmfsio-devel +Summary: Development files for MooseFS IO library +Group: Development/C +Requires: libmfsio = %EVR +%description -n libmfsio-devel +%summary. + +%package common +Summary: MooseFS - common files +Group: System/Servers +BuildArch: noarch + +%description common +MooseFS - distributed, fault tolerant file system + +%package master +Summary: MooseFS master server +Group: System/Servers +Requires: %name-common = %EVR + +%description master +MooseFS master (metadata) server together with mfssupervisor utility. + +%package metalogger +Summary: MooseFS metalogger server +Group: System/Servers +Requires: %name-common = %EVR + +%description metalogger +MooseFS metalogger (metadata replication) server. + +%package chunkserver +Summary: MooseFS data server +Group: System/Servers +Requires: %name-common = %EVR + +%description chunkserver +MooseFS data server. + +%package client +Summary: MooseFS client +Group: File tools + +%description client +MooseFS client: mfsmount and mfstools. + +%package cli +Summary: MooseFS CLI Utility +Group: File tools +BuildArch: noarch + +%description cli +MooseFS CLI utilities. + +%package cgi +Summary: MooseFS CGI Monitor +Group: System/Servers +BuildArch: noarch + +%description cgi +MooseFS CGI monitor. + +%package cgiserv +Summary: Simple CGI-capable HTTP server to run MooseFS CGI Monitor +Group: System/Servers +BuildArch: noarch +Requires: %name-cgi = %EVR +Requires: %name-common = %EVR + +%description cgiserv +Simple CGI-capable HTTP server to run MooseFS CGI monitor. + +%package netdump +Summary: MooseFS network packet dump utility +Group: System/Servers + +%description netdump +MooseFS network packet dump utility + +%prep +%setup +%patch -p1 + +%build +export PYTHON=/usr/bin/python3 +%autoreconf +%configure \ + --disable-static \ + --with-default-user=%_username \ + --with-default-group=%_groupname \ + --with-systemdsystemunitdir=%_unitdir + +%make_build + +%install +%makeinstall_std +# configs +for configs in %buildroot%mfsconfdir/*.cfg.sample; do + mv -n -v "$configs" "${configs%%.sample}" +done +mv -n -v \ + %buildroot%_localstatedir/mfs/metadata.mfs.empty \ + %buildroot%_localstatedir/mfs/metadata.mfs + +pushd alt +# udev rules +mkdir -p %buildroot%_udevrulesdir +install -p -m644 moosefs-chunkserver.udev %buildroot%_udevrulesdir/80-moosefs-chunkserver.rules + +# sysv init scripts +mkdir -p %buildroot%_sysconfdir/sysconfig +install -p -m644 moosefs-cgiserv.sysconfig %buildroot%_sysconfdir/sysconfig/moosefs-cgiserv +mkdir -p %buildroot%_initdir + +for f in *.init ; do + install -p -m755 $f %buildroot%_initdir/${f%%.init} +done +popd + +%pre common +%_sbindir/groupadd -r -f %_groupname 2>/dev/null ||: +%_sbindir/useradd -M -r -d %_localstatedir/mfs -s /bin/null -c "MooseFS" -g %_groupname %_username 2>/dev/null ||: + +%post master +%post_service %name-master +%preun master +%preun_service %name-master + +%post metalogger +%post_service %name-metalogger +%preun metalogger +%preun_service %name-metalogger + +%post chunkserver +%post_service %name-chunkserver +%preun chunkserver +%preun_service %name-chunkserver + +%post cgiserv +%post_service %name-cgiserv +%preun cgiserv +%preun_service %name-cgiserv + +%files -n libmfsio +%_libdir/libmfsio.so.* + +%files -n libmfsio-devel +%_includedir/mfsio.h +%_libdir/libmfsio.so + +%files common +%doc NEWS README +%dir %attr(770,root,%_groupname) %_localstatedir/mfs +%dir %attr(770,root,%_groupname) %mfsconfdir + +%files master +%_sbindir/mfsmaster +%_sbindir/mfsmetadump +%_sbindir/mfsmetadirinfo +%_sbindir/mfsmetarestore +%_sbindir/mfsstatsdump +%_man5dir/mfsexports.cfg.5* +%_man5dir/mfstopology.cfg.5* +%_man5dir/mfsmaster.cfg.5* +%_man8dir/mfsmaster.8* +%_man8dir/mfsmetarestore.8* +%_man8dir/mfsmetadump.8* +%_man8dir/mfsmetadirinfo.8* +%_man8dir/mfsstatsdump.8* +%config(noreplace) %mfsconfdir/mfsexports.cfg +%config(noreplace) %mfsconfdir/mfstopology.cfg +%config(noreplace) %mfsconfdir/mfsmaster.cfg +%config(noreplace) %attr(640,%_username,%_groupname) %_localstatedir/mfs/metadata.mfs +%_initdir/moosefs-master +%_unitdir/moosefs-master.service +%_unitdir/moosefs-master@.service + +%files metalogger +%_sbindir/mfsmetalogger +%_man5dir/mfsmetalogger.cfg.5* +%_man8dir/mfsmetalogger.8* +%config(noreplace) %mfsconfdir/mfsmetalogger.cfg +%_initdir/moosefs-metalogger +%_unitdir/moosefs-metalogger.service +%_unitdir/moosefs-metalogger@.service + +%files chunkserver +%_sbindir/mfschunkserver +%_sbindir/mfschunktool +%_sbindir/mfscsstatsdump +%_man5dir/mfschunkserver.cfg.5* +%_man5dir/mfshdd.cfg.5* +%_man8dir/mfschunkserver.8* +%_man8dir/mfschunktool.8* +%_man8dir/mfscsstatsdump.8* +%config(noreplace) %mfsconfdir/mfschunkserver.cfg +%config(noreplace) %mfsconfdir/mfshdd.cfg +%_udevrulesdir/80-moosefs-chunkserver.rules +%_initdir/moosefs-chunkserver +%_unitdir/moosefs-chunkserver.service +%_unitdir/moosefs-chunkserver@.service + +%files client +%_bindir/mfsappendchunks +%_bindir/mfscheckfile +%_bindir/mfsdirinfo +%_bindir/mfsfileinfo +%_bindir/mfsfilerepair +%_bindir/mfsmakesnapshot +%_bindir/mfsrmsnapshot +%_bindir/mfsgetgoal +%_bindir/mfssetgoal +%_bindir/mfscopygoal +%_bindir/mfsrgetgoal +%_bindir/mfsrsetgoal +%_bindir/mfsgetsclass +%_bindir/mfssetsclass +%_bindir/mfscopysclass +%_bindir/mfsxchgsclass +%_bindir/mfslistsclass +%_bindir/mfsgettrashtime +%_bindir/mfssettrashtime +%_bindir/mfscopytrashtime +%_bindir/mfsrgettrashtime +%_bindir/mfsrsettrashtime +%_bindir/mfsgeteattr +%_bindir/mfsseteattr +%_bindir/mfsdeleattr +%_bindir/mfscopyeattr +%_bindir/mfsgetquota +%_bindir/mfssetquota +%_bindir/mfsdelquota +%_bindir/mfscopyquota +%_bindir/mfschkarchive +%_bindir/mfsclrarchive +%_bindir/mfssetarchive +%_bindir/mfsfilepaths +%_bindir/mfsscadmin +%_bindir/mfstools +%_bindir/mfsmount +%_sbindir/mfsbdev +/sbin/mount.moosefs +%_man1dir/* +%exclude %_man1dir/mfscli.1* +%_man8dir/mfsmount.8* +%_man8dir/mount.moosefs.8* +%_man8dir/mfsbdev.8* +%config(noreplace) %mfsconfdir/mfsmount.cfg + +%files cli +%_bindir/mfscli +%_man1dir/mfscli.1* + +%files cgi +%dir %_datadir/mfscgi +%attr(755,root,root) %_datadir/mfscgi/*.cgi +%_datadir/mfscgi/*.css +%_datadir/mfscgi/*.gif +%_datadir/mfscgi/*.html +%_datadir/mfscgi/*.ico +%_datadir/mfscgi/*.js +%_datadir/mfscgi/*.png + +%files cgiserv +%config(noreplace) %_sysconfdir/sysconfig/moosefs-cgiserv +%_sbindir/mfscgiserv +%_man8dir/mfscgiserv.8* +%_initdir/moosefs-cgiserv +%_unitdir/moosefs-cgiserv.service + +%files netdump +%_sbindir/mfsnetdump +%_man8dir/mfsnetdump.8* + +%changelog +* Thu Aug 12 2021 Andrew A. Vasilyev 3.0.116-alt1 +- 3.0.116 + +* Tue Nov 03 2020 Andrew A. Vasilyev 3.0.115-alt1 +- 3.0.115 + +* Mon Jun 01 2020 Alexey Shabalin 3.0.113-alt1 +- 3.0.113 + +* Sun Mar 15 2020 Alexey Shabalin 3.0.111-alt1 +- 3.0.111 +- build with libfuse3 + +* Mon Feb 03 2020 Alexey Shabalin 3.0.109-alt1 +- 3.0.109 + +* Wed May 29 2019 Alexey Shabalin 3.0.105-alt1 +- 3.0.105 + +* Wed May 08 2019 Alexey Shabalin 3.0.104-alt1 +- 3.0.104 + +* Sun Mar 03 2019 Alexey Shabalin 3.0.103-alt1 +- inital build for ALT (based on upstream spec) diff --git a/systemd/moosefs-cgiserv.service.in b/systemd/moosefs-cgiserv.service.in index 9a809e4..01bb13e 100644 --- a/systemd/moosefs-cgiserv.service.in +++ b/systemd/moosefs-cgiserv.service.in @@ -1,14 +1,23 @@ [Unit] Description=MooseFS CGI server +Documentation=man:mfscgiserv Wants=network-online.target After=network.target network-online.target [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfscgiserv start +#Type=forking +Type=simple +User=mfs +Group=mfs +Environment=BIND_HOST=127.0.0.1 +Environment=BIND_PORT=9425 +Environment=ROOT_PATH=/usr/share/mfscgi +EnvironmentFile=-/etc/sysconfig/moosfs-cgiserv +ExecStart=@SBIN_PATH@/mfscgiserv -f -H ${BIND_HOST} -P ${BIND_PORT} -R ${ROOT_PATH} start ExecStop=@SBIN_PATH@/mfscgiserv stop -PIDFile=@DATA_PATH@/.mfscgiserv.lock -Restart=on-abnormal +ExecReload=/bin/kill -HUP $MAINPID +#PIDFile=@DATA_PATH@/.mfscgiserv.lock +Restart=on-abort [Install] WantedBy=multi-user.target diff --git a/systemd/moosefs-chunkserver.service.in b/systemd/moosefs-chunkserver.service.in index 4d4420b..1cde07d 100644 --- a/systemd/moosefs-chunkserver.service.in +++ b/systemd/moosefs-chunkserver.service.in @@ -1,15 +1,22 @@ [Unit] Description=MooseFS Chunkserver +Documentation=man:mfschunkserver Wants=network-online.target -After=network.target network-online.target +After=network.target network-online.target moosefs-master.service [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfschunkserver start +#Type=forking +Type=simple +ExecStart=@SBIN_PATH@/mfschunkserver -f start ExecStop=@SBIN_PATH@/mfschunkserver stop ExecReload=@SBIN_PATH@/mfschunkserver reload -PIDFile=@DATA_PATH@/.mfschunkserver.lock -Restart=on-abnormal +#PIDFile=@DATA_PATH@/.mfschunkserver.lock +Restart=on-abort +OOMScoreAdjust=-999 +IOAccounting=true +IOWeight=250 +StartupIOWeight=100 +KeyringMode=inherit [Install] WantedBy=multi-user.target diff --git a/systemd/moosefs-chunkserver@.service.in b/systemd/moosefs-chunkserver@.service.in index f581f05..177417c 100644 --- a/systemd/moosefs-chunkserver@.service.in +++ b/systemd/moosefs-chunkserver@.service.in @@ -1,15 +1,22 @@ [Unit] Description=MooseFS Chunkserver +Documentation=man:mfschunkserver Wants=network-online.target -After=network.target network-online.target +After=network.target network-online.target moosefs-master.service [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg start +#Type=forking +Type=simple +ExecStart=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg -f start ExecStop=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg stop ExecReload=@SBIN_PATH@/mfschunkserver -c @ETC_PATH@/mfs-%I/mfschunkserver.cfg reload -PIDFile=@DATA_PATH@-%I/.mfschunkserver.lock -Restart=on-abnormal +#PIDFile=@DATA_PATH@-%I/.mfschunkserver.lock +Restart=on-abort +OOMScoreAdjust=-999 +IOAccounting=true +IOWeight=250 +StartupIOWeight=100 +KeyringMode=inherit [Install] WantedBy=multi-user.target diff --git a/systemd/moosefs-master.service.in b/systemd/moosefs-master.service.in index e95aa28..87787a9 100644 --- a/systemd/moosefs-master.service.in +++ b/systemd/moosefs-master.service.in @@ -1,17 +1,20 @@ [Unit] Description=MooseFS Master server +Documentation=man:mfsmaster Wants=network-online.target After=network.target network-online.target [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfsmaster start +#Type=forking +Type=simple +ExecStart=@SBIN_PATH@/mfsmaster -f start ExecStop=@SBIN_PATH@/mfsmaster stop ExecReload=@SBIN_PATH@/mfsmaster reload -PIDFile=@DATA_PATH@/.mfsmaster.lock +#PIDFile=@DATA_PATH@/.mfsmaster.lock TimeoutStopSec=1800 TimeoutStartSec=1800 Restart=no +OOMScoreAdjust=-999 [Install] WantedBy=multi-user.target diff --git a/systemd/moosefs-master@.service.in b/systemd/moosefs-master@.service.in index 854808b..c90ee08 100644 --- a/systemd/moosefs-master@.service.in +++ b/systemd/moosefs-master@.service.in @@ -1,14 +1,16 @@ [Unit] Description=MooseFS Master server +Documentation=man:mfsmaster Wants=network-online.target After=network.target network-online.target [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg start +#Type=forking +Type=simple +ExecStart=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg -f start ExecStop=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg stop ExecReload=@SBIN_PATH@/mfsmaster -c @ETC_PATH@/mfs-%I/mfsmaster.cfg reload -PIDFile=@DATA_PATH@-%I/.mfsmaster.lock +#PIDFile=@DATA_PATH@-%I/.mfsmaster.lock TimeoutStopSec=1800 TimeoutStartSec=1800 Restart=no diff --git a/systemd/moosefs-metalogger.service.in b/systemd/moosefs-metalogger.service.in index c970b86..de00f95 100644 --- a/systemd/moosefs-metalogger.service.in +++ b/systemd/moosefs-metalogger.service.in @@ -1,14 +1,16 @@ [Unit] Description=MooseFS Metalogger server +Documentation=man:mfsmetalogger Wants=network-online.target After=network.target network-online.target [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfsmetalogger start +#Type=forking +Type=simple +ExecStart=@SBIN_PATH@/mfsmetalogger -f start ExecStop=@SBIN_PATH@/mfsmetalogger stop ExecReload=@SBIN_PATH@/mfsmetalogger reload -PIDFile=@DATA_PATH@/.mfsmetalogger.lock +#PIDFile=@DATA_PATH@/.mfsmetalogger.lock Restart=on-abnormal [Install] diff --git a/systemd/moosefs-metalogger@.service.in b/systemd/moosefs-metalogger@.service.in index 949d1a0..42c9c6a 100644 --- a/systemd/moosefs-metalogger@.service.in +++ b/systemd/moosefs-metalogger@.service.in @@ -1,14 +1,16 @@ [Unit] Description=MooseFS Metalogger server +Documentation=man:mfsmetalogger Wants=network-online.target After=network.target network-online.target [Service] -Type=forking -ExecStart=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg start +#Type=forking +Type=simple +ExecStart=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg -f start ExecStop=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg stop ExecReload=@SBIN_PATH@/mfsmetalogger -c @ETC_PATH@/mfs-%I/mfsmetalogger.cfg reload -PIDFile=@DATA_PATH@-%I/.mfsmetalogger.lock +#PIDFile=@DATA_PATH@-%I/.mfsmetalogger.lock Restart=on-abnormal [Install]