summaryrefslogtreecommitdiffstats
path: root/arequal/README
blob: 8c9d9528e8266e99297dde74ca7bb22eed2c199d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
arequal - Tool to test data security of GlusterFS
=======

0. Install arequal
------------------
  sh# ./autogen.sh
  sh# ./configure
  sh# make
  sh# make install

  Perform the above installation steps on both clients and servers


1. Generate data set
--------------------
  Create a data set to be used for the test. This data set should
have file sizes and file count similar to the data set to be used
in production. You could also use existing data (like /usr) as
your dataset as it will not be modified. This document will use
/usr as the example source directory.


2. Mount GlusterFS
------------------
  Install, configure and start glusterfs servers and client. If
the Replicate module is loaded, this tool can be used to perform
data consistency check among the replicas. This document will
use /mnt/glusterfs as the example mount point.


3. Start the test
-----------------
  sh# arequal-run.sh /usr/ /mnt/gluster/usr


4. Verify the output
--------------------
   The tool outputs two sets of checksums one after another on
the standard output. Verify that all the values match against
each other. This ensures that the data has been copied over
properly into the GlusterFS mountpoint.


5. Extensive Replicate testing
------------------------------
   The rest of the document is for testing the high availability
and healing features of Replicate.


6. High availability testing
----------------------------
   Restart step 3. While the script is in progress, kill one of the
servers. Let the script continue to completion. The script should
not fail because of one of the server getting killed. The checksums
should still match.


7. Consistency testing
----------------------
  After step 3, run the following command on both the servers

  sh# arequal-checksum /export/directory

  The output values should match


8. Recovery testing
-------------------
   If step 7 is performed after step 6, the output values will not
match since changes performed when one of the servers was down has
not propagated to the backend.

   Bring back the server up again. On the same mountpoint, run an
ls -lR to force an access to all the files on the files involved.

   Now calculate the checksums on both the backends as described
in step 7. The output values should match.