mfssclass(1)

NAME
mfssclass - MooseFS storage classes management tools

SYNOPSIS
mfsgetsclass [-?] [-r] [-n|-h|-H|-k|-m|-g] OBJECT...

mfssetsclass [-?] [-r] [-n|-h|-H|-k|-m|-g] SCLASS_NAME OBJECT...

mfscopysclass [-?] [-r] [-n|-h|-H|-k|-m|-g] SOURCE_OBJECT OBJECT...

mfsxchgsclass [-?] [-r] [-n|-h|-H|-k|-m|-g] SRC_SCLASS_NAME DST_SCLASS_NAME OBJECT...

DESCRIPTION
These tools operate on a filesystem object's (file, special file, or directory) storage class name. This is an extended version of the older MooseFS's goal mechanism. There are several predefined storage classes in each fresh installation of MooseFS (see NOTES). Other classes can be created/modified/deleted etc., by an administrator using the mfsscadmin tool.

mfsgetsclass prints current storage class of given object(s). -r option enables recursive mode: for directories, it shows the number of objects in each storage class containded in the whole subtree of this directory. for files there is no difference.

mfssetsclass changes the current storage class of given object(s). -r option enables recursive mode.

mfscopysclass copies storage class from one object to given object(s).

mfsxchgsclass sets storage class of given objects(s) to DST_SCLASS_NAME, but only when current storage class is set to SRC_SCLASS_NAME.

OPTIONS
Most MooseFS tools use -n, -h, -H, -k, -m and -g options to select format of printed numbers. -n causes to print exact numbers, -h uses binary prefixes (Ki, Mi, Gi as 2^10, 2^20 etc.) while -H uses SI prefixes (k, M, G as 10^3, 10^6 etc.). -k, -m and -g show plain numbers respectivaly in kibis (binary kilo - 1024), mebis (binary mega - 1024^2) and gibis (binary giga - 1024^3). The same can be achieved by setting MFSHRFORMAT environment variable to: 0 (exact numbers), 1 or h (binary prefixes), 2 or H (SI prefixes), 3 or h+ (exact numbers and binary prefixes), 4 or H+ (exact numbers and SI prefixes). The default is to print just exact numbers.

Option -? displays a short usage message.

NOTES

  INHERITANCE
When a new object is created in MooseFS, the storage class is inherited from the parent directory. A newly created object inherits always the current value of its parent's storage class. Changing a directory's storage class does not affect its already created children. To change the storage class for a directory and all of its children, use the -r option.

  PREDEFINED STORAGE CLASSES

A new MooseFS instance will have the following classes predefined:

2CP - only KEEP state defined, keep 2 copies on any labels (default class for / directory)

3CP - only KEEP state defined, keep 3 copies on any labels

EC4+1 - in KEEP state, keep 2 copies on any labels, in ARCHIVE state, keep chunks in EC4+1 format on any labels, archive delay is 1 day and is calculated using file's ctime, files smaller than 512kiB will not be converted to EC format

EC4+2 - (pro only) in KEEP state, keep 3 copies on any labels, in ARCHIVE state, keep chunks in EC4+2 format on any labels, archive delay is 1 day and is calculated using file's ctime, files smaller than 512kiB will not be converted to EC format

EC8+1 - in KEEP state, keep 2 copies on any labels, in ARCHIVE state, keep chunks in EC8+1 format on any labels, archive delay is 1 day and is calculated using file's ctime, files smaller than 512kiB will not be converted to EC format

EC8+2 - (pro only) in KEEP state, keep 3 copies on any labels, in ARCHIVE state, keep chunks in EC8+2 format on any labels, archive delay is 1 day and is calculated using file's ctime, files smaller than 512kiB will not be converted to EC format

Up to version 4.56.0 of MooseFS the predefined classes were different. The following information pertains to old MooseFS behaviour. In newer versions of MooseFS the classes mentioned below might exist as a result of an upgrade, but will behave exactly like any user-defined classes. This information is left here purely for informative reasons and will be removed from this manual page at some point:

(Behaviour up to version 4.56.0) "For compatibility reasons, every fresh or freshly upgraded instance of MooseFS has 9 predefined storage classes. Their names are single digits, from 1 to 9, and their definitions are * to 9*. They are equivalents 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 upgraded system and migrate files with mfsxchgsclass tool, rather than modify the predefined classes. The predefined classes CANNOT be deleted."

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

COPYRIGHT
Copyright (C) 2025 Jakub Kruszona-Zawadzki, Saglabs SA

This file is part of MooseFS.

MooseFS is free software; you can redistribute it and/or modify it under 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), mfsscadmin(1)