Many thanks for the hints about aufs string constants!  We should indeed 
use them.

> In cvmfs/aufs2-standalone.git, I can see some commits added.
>
> 0560b14 2012-11-09 only include extra aufs header in kernel-headers package
> 093b886 2012-11-08 patch fix
> 842b1c1 2012-11-08 added rhel6.3 kernel config patch
> 73bf994 2012-11-08 rhel6.3 kbuild patch adjustment for fs/Makefile
> 1980173 2012-11-08 patches for rhel6.3 kernel (signature of vfs_stat changed)
>
> Mainly they are for rhel build.
> The last one (1980173) is touchig the aufs source file just to follow
> the change made in linux-2.6.36. This is equivalent to the commit in
> aufs2-2.6.git (and aufs2-standalone.git too in different commit).
>
> 3cafe1c 2010-08-20 aufs: for 2.6.36, the parameter of vfs_statfs()
I think I tried to use aufs-2.1-36 directly but it failed for some other 
reason (I might remember seeing "workqueue" errors when compiling).  Hm, 
do you think there is a way to stay more closely to the upstream repository?

> Just out of curious, what people are using CVMFS?
> And, in the future when you upgrade your kernel version, will you switch
> to another unioning filesystem (unionfs, overlayfs, UnionMount...)?
At the moment, cvmfs is used by high energy physics collaborations, in 
particular the major experiment collaborations at the CERN LHC.  The 
Fuse module runs on virtual machines and physical worker nodes that are 
part of a distributed computing infrastructure, mostly the LHC computing 
grid (http://wlcg.web.cern.ch), but also, e.g., LHC@Home 2.0 volunteers 
(http://lhcathome.web.cern.ch/LHCathome/Physics).  There, it replaces 
package managers and NFS shared software areas as means to distribute 
the data processing software.

While there are many cvmfs clients, there is only a single point of 
adding / modifying the cvmfs file system tree.  This is a special 
"writer's machine" where we use aufs to provide a writable interface on 
top of the read-only Fuse module.  A cvmfs mount point is the read-only 
branch and a local scratch area is the read-write overlay.  This way, we 
can make modifications to the the file system tree and use the scratch 
area to feed the changes back into the cvmfs internal format.

The way it works is that a new software version is installed on the 
writer's machine and once all changes are made, the writable branch is 
traversed by a cvmfs utility that commits new and modified files into 
the cvmfs "repository".  Such a repository contains the 
content-addressable chunks as well as SQlite file catalogs to storing 
the directory tree.  Some more details are here: 
http://cernvm.cern.ch/portal/filesystem/techinformation and here: 
http://cernvm.cern.ch/portal/filesystem/publications.

So far, we have been very happy with aufs.  We have looked into other 
options a while ago.  The funionfs fuse module was too slow and it 
failed with some use cases involving hard links.  Out of the kernel 
level union file systems, aufs seemed to be the only one still 
maintained, as far as I remember.  I'm a bit confused about union 
mounts.  Although apparently favored by the kernel community, it looks 
to me that they are not (yet?) there.

Cheers,
Jakob

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov

Reply via email to