Skip to content

Commit c111445

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

File tree

3 files changed

+114
-4
lines changed

3 files changed

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

0 commit comments

Comments
 (0)