did anyone try (and succeeded) in mount an EOS volumn using other linux distros (Debian, Ubuntu)? EOS clearly targets (CERN) CentOS and is only provided via YUM repos and RPMs.
So I wonder if someone already managed to install the EOS client on .deb file based distros and if there is a clear path, or if I should not even try ;).
The background is that at CERN EOS takes over tasks that were previously provided by AFS, which is being phased out. Due to compability with newer software (and some UI issues), I canât use CC7 and are using Ubuntu. Being able to mount EOS volumes under Ubuntu would be very interesting for me.
However, the structure of the repo http://storage-ci.web.cern.ch/storage-ci/debian/eos/ doesnât look familiar to me and I did not manage the find the repo line I need to add to the apt repos so that it could read the information in it. It only contains the âcommitsâ and âtagsâ folders, but doesnât seem to contain and packages in these folders.
Do you know how I need to specify this repo? For the xrootd client, the line is:
Also, in order to avoid the following warning messages:
N: Skipping acquire of configured file 'release/binary-i386/Packages' as repository 'http://storage-ci.web.cern.ch/storage-ci/debian/xrootd artful InRelease' doesn't support architecture 'i386'
N: Skipping acquire of configured file 'tag/binary-i386/Packages' as repository 'http://storage-ci.web.cern.ch/storage-ci/debian/eos/citrine artful InRelease' doesn't support architecture 'i386'
one could add the [arch=amd64] option on the respective sources list lines, e.g.:
deb [arch=amd64] http://storage-ci.web.cern.ch/storage-ci/debian/xrootd/ artful release
deb [arch=amd64] http://storage-ci.web.cern.ch/storage-ci/debian/eos/citrine/ artful tag
I was also looking for a way to mount /eos/⌠on other distributions (Archlinux in my case), so was basically looking for the source and instructions to build the EOS client. I guess the sources can be found somewhere in https://github.com/cern-eos but there are lots of packages and I guess not all of them are needed.
Are there instructions somewhere how to build the EOS client and any dependencies?
Using :shared volume maps, host network stack, host pid space, and some additional capabilities, it runs fine sharing into the host namespace, as well as into other containers.
Of course, that container tag wonât work for you, but I believe weâve released the Dockerfile on github. @crystal, could you please share a link when you get a chance?
I have not run docker myself before, and to be honest am a bit sceptical whether it should be the canonical way of running a daemon permanently on a system? But maybe thatâs just an old-school attitude, and thatâs indeed a light-weight way of running this. Is it actually just the client that is run within this docker container, and I guess Iâll have to read up on what you mean by âthat container tag wonât work for meâ?
But maybe to be explicit: can I understand your message as that there wonât be any supported way to install an EOS client in my system directly? That would be a pity, as I was looking forward to moving away from afs (and its kernel modules) to a nice fuse-based client.
The container I list in that run command wonât work, because you canât authenticate to our internal registry.
The advantage of the eosd inside a container is that EOS is written to run on a CentOS/RHEL alike OS. You wonât have to maintain the numerous libraries the EOS requires, and the element inside the namespace is the supported environment. When things go wrong, a debug report makes much more sense.
We run scheduled batch jobs with isolated eosd mounts inside them too, so any given system may have 50 or more âsystem wideâ eosd mounts at a time, and if we ever have an issue with one, itâs isolated to only that batch job.
In fact, we even run EOS inside containers, with encrypted filesystems managed by a secrets manager in our orchestrator.
This setup of eosd running inside a container might be useful to us. Would it be possible to know how you created the docker image (i.e. a Dockerfile) ? Or is it nothing more than package install, config load and daemon run ?
Did you manage to set it up so that processes inside the other containers can be authenticated through kerberos authentication ?
itâs worth noting that we do use different config values in production (via environment variables) - but that repo should have all you need to build the containers and run up a sample test cluster.
youâll need to:
generate your own containers/content/eos.keytab file
./build && ./setup -a
to use fusex, youâll need to edit containers/content/config/eosxd/fuse.conf manually for now
we donât use fusex in production though, still trialling it out on our dev cluster
you can (and should) specify your own registry to push the images to, if you want to actually use them. by default the images build without a repository, and the docker-compose file uses those to build a test cluster locally.
@franck-jrc we donât use kerberos auth, but it would be interesting to see that done.
Hi and many thanks for your instructions, I managed to install eos-client on Ubuntu.
Just a question: once itâs installed, how do I actually mount EOS to /eos?
Yes, EOS can be successfully built on recent distros (such as cosmic and disco). Iâve actually built it today on disco. However, some small tweaks need to be done.
At the same time, we plan to provide deb packages for a newer distribution very soon. If youâre willing to wait a couple of days (hopefully end of this week), youâll be able to install the packages from our repository.
Nevertheless, if you want to build it from source:
Youâll need XRootd packages (will have to compile/build packages as well)
EOS has many dependencies. The best way to install them is by following our dependencies files in debian/control. For disco, change occurrences of libprotobuf10 to libprotobuf17.
The commands to run after you have done this change:
The gdebi command will fail if it canât find xrootd packages. In case you donât want to build XRootd packages in step 1 (but instead go for make install), the easiest way is to also remove the xrootd dependencies from the debian/control file
Required cmake options: -DCLIENT=1
E.g.:
cmake <eos-repo> -DCLIENT=1
make install
The eos client should be installed
This is a very short brief and many problems may appear throughout the process.
Ubuntu Disco packages are now available.
To install them, please add the following XRootd and EOS repositories to your sources list:
deb 'http://storage-ci.web.cern.ch/storage-ci/debian/xrootd/ disco master'
deb 'http://storage-ci.web.cern.ch/storage-ci/debian/eos/citrine disco commit'
curl -sL http://storage-ci.web.cern.ch/storage-ci/storageci.key | apt-key add -
apt-get update -y
For the moment, only the commit-based packages are available.
The releases/tags packages will become available later on.
Hi all,
First of all big thanks to Mihal for maintaining the ubuntu repo!
Now, I have a problem, with a funny behaviour: I can install eos on my ubuntu 19.04 (and I had exactly the same problem with 18.04), and I can happily access the cms files(like this [1]) but at the same time I cannot access the home directories.
My username is mersi and yet I cannot even access home-m:
ls /eos/home-m
ls: cannot open directory â/eos/home-mâ: No such file or directory
Which is also curious because home-m appears in the list of directories in /eos
Now, in theory I configured my system exactly as another machine I have with Scientific Linux CERN SLC release 6.10 (Carbon), which works.
Is there a trick I do not know to get it running on ubuntu, or maybe a way to debug whatâs going wrong?
From now on, commit releases should appear at http://storage-ci.web.cern.ch/storage-ci/debian/eos/citrine disco commit
while tag releases (starting from 4.4.48) under http://storage-ci.web.cern.ch/storage-ci/debian/eos/citrine disco tag
Iâm not sure I understand the example from [1] (to me, it displays a file name, not a command).
Are you trying to access via FUSE (eosd mount) or FUSEX (eosxd mount)?
In both cases, looking at the config file may provide more info.
However, I think for debugging, itâs best to message me in private or send an e-mail to eos-admins@cern.ch, explaining the steps youâve done so far and the problem you encounter.
Note: the fuse(x) logs can be found under /var/log/eos/