File tree Expand file tree Collapse file tree 6 files changed +69
-4
lines changed
Expand file tree Collapse file tree 6 files changed +69
-4
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,23 @@ services:
2727 depends_on :
2828 - mfsmaster
2929
30+ mfsmetalogger :
31+ build : ./moosefs-metalogger
32+ container_name : " mfsmetalogger"
33+ networks :
34+ moosefsnet :
35+ ipv4_address : " 172.20.0.4"
36+ volumes :
37+ - ./data/metalogger/meta:/var/lib/mfs
38+ environment :
39+ - MFS_ENV=TEST
40+ # In the TEST environment, if metadata.mfs file or other metadata files
41+ # like metdata.mfs.back and changelog.0.mfs are missing, the script will
42+ # create an EMPTY metadata file!
43+ # When MFS_ENV=PROD metdata.mfs file will not be created!
44+ depends_on :
45+ - mfsmaster
46+
3047 mfschunkserver1 :
3148 build : ./moosefs-chunkserver
3249 container_name : " mfschunkserver1"
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ RUN echo "deb http://ppa.moosefs.com/moosefs-3/apt/debian/buster buster main" >
1111RUN apt-get update && apt-get install -y moosefs-chunkserver
1212
1313# Expose ports
14- EXPOSE 9419 9420 9422
14+ EXPOSE 9422
1515
1616# Add start script
1717ADD chunkserver.sh /usr/sbin/chunkserver.sh
Original file line number Diff line number Diff line change @@ -13,6 +13,4 @@ RUN apt-get update && apt-get install -y moosefs-client moosefs-cli
1313# Make a moosefs mountpoint
1414RUN mkdir -p /mnt/moosefs
1515
16- EXPOSE 9419 9420 9421 9422
17-
1816CMD ["mfsmount" , "-f" , "/mnt/moosefs" ]
Original file line number Diff line number Diff line change 2222 echo " MFSM NEW" > /var/lib/mfs/metadata.mfs
2323 exec mfsmaster -f
2424 else
25- echo " No /var/lib/mfs/metadta .mfs file!"
25+ echo " No /var/lib/mfs/metadata .mfs file!"
2626 echo " EXITING - THS IS PRODUCTION ENVIRONMENT!"
2727 exit 1
2828 fi
Original file line number Diff line number Diff line change 1+ FROM debian:buster
2+
3+ # Install wget and gnupg2
4+ RUN apt-get update && apt-get install -y wget gnupg2
5+
6+ # Add key
7+ RUN wget -O - http://ppa.moosefs.com/moosefs.key 2>/dev/null | apt-key add - 2>/dev/null
8+ RUN echo "deb http://ppa.moosefs.com/moosefs-3/apt/debian/buster buster main" > /etc/apt/sources.list.d/moosefs.list
9+
10+ # Install MooseFS metalogger
11+ RUN apt-get update && apt-get install -y moosefs-metalogger
12+
13+ # Expose ports master ports
14+ EXPOSE 9419 9420 9421
15+
16+ # Add and run start script
17+ ADD metalogger.sh /usr/sbin/metalogger.sh
18+ RUN chown root:root /usr/sbin/metalogger.sh ; chmod 700 /usr/sbin/metalogger.sh
19+
20+ CMD ["metalogger.sh" ]
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ # Set default MooseFS enviroment to PRODUCTION
4+ MFS_ENV=" ${MFS_ENV:- PROD} "
5+
6+ # Set correct owner
7+ chown -R mfs:mfs /var/lib/mfs
8+
9+ # We have to be sure that we have metadata files
10+ if [ -f /var/lib/mfs/metadata.mfs ];
11+ then
12+ exec mfsmetalogger -f
13+ else
14+ if [[ -f /var/lib/mfs/metadata.mfs.back.1 && -f /var/lib/mfs/changelog.0.mfs ]];
15+ then
16+ echo " Can't find metadata.mfs file"
17+ echo " Let's try to restore it"
18+ exec mfsmetalogger -a -f
19+ else
20+ if [ " $MFS_ENV " == " TEST" ];
21+ then
22+ echo " MFSM NEW" > /var/lib/mfs/metadata.mfs
23+ exec mfsmetalogger -f
24+ else
25+ echo " No /var/lib/mfs/metadata.mfs file!"
26+ echo " EXITING - THS IS PRODUCTION ENVIRONMENT!"
27+ exit 1
28+ fi
29+ fi
30+ fi
You can’t perform that action at this time.
0 commit comments