Red Hat Training

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

19.3. Restore a bad file

When bad files are revealed by the scrubber, you can perform the following process to heal the file by recovering a copy from a replicate volume.


The following procedure is easier if GFID-to-path translation is enabled.
Mount all volumes using the -oaux-gfid-mount mount option, and enable GFID-to-path translation on each volume by running the following command.
# gluster volume set VOLNAME build-pgfid on
Files created before this option was enabled must be looked up with the find command.

Procedure 19.1. Restoring a bad file from a replicate volume

  1. Note the identifiers of bad files

    Check the output of the scrub status command to determine the identifiers of corrupted files.
    # gluster volume bitrot VOLNAME scrub status
    Volume name: VOLNAME
    Node name: NODENAME
    Error count: 3
    Corrupted objects:
  2. Determine the path of each corrupted object

    For files created after GFID-to-path translation was enabled, use the getfattr command to determine the path of the corrupted files.
    # getfattr -n glusterfs.ancestry.path -e text
    For files created before GFID-to-path translation was enabled, use the find command to determine the path of the corrupted file and the index file that match the identifying GFID.
    # find /rhgs/brick*/.glusterfs -name GFID
    # find /rhgs -samefile /rhgs/brick1/.glusterfs/path/to/GFID
  3. Delete the corrupted files

    Delete the corrupted files from the path output by the getfattr or find command.
  4. Delete the GFID file

    Delete the GFID file from the /rhgs/brickN/.glusterfs directory.
  5. Heal the file

    If you have client self-heal enabled, the file is healed the next time that you access it.
    If you do not have client self-heal enabled, you must manually heal the volume with the following command.
    # gluster volume heal VOLNAME
    The next time that the bitrot scrubber runs, this GFID is no longer listed (unless it has become corrupted again).