[Gluster-devel] Minimal Design Doc for Name Space Cache

Franco Broi franco at fugro-fsi.com.au
Mon Feb 19 02:02:34 UTC 2007


On Sat, 2007-02-17 at 07:54 -0800, Anand Babu Periasamy wrote:
> ,----[ Franco Broi writes: ]
> | What would be really nice is if this could somehow be implemented in
> | a distributed fashion where each server has a copy of the
> | metadata. I know this is quite challenging as each copy needs to be
> | kept up to date but it would allow Glusterfs to retain its no single
> | point of failure.
> | 
> | We currently have about 150TB of data in a single name space FUSE
> | system and the metadata consumes just over 1GB of disk space, this
> | represents about 3 million files. So having a copy on each server
> | wouldn't be a huge overhead.
> `----
> Franco,
> Now we are going to do distributedly. Thanks for your valuable
> feedback. 
> 
> Can you tell us the output of 
>  $ find / | wc

2495640 2496837 100935127

> 
> Other than dir/file names, do you also store any other information in
> your system?
> 

No but it does implement an extended attribute to return to actual
location of a file, eg:

[franco at charlie10]$ getfattr -n realpath /m1/449/va3/OM052D-02_4.stak
getfattr: Removing leading '/' from absolute path names
# file: m1/449/va3/OM052D-02_4.stak
realpath="/data50/m1/449/va3/OM052D-02_4.stak"

Here's a configuration dump using the "status" special file, note that
it allows for setting minimum disk space based on file extension and
also file redirection.

[franco at charlie10]$ cat /m1/status
Squirrel Version 2.5
Topdir /m1
1) echo10-myri:/data32
2) echo5-myri:/data22
3) echo6-myri:/data14
4) echo20-myri:/data50
5) echo10-myri:/data31
6) echo5-myri:/data24
7) echo2-myri:/data17
8) echo11-myri:/data30
9) echo6-myri:/data18
10) echo5-myri:/data25
11) echo2-myri:/data19
12) echo9-myri:/data27
13) echo11-myri:/data29
14) echo14-myri:/data37
15) echo12-myri:/data34
16) echo20-myri:/data51
17) echo13-myri:/data35
18) echo5-myri:/data23
19) echo9-myri:/data26
20) echo7-myri:/data28
21) echo12-myri:/data33
22) echo13-myri:/data36
23) echo14-myri:/data38
24) echo15-myri:/data39
25) echo16-myri:/data41
26) echo15-myri:/data40
27) echo16-myri:/data42
28) echo20-myri:/data52
29) echo17-myri:/data45
30) echo9-myri:/data43
31) echo18-myri:/data47
32) echo17-myri:/data44
33) echo19-myri:/data48
34) echo18-myri:/data46
35) echo19-myri:/data49
36) echo20-myri:/data53
MIN_FREE_BLOCKS 2048000
1) .mgiva_db -> /share/mgivadb/m1
2) .mgiva-journal -> /share/mgivadb/m1
3) .gath : 1048576 (32k blocks)
4) .shot : 1048576 (32k blocks)
5) .segy : 1048576 (32k blocks)
6) .mfcopy : 1048576 (32k blocks)
7) .ffcopy : 1048576 (32k blocks)

I'm quite happy to send you the code if you're interested.

Cheers,
Franco






More information about the Gluster-devel mailing list