Hi,

Please follow below steps to restore:


  1. Determine the path of each corrupted object from gfid shown from bitrot 
status command

        # find /bricks/*/.glusterfs -name GFID
        /bricks/brick1/.glusterfs/path/to/GFID

        # find /bricks -samefile /bricks/brick1/.glusterfs/path/to/GFID
        /bricks/brick1/.glusterfs/path/to/GFID
        /bricks/brick1/path/to/corrupted_file

  2. Delete the corrupted files including .glusterfs GFID link file
        Delete the corrupted files from the path output by the find command.

  3. 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). 

Thanks and Regards,
Kotresh H R

----- Original Message -----
> From: "Ashish Pandey" <[email protected]>
> To: "itlinux_team" <[email protected]>
> Cc: [email protected], "Kotresh Hiremath Ravishankar" 
> <[email protected]>
> Sent: Thursday, July 21, 2016 10:57:51 AM
> Subject: Re: [Gluster-users] bitrot error correction in gluster 3.8 
> distributed       dispersed setup
> 
> 
> Hi,
> 
> "gluster v heal " command does not heal corrupt files detected by bitrot
> feature.
> You have modified a file from back end and corrupted it.
> 
> I think to correct your corrupted files (in fact the part of file in case of
> disperse volume) you have to delete that part and run gluster v heal
> <volname> full
> to correct the file.
> 
> Keeping Kotresh in cc for better input of bitrot.
> 
> Ashish
> 
> 
> ----- Original Message -----
> 
> From: "itlinux_team" <[email protected]>
> To: [email protected]
> Sent: Wednesday, July 20, 2016 7:43:56 PM
> Subject: [Gluster-users] bitrot error correction in gluster 3.8 distributed
> dispersed setup
> 
> Hi all,
> 
> I'm testing the bitrot feature on a distributed dispersed setup: 3 x (8
> + 4).
> I simulated a bit-flip on the part of a couple of files in a brick,
> having bitrot feature enabled before. The output from ''gluster volume
> bitrot vol_1 scrub status'' shows that two files are corrupted as shown
> below:
> 
> 
> ---
> Volume name : vol_1
> 
> State of scrub: Active
> 
> Scrub impact: normal
> 
> Scrub frequency: daily
> 
> Bitrot error log location: /var/log/glusterfs/bitd.log
> 
> Scrubber error log location: /var/log/glusterfs/scrub.log
> 
> 
> =========================================================
> 
> Node: localhost
> 
> Number of Scrubbed files: 564
> 
> Number of Skipped files: 0
> 
> Last completed scrub time: 2016-07-20 13:37:16
> 
> Duration of last scrub (D:M:H:M:S): 0:0:0:50
> 
> Error count: 0
> 
> 
> =========================================================
> 
> Node: glusterserver1
> 
> Number of Scrubbed files: 562
> 
> Number of Skipped files: 0
> 
> Last completed scrub time: 2016-07-20 13:37:16
> 
> Duration of last scrub (D:M:H:M:S): 0:0:0:51
> 
> Error count: 2
> 
> Corrupted object's [GFID]:
> 
> e3cbffbe-12bd-4e1c-8dcf-2ef87ac99990
> 
> 2550475e-cf9e-4781-9a05-9e11c1dd6b7a
> 
> 
> =========================================================
> 
> Node: glusterserver3
> 
> Number of Scrubbed files: 564
> 
> Number of Skipped files: 0
> 
> Last completed scrub time: 2016-07-20 13:37:16
> 
> Duration of last scrub (D:M:H:M:S): 0:0:0:50
> ---
> 
> 
> I have executed ''gluster volume heal vol_1 full'' but it does not seem
> to fix the files, however the file that the client reads is the correct
> one.
> 
> How should I handle this kind of corruption within gluster?
> 
> Thanks!
> IƱaki.
> 
> _______________________________________________
> Gluster-users mailing list
> [email protected]
> http://www.gluster.org/mailman/listinfo/gluster-users
> 
> 
_______________________________________________
Gluster-users mailing list
[email protected]
http://www.gluster.org/mailman/listinfo/gluster-users

Reply via email to