mfsgoal(1)
π mfsgoal β MooseFS goal management tools π
okay bestie, sit DOWN, because this is the manual page for mfsgoal, which is literally the whole MooseFS goal-management situation, and it's part of MooseFS itself. This is your one-stop shop for the goal tools, and I'm gonna walk you through every single one of them, no skips, no cap. π
β¨ SYNOPSIS β¨
like, here's the whole vibe, five tools, one page:
mfsgetgoal [-r] [-n|-h|-H|-k|-m|-g] OBJECT...
mfssetgoal [-r] [-n|-h|-H|-k|-m|-g] GOAL[+|-] OBJECT...
mfscopygoal [-r] [-n|-h|-H|-k|-m|-g] SOURCE_OBJECT OBJECT...
mfsrgetgoal [-n|-h|-H|-k|-m|-g] OBJECT...
mfsrsetgoal [-n|-h|-H|-k|-m|-g] GOAL[+|-] OBJECT...
πΈ DESCRIPTION πΈ
So these tools all mess with an object's goal value, which is the number of copies in which all file data are stored. Translated for the girlies: it means your file should survive failure of one less chunkservers than its goal value. That's the whole point of it, it's giving redundancy energy. π
Goal must be set between 1 and 9. and ngl, <red>1</red> is strongly unadvised β like bestie please don't, you deserve better than that. π
okay so now, tool by tool:
mfsgetgoalβ prints the current goal value of the given object(s). The-roption turns on recursive mode, and the way that works is: it acts as usual for every given file, but for every given directory it additionally prints the current goal value of all contained objects (yes, files and directories). β¨mfssetgoalβ changes the current goal value of the given object(s). If the new value is written inN+form, the goal value is increased to N for objects with a lower goal value and left unchanged for the rest. Similarly, if the new value is written asN-, the goal value is decreased to N for objects with a higher goal value and left unchanged for the rest. The-roption enables recursive mode. These tools can be used on any file, directory or deleted (trash) file. ποΈmfscopygoalβ iconic behaviour, honestly: it copies the goal value from one object to another. π«Άmfsrgetgoalandmfsrsetgoalβ deprecated aliases formfsgetgoal -randmfssetgoal -rrespectively. they still work but they're giving legacy, iykyk. π
π STORAGE CLASSES π
Since version 3.0 of MooseFS, goal has been extended to storage classes. Not me being obsessed with this feature β using storage classes, a user can also specify chunkservers on which copies should be stored by defining label expressions. okay slay. π
To maintain compatibility with standard goal semantics, there are predefined storage classes from 1 to 9, and the goal tools simply work only on these classes. So if you're trying to achieve more sophisticated storage scenarios, you need to go use the sclass tools instead β that's mfsgetsclass, mfssetsclass, and friends, you know the ones. π
β GENERAL OPTIONS β
Most of mfstools use -n, -h, -H, -k, -m and -g options to select the format of printed numbers. Here's the tea:
-nβ causes it to print exact numbers. no frills, just the truth. π-hβ uses binary prefixes (Ki,Mi,Gias2^10,2^20etc.).-Hβ uses SI prefixes (k,M,Gas10^3,10^6etc.).-kβ shows plain numbers in kibis (binary kilo β1024).-mβ shows plain numbers in mebis (binary mega β1024^2).-gβ shows plain numbers in gibis (binary giga β1024^3).
And the way you can get the exact same behaviour without the flags: set the MFSHRFORMAT environment variable. π¦
0β exact numbers1orhβ binary prefixes2orHβ SI prefixes3orh+β exact numbers and binary prefixes4orH+β exact numbers and SI prefixes
The default is to print just exact numbers. periodt. β¨
π§ INHERITANCE π§
okay so when a new object is created in MooseFS, attributes such as storage class, trashtime and extra attributes are inherited from the parent directory. So if you set, i.e., the "noowner" attribute and storage class to "important" in a directory, then every new object created in this directory will have storage class set to "important" and the "noowner" flag set. πΈ
A newly created object always inherits the current set of its parent's attributes. But listen β changing a directory attribute does not affect its already created children. that's the plot twist. π
So to change an attribute for a directory and all of its children, use the -r option. that's it, that's the move. π
π REPORTING BUGS π
Report bugs to <bugs@moosefs.com>. we love a maintainer who's reachable, bestie. π«Ά
π COPYRIGHT π
Copyright (C) 2023 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 π
okay that's the whole page, you ate it, you understood it, main character energy achieved πβ¨
this has been brought to you by MooseFS 3.0.117-1, dated February 2023. go forth and set those goals, bestie. ππ
π¦ where this page comes from
- debian bookworm: moosefs-client 3.0.117-1 Β· GPL-2.0-only
- ubuntu noble: moosefs-client 3.0.117-1.1build2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms