##gluster volume heal statistics ##Description In case of index self-heal, self-heal daemon reads the entries from the local bricks, from /brick-path/.glusterfs/indices/xattrop/ directory. So based on the entries read by self heal daemon, it will attempt self-heal. Executing this command will list the crawl statistics of self heal done for each brick. For each brick, it will list: 1. Starting time of crawl done for that brick. 2. Ending time of crawl done for that brick. 3. No of entries for which self-heal is successfully attempted. 4. No of split-brain entries found while self-healing. 5. No of entries for which heal failed. Example: a) Create a gluster volume with replica count 2. b) Create 10 files. c) kill brick_1 of this replica. d) Overwrite all 10 files. e) Kill the other brick (brick_2), and bring back (brick_1) up. f) Overwrite all 10 files. Now we have 10 files, which are in split brain. Self heal daemon will crawl for both the bricks, and will count 10 files from each brick. It will report 10 files under split-brain with respect to given brick. Gathering crawl statistics on volume volume1 has been successful ------------------------------------------------ Crawl statistics for brick no 0 Hostname of brick 192.168.122.1 Starting time of crawl: Tue May 20 19:13:11 2014 Ending time of crawl: Tue May 20 19:13:12 2014 Type of crawl: INDEX No. of entries healed: 0 No. of entries in split-brain: 10 No. of heal failed entries: 0 ------------------------------------------------ Crawl statistics for brick no 1 Hostname of brick 192.168.122.1 Starting time of crawl: Tue May 20 19:13:12 2014 Ending time of crawl: Tue May 20 19:13:12 2014 Type of crawl: INDEX No. of entries healed: 0 No. of entries in split-brain: 10 No. of heal failed entries: 0 ------------------------------------------------ As the output shows, self-heal daemon detects 10 files in split-brain with resept to given brick. ##gluster volume heal statistics heal-count It lists the number of entries present in //.glusterfs/indices/xattrop from each-brick. 1. Create a replicate volume. 2. Kill one brick of a replicate volume1. 3. Create 10 files. 4. Execute above command. -------------------------------------------------------------------------------- Gathering count of entries to be healed on volume volume1 has been successful Brick 192.168.122.1:/brick_1 Number of entries: 10 Brick 192.168.122.1:/brick_2 No gathered input for this brick ------------------------------------------------------------------------------- ##gluster volume heal statistics heal-count replica \ ip_addr:/brick_location To list the number of entries to be healed from a particular replicate subvolume, listing any one child of that replicate subvolume in the command, will list the entries for all the childrens of that replicate subvolume. Example: dht / \ / \ replica-1 replica-2 / \ / \ child-1 child-2 child-3 child-4 /brick1 /brick2 /brick3 /brick4 gluster volume heal statistics heal-count ip:/brick1 will list count only for child-1 and child-2. gluster volume heal statistics heal-count ip:/brick3 will list count only for child-3 and child-4. 1. Create a volume same as mentioned in the above graph. 2. Kill Brick-2. 3. Create some files. 4. If we are interested in knowing the number of files to be healed from each brick of replica-1 only, mention any one child of that replica. gluster volume heal volume1 statistics heal-count replica 192.168.122.1:/brick2 output: ------- Gathering count of entries to be healed per replica on volume volume1 has \ been successful Brick 192.168.122.1:/brick_1 Number of entries: 10 <--10 files Brick 192.168.122.1:/brick_2 No gathered input for this brick <-Brick is down Brick 192.168.122.1:/brick_3 No gathered input for this brick <--No result, as we are not interested. Brick 192.168.122.1:/brick_4 <--No result, as we are not No gathered input for this brick interested.