Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
mfsscadmin(1)		    This is part of MooseFS		 mfsscadmin(1)

NAME
       mfsscadmin - MooseFS storage class administration tool

SYNOPSIS
       mfsscadmin [/MOUNTPOINT]	create|make [-a	admin_only] [-m	mode] [-C CRE-
       ATION_LABELS]   -K   KEEP_LABELS	  [-A	ARCH_LABELS   -d   ARCH_DELAY]
       SCLASS_NAME...

       mfsscadmin  [/MOUNTPOINT]  create|make [-a admin_only] [-m mode]	LABELS
       SCLASS_NAME...

       mfsscadmin [/MOUNTPOINT]	change|modify [-f] [-a admin_only]  [-m	 mode]
       [-C  CREATION_LABELS] [-K KEEP_LABELS] [-A ARCH_LABELS] [-d ARCH_DELAY]
       SCLASS_NAME...

       mfsscadmin [/MOUNTPOINT]	delete|remove SCLASS_NAME...

       mfsscadmin      [/MOUNTPOINT]	  copy|duplicate       SRC_SCLASS_NAME
       DST_SCLASS_NAME...

       mfsscadmin [/MOUNTPOINT]	rename SRC_SCLASS_NAME DST_SCLASS_NAME

       mfsscadmin [/MOUNTPOINT]	list [-l]

DESCRIPTION
       mfsscadmin  is  a tool for defining storage classes, which can be later
       applied to MooseFS objects with mfssetsclass, mfsgetsclass etc.	 Stor-
       age  class is a set of labels expressions and options that indicate, on
       which chunkservers the files in this class should be written and	 later
       kept.

COMMANDS
       create|make  creates  a new storage class with given options, described
       below and names it SCLASS_NAME; there can be more than  one  name  pro-
       vided,  multiple	 storage classes with the same definition will be cre-
       ated then

       change|modify changes the given options in a class or classes indicated
       by SCLASS_NAME parameter(s)

       delete|remove removes the class or classes indicated by SCLASS_NAME pa-
       rameter(s); if any of the classes is not	empty (i.e. it is  still  used
       by  some	MooseFS	objects), it will not be removed and the tool will re-
       turn an error and an error message will be printed; empty classes  will
       be removed in any case

       copy|duplicate  copies  class  indicated	by SRC_SCLASS_NAME under a new
       name provided with DST_SCLASS_NAME

       rename  changes	the  name  of  a   class   from	  SRC_SCLASS_NAME   to
       DST_SCLASS_NAME

       list lists all the classes

OPTIONS
       -C optional parameter, that tells the system to which chunkservers, de-
       fined by	the CREATION_LABELS expression,	 the  chunk  should  be	 first
       written	just  after  creation; if this parameter is not	provided for a
       class, the KEEP_LABELS chunkservers will	be used

       -K mandatory parameter (assumed in the second, abbreviated  version  of
       the  command),  that tells the system on	which chunkservers, defined by
       the KEEP_LABELS expression, the chunk(s)	should be kept always,	except
       for special conditions like creating and	archiving, if defined

       -A optional parameter, that tells the system on which chunkservers, de-
       fined by	the ARCH_LABELS	expression, the	chunk(s) should	 be  kept  for
       archiving purposes; the system starts to	treat a	chunk as archive, when
       the last	modification time of the file it belongs to is older than  the
       number of days specified	with -d	option

       -d optional parameter that MUST be defined when -A is defined, ARCH_DE-
       LAY parameter defines after how many days from last modification	time a
       file (and its chunks) are treated as archive

       -a can be either	1 or 0 and indicates if	the storage class is available
       to everyone (0) or admin	only (1)

       -f force	the changes on a predefined storage  class  (see  below),  use
       with caution!

       -m is described below in	CREATION MODES section

       -l  list	 also  definitions,  not  only	the  names of existing storage
       classes

LABELS EXPRESSIONS
       Labels are  letters  (A-Z  -  26	 letters)  that	 can  be  assigned  to
       chunkservers. Each chunkserver can have multiple	(up to 26) labels. La-
       bels are	defined	in mfschunkserver.cfg file, for	more information refer
       to the appropriate manpage.

       Labels  expression is a set of subexpressions separated by commas, each
       subexpression specifies the storage schema of one copy of a file.  Sub-
       expression  can	be: an asterisk	or a label schema. Label schema	can be
       one label or an expression with sums, multiplications and brackets. Sum
       means  a	 file can be stored on any chunkserver matching	any element of
       the sum (logical	or). Multiplication means a file can be	stored only on
       a  chunkserver matching all elements (logical and).  Asterisk means any
       chunkserver. Identical subexpressions can be shortened by adding	a num-
       ber in front of one instead of repeating	it a number of times.

       Examples	of labels expressions:

       A,B  -  files  will  have  two  copies,	one  copy  will	 be  stored on
       chunkserver(s) with label A, the	other on chunkserver(s)	with label B

       A,* -  files  will  have	 two  copies,  one  copy  will	be  stored  on
       chunkserver(s) with label A, the	other on any chunkserver(s)

       *,* - files will	have two copies, stored	on any chunkservers (different
       for each	copy)

       AB,C+D -	files will have	two copies, one	copy will  be  stored  on  any
       chunkserver(s) that has both labels A and B (multiplication of labels),
       the other on any	chunkserver(s) that has	either the C label  or	the  D
       label (sum of labels)

       A,B[X+Y],C[X+Y] - files will have three copies, one copy	will be	stored
       on any chunkserver(s) with A label, the	second	on  any	 chunserver(s)
       that  has  the  B  label	 and  either  X	 or  Y label, the third	on any
       chunkserver(s), that has	the C label and	either X or Y label

       A,A expression is equivalent to 2A expression

       A,BC,BC,BC expression is	equivalent to A,3BC expression

       *,* expression is equivalent to 2* expression is	equivalent  to	2  ex-
       pression

MODES
       It  is  important to specify what to do when it is not possible to meet
       the labels requirement of a storage class,  i.e.:  there	 is  no	 space
       available  on  all  servers  with  needed  labels,  there is not	enough
       servers with needed labels or servers with needed labels	are all	 busy.
       The  question  is  if  the system should	create chunks on other servers
       (with non-matching labels) or not. This decision	must be	 made  by  the
       user and	hence the -m option.

       In  DEFAULT  mode  (no  option  or  option  -m D) in case of overloaded
       servers the system will wait for	them, but in case of no	 space	avail-
       able  it	 will  use  other  servers  and	will replicate data to correct
       servers when it becomes possible. This means if	some  servers  are  in
       busy  state  for	 a  long  time,	it might not be	possible to create new
       chunks with certain storage classes and endangered  (undergoal)	chunks
       from  those  classes are	at higher risk of being	completely lost	due to
       delayed replications.

       Option -m S turns on STRICT mode. In this mode, during  writing	a  new
       file,  the system will return error (ENOSPC) in case of no space	avail-
       able on servers marked with labels specified  for  chunk	 creation.  It
       will still wait for overloaded servers. Undergoal repliactions will not
       be performed if there is	no space on servers with labels	 matching  the
       storage	class.	This  means  high risk of loosing data if servers with
       some lables are permamently filled up with data!

       Option -m L turns on LOOSE mode.	In this	mode the system	 will  immedi-
       ately  use  other  servers in case of overloaded	servers	or no space on
       servers and will	replicate data to correct servers when it becomes pos-
       sible. There is no delay	or error on file creation and undergoal	repli-
       cations are always done as soon as possible.

       This table sums up the modes:

			      DEFAULT	  STRICT    LOOSE
       CREATE -	BUSY	      WAIT	  WAIT	    WRITE ANY
       CREATE -	NO SPACE      WRITE ANY	  ENOSPC    WRITE ANY
       REPLICATE - BUSY	      WAIT	  WAIT	    WRITE ANY
       REPLICATE - NO SPACE   WRITE ANY	  NO COPY   WRITE ANY

PREDEFINED STORAGE CLASSES
       For compatibility reasons, every	fresh or freshly upgraded instance  of
       MooseFS	has  9 predefined storage classes. Their names are single dig-
       its, from 1 to 9, and their definitions are * to	9*. They  are  equiva-
       lents  of simple	numeric	goals from previous versions of	the system. In
       case of an upgrade, all files that had goal N before upgrade, will  now
       have  N	storage	class.	These classes can be modified only when	option
       -f is specified.	It is advised to create	new storage classes in an  up-
       graded  system  and  migrate files with mfsxchgsclass tool, rather than
       modify the predefined classes. The predefined classes CANNOT be deleted
       nor renamed.

REPORTING BUGS
       Report bugs to <bugs@moosefs.com>.

COPYRIGHT
       Copyright (C) 2020 Jakub	Kruszona-Zawadzki, Core	Technology Sp. z o.o.

       This file is part of MooseFS.

       MooseFS	is free	software; you can redistribute it and/or modify	it un-
       der the terms of	the GNU	General	Public License	as  published  by  the
       Free Software Foundation, version 2 (only).

       MooseFS	is distributed in the hope that	it will	be useful, but WITHOUT
       ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY  or
       FITNESS	FOR  A	PARTICULAR PURPOSE. See	the GNU	General	Public License
       for more	details.

       You should have received	a copy of the GNU General Public License along
       with  MooseFS;  if not, write to	the Free Software Foundation, Inc., 51
       Franklin	 St,  Fifth  Floor,  Boston,  MA  02111-1301,  USA  or	 visit
       http://www.gnu.org/licenses/gpl-2.0.html

SEE ALSO
       mfsmount(8), mfstools(1), mfssclass(1), mfschunkserver.cfg(5)

MooseFS	3.0.115-1		 October 2020			 mfsscadmin(1)

NAME | SYNOPSIS | DESCRIPTION | COMMANDS | OPTIONS | LABELS EXPRESSIONS | MODES | PREDEFINED STORAGE CLASSES | REPORTING BUGS | COPYRIGHT | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=mfsscadmin&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help