Skip to content

Commit 77fc48c

Browse files
committed
DOC: Add documentation about using EOS FUSE with autofs on Ubuntu/Debian.
Fixes EOSOPS-909
1 parent 755a2c8 commit 77fc48c

File tree

3 files changed

+107
-4
lines changed

3 files changed

+107
-4
lines changed

doc/diopside/manual/getting-started.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ In a production environment we need to have QDB and MGM service high-available.
482482
@node1: 127.0.0.1:7777> raft-add-observer node2.domain:7777
483483
@node1: 127.0.0.1:7777> raft-add-observer node3.domain:7777
484484
485-
( this is equivalent to 'eos daemon config qdb qdb add node2.domain:7777' but broken in the release version )
485+
# ( this is equivalent to 'eos daemon config qdb qdb add node2.domain:7777' but broken in the release version )
486486
487487
# node2 & node3 get contacted by node1 and start syncing the raft log
488488
@@ -491,13 +491,13 @@ In a production environment we need to have QDB and MGM service high-available.
491491
@node1: 127.0.0.1:7777> raft-promote-observer node2.domain:7777
492492
@node1: 127.0.0.1:7777> raft-promote-observer node3.domain:7777
493493
494-
( this is equivalent to 'eos daemon config qdb qdb promote node2.domain:7777 )
494+
# ( this is equivalent to 'eos daemon config qdb qdb promote node2.domain:7777 )
495495
496496
# Verify RAFT status on any QDB node
497497
redis-cli -p 777
498498
127.0.0.1:7777> raft-info
499499
500-
( this is equivalent to 'eos daemon config qdb qdb info' )
500+
# ( this is equivalent to 'eos daemon config qdb qdb info' )
501501
502502
# Startup MGM services
503503
@node2: systemctl start eos5-mgm@mgm

doc/diopside/manual/interfaces.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1101,6 +1101,7 @@ Examples to define these are shown here:
11011101
11021102
11031103
.. index::
1104+
11041105
pair: Interfaces; Space Attributes
11051106

11061107

doc/diopside/manual/using.rst

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1582,8 +1582,110 @@ Example:
15821582
This examples shows the how replicas are attached on filesystems
15831583
1,2,3,4, then unlinked on 1,2 and finally deleted on 1,2.
15841584
1585+
15851586
.. index::
1586-
pair: FUSE;SquahsFS Support
1587+
pair: Using; EOS FUSE Ubuntu
1588+
1589+
1590+
EOS FUSE mount on Ubuntu/Debian
1591+
--------------------------------
1592+
1593+
The following releases of Ubuntu are currently supported:
1594+
1595+
.. epigraph::
1596+
1597+
===============================================================
1598+
Operating system
1599+
===============================================================
1600+
Ubuntu 22.04.5 LTS (Jammy Jellyfish)
1601+
Ubuntu 24.04.3 LTS (Noble Numbat)
1602+
Ubuntu 25.04 (Plucky Puffin) - starting with eos version 5.4.0
1603+
===============================================================
1604+
1605+
1606+
Follow these steps to configure the necessary APT repositories and install
1607+
the EOS client and FUSE packages:
1608+
1609+
.. code-blocK:: bash
1610+
1611+
Setup the APT repositories holding the EOS packaage:
1612+
# Import the EOS GPG key of the repository
1613+
curl -sL http://storage-ci.web.cern.ch/storage-ci/storageci.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/storage-ci.gpg
1614+
# Create the APT repository configuration
1615+
echo "deb [arch=$(dpkg --print-architecture)] http://storage-ci.web.cern.ch/storage-ci/debian/eos/ $(lsb_release -cs) release" | sudo tee /etc/apt/sources.list.d/eos-client.list > /dev/null
1616+
1617+
1618+
Install the EOS packages and their dependency - requires root privileges and
1619+
create the local directory for the local mounts:
1620+
1621+
.. code-block:: bash
1622+
1623+
sudo apt update
1624+
sudo apt install -y eos-fusex
1625+
# All mounts will be in this directory by default, but this can be chaged
1626+
# by using the "localmountdir" in the configuration below.
1627+
sudo mkdir /eos/
1628+
1629+
1630+
Create the configuration files for the EOS FUSE mountpoints. Depending on the EOS
1631+
instances that need to be accessed, one can create one configuration file per
1632+
instance, using the following convention:
1633+
1634+
* Configuration for accessing data stored on CERNBox can be placed in
1635+
"/etc/eos/fuse.home-<initial>.conf" where <initial> should be replaced by a
1636+
sigle letter eg. 'e', 'a', etc. The contents of this file should at least
1637+
contain the following (note: this needs to be a valid JSON object):
1638+
1639+
.. code-block:: bash
1640+
1641+
{"name": "home-<initial>", "hostport":"eoshome-<initial>.cern.ch", "remotemountdir":"/eos/user/<initial>/"}
1642+
1643+
1644+
Example:
1645+
* Mount configuration for user account "userx" whose data is stored in CERNBox
1646+
{"name": "home-u", "hostport": "eoshome-u.cern.ch", "remotemountdir": "/eos/user/u/userx/"}
1647+
1648+
* Mount configuration for project "asdf" whose data is stored in the EOSPROJECT instance
1649+
{"name": "project-a", "hostport": "eosproject-a.cern.ch", "remotemountdir": "/eos/project/a/asdf/"}
1650+
1651+
* Mount configuration for accessing the EOSCMS instance
1652+
{"name": "cms", "hostport":"eoscms.cern.ch", "remotemountdir":"/eos/cms/"}
1653+
1654+
With the above configuration in place, one can setup automount to take care of managing the mountpoints.
1655+
1656+
.. code-block:: bash
1657+
1658+
# Ensure the **autofs** package is installed:
1659+
sudo apt install -y autofs
1660+
1661+
# Check that the autofs service is up and running
1662+
sudo systemctl status autofs
1663+
1664+
# Create a file called "/etc/auto.eos" which containts the mountpoints to be managed by autofs.
1665+
# Example contents of /etc/auto.eos
1666+
home-a -fstype=eosx,fsname=home-a :eosxd
1667+
# ... same for each user letter
1668+
home-z -fstype=eosx,fsname=home-z :eosxd
1669+
project-a -fstype=eosx,fsname=project-a :eosxd
1670+
# ... some for each project letter
1671+
project-z -fstype=eosx,fsname=project-z :eosxd
1672+
cms -fstype=eosx,fsname=cms :eosxd
1673+
1674+
#Create a file called "/etc/auto.master.d/eos.autofs" like this:
1675+
echo "/eos /etc/auto.eos" > /etc/auto.master.d/eos.autofs"
1676+
1677+
1678+
At this point the mountpoints are managed automatically by the autofs daemon.
1679+
Therefore, trying to access the local path "/eos/home-u/" given the above
1680+
configuration for user "userx" would display their CERNBox contents.
1681+
All mounts will be created inside the "/eos/" directory on the local file
1682+
system and can be accessed by concatenating the first column in the
1683+
"/etc/auto.eos" with the "/eos/" path.
1684+
1685+
For further configuration options when it comes to handling EOS FUSE mountpoints
1686+
please consult the following document:
1687+
https://gitlab.cern.ch/dss/eos/-/blob/master/fusex/README.md
1688+
15871689
15881690
SquashFS images for software distribution
15891691
-----------------------------------------

0 commit comments

Comments
 (0)