Red Hat Training

A Red Hat training course is available for Red Hat Gluster Storage

Chapter 22. Red Hat Gluster Storage Utilities

Glusterfind is a utility that provides the list of files that are modified between the previous backup session and the current period. The commands can be executed at regular intervals to retrieve the list. Multiple sessions for the same volume can be present for different use cases. The changes that are recorded are, new file/directories, data/metadata modifications, rename, and deletes.

22.1. Glusterfind Configuration Options

The following is the list configuration options available in Glusterfind:
  • Glusterfind Create
  • Glusterfind Pre
  • Glusterfind Post
  • Glusterfind List
  • Glusterfind Delete

Note

All the glusterfind configuration commands such as, glusterfind pre, glusterfind post, glusterfind list, and glusterfind delete for a session have to be executed only on the node on which session is created.
Glusterfind Create

To create a session for a particular instance in the volume, execute the following command:

glusterfind create [-h] [--debug] [--force] <SessionName> <volname> [--reset-session-time]
where,
--force: is executed when a new node/brick is added to the volume .
--reset-session-time: forces reset of the session time. The next incremental run will start from this time.
--help OR -h: Used to display help for the command.
SessionName: Unique name of a session.
volname: Name of the volume for which the create command is executed.
For example:
# glusterfind create sess_vol1 vol1
Session sess_vol1 created with volume vol1
Glusterfind Pre

To retrieve the list of modified files and directories and store it in the outfile, execute the following command:

glusterfind pre [-h] [-N | --only-namespace-changes] [--debug] [--full] [--output-prefix OUTPUT_PREFIX] [--disable-partial] <SessionName> <volname> <outfile>
where,
OUTPUT_PREFIX: It is the prefix to the path/name that is specified in the outfile.
--only-namespace-changes OR -N: It lists only those files that are detected as New, Rename, Link, Unlink etc. It does not list files/directories which are modified.
--full: It triggers a full crawl of the filesystem
--disable-partial: It is used to disable the partial-find feature that is enabled by default.
--help OR -h: Displays help for the command
outfile: The incremental list of modified files.
SessionName: Unique name of a session.
volname: Name of the volume for which the pre command is executed.
For example:
# glusterfind pre sess_vol1 vol1 /tmp/outfile.txt
Generated output file /tmp/outfile.txt

Note

The output format is <TYPE> <PATH1> <PATH2>. Possible type values are, NEW, MODIFY, DELETE and RENAME. PATH2 is applicable only if type is RENAME. For example:
NEW file1
NEW dir1%2F%2Ffile2
MODIFY dir3%2Fdir4%2Ftest3
RENAME test1 dir1%2F%2Ftest1new
DELETE test2
Glusterfind Post:

The following command is run to update the session time:

glusterfind post [-h] [--debug] <SessionName> <volname>
where,
SessionName: Unique name of a session.
volname: Name of the volume for which the post command is executed.
For example:
# glusterfind post sess_vol1 vol1
Session sess_vol1 with volume vol1 updated
Glusterfind List:

To list all the active sessions and the corresponding volumes present in the cluster, execute the following command:

glusterfind list [-h] [--session SESSION] [--volume VOLUME] [--debug]
where,
--session SESSION: Displays the information related to that session
--volume VOLUME: Displays all the active sessions corresponding to that volume
--help OR -h: Displays help for the command
For example:
# glusterfind list
SESSION VOLUME SESSION TIME
--------------------------------------------------
sess_vol1 vol1 2015-06-22 22:22:53
Glusterfind Delete:

To clear out all the session information associated with that particular session, execute the following command:

Ensure, no further backups are expected to be taken in a particular session.
glusterfind delete [-h] [--debug] <SessionName> <volname>
where,
SessionName: Unique name of a session.
volname: Name of the volume for which the delete command is executed.
For example:
# glusterfind delete sess_vol1 vol1
Session sess_vol1 with volume vol1 deleted

22.1.1. Adding or Replacing a Brick from an Existing Glusterfind Session

When a new brick is added or an existing brick is replaced, execute the glusterfind create command with force for the existing session to work. For example:
# glusterfind create existing-session volname --force