Goal (deprecated)
Goal is the setting MooseFS used before Storage Classes to say how many copies of a file to keep.
What it is
Goal was a number attached to a file or a directory. The number said how many copies of that file's chunks should exist, and nothing else. Goal did not say which servers the copies went to, or what was to happen to the copies later. The Storage Class replaced goal and answers all three questions.
Goal is no longer a setting that you can read or change. mfsgetgoal, mfssetgoal, and mfscopygoal still ship with the client tools. However, each of these tools is now a one-line script. The script prints a message that names the tool's replacement (mfsgetsclass, mfssetsclass, and mfscopysclass) and does nothing else. The script contacts no server, changes nothing, and exits without an error.
Why it matters
You meet the old word in three places.
Scripts of your own may still call the goal tools. Such a script no longer changes anything and reports no failure while doing so. The files that the script was written to protect therefore keep whatever redundancy they already had.
A cluster upgraded from an older MooseFS has Storage Classes named 1 to 9. The goal values of that cluster became those classes. The classes behave like any Storage Class that you define yourself. A cluster installed fresh has no such classes.
The GUI and mfscli still count chunks that are undergoal. mfscli names the opposite state overgoal.
How MooseFS implements it
The word remains in two of the grades that a chunk is given against its Storage Class: undergoal and overgoal. Both grades are defined together with the other grades in self-healing.
Both words appear on the screen. mfscli sums the chunk matrix into counts named undergoal and overgoal. The filesystem self-check table in the GUI has an undergoal column for files and a second undergoal column for chunks. The health checks raise an alert on undergoal chunks and on undergoal files. The matrix rows themselves are counted in Redundancy Level now. The legend of the matrix shows the goal equivalent: mfscli prints GOAL: (1+N) copies next to RL = N. The GUI prints the same note above its matrix.
Related tasks
- Data placement tasks: the Storage Class commands that replaced the goal tools.
- The chunk matrix table: where the
undergoalandovergoalcounts are read.
Related terms
- Storage Class: the setting that replaced goal.
- Redundancy Level: what the GUI and
mfsclicount in place of the goal number. - Copy: what goal counted.
- Chunk: the unit that is undergoal or overgoal.