Moving the data repository
It may be necessary to move either the whole OMERO data directory or only the Managed Repository to a new location on the file system. This should be done with care following the steps below.
Warning
Before moving OMERO data it is wise to ensure that both the data and the database are fully backed up. See OMERO.server backup and restore.
The current location of the data repositories can be found using the fs repos command:
$ omero fs repos
# | Id | UUID | Type | Path
---+----+--------------------------------------+---------+-----------------------------------------
0 | 1 | 309ea513-a23c-48d1-abd2-9ceed1b3ffa4 | Managed | /Users/omero/var/omero/ManagedRepository
1 | 2 | ScriptRepo | Script | /Users/omero/dist/lib/scripts
2 | 3 | 3ec8c878-c776-48a3-b57e-2a11b0c97045 | Public | /Users/omero/var/omero
(3 rows)
Note
This command can be slow, omero config get can also be used to
determine if omero.data.dir
or omero.managed.dir
have non-default values.
Moving the OMERO data directory
If the Managed Repository is within the OMERO data directory and the whole data directory is to be moved then the following steps should be used:
omero admin stop
omero config set omero.data.dir NEW
mv OLD NEW
omero admin start
Warning
The use of omero config set is absolutely necessary here. The steps:
omero admin stop, mv
, omero admin start without
omero config set could lead to an unstable situation.
For example, moving the OMERO data directory from /Users/omero/var/omero
to /Volumes/omero
:
$ omero admin stop
...
$ omero config set omero.data.dir /Volumes/omero
$ mv /Users/omero/var/omero /Volumes/omero
$ omero admin start
...
$ omero fs repos
# | Id | UUID | Type | Path
---+----+--------------------------------------+---------+---------------------------------
0 | 1 | 309ea513-a23c-48d1-abd2-9ceed1b3ffa4 | Managed | /Volumes/omero/ManagedRepository
1 | 2 | ScriptRepo | Script | /Users/omero/dist/lib/scripts
2 | 3 | 3ec8c878-c776-48a3-b57e-2a11b0c97045 | Public | /Volumes/omero
(3 rows)
Moving the Managed Repository
If the Managed Repository is in a separate location from the OMERO data directory or only the Managed Repository is to be moved then the following steps should be used:
omero admin stop
omero config set omero.managed.dir NEW
mv OLD NEW
omero admin start
Warning
The use of omero config set is absolutely necessary here. The steps:
omero admin stop, mv
, omero admin start without
omero config set could lead to an unstable situation.
For example, moving the Managed Repository from /Users/omero/var/omero/ManagedRepository
to /Volumes/imports/ManagedRepository
:
$ omero admin stop
...
$ omero config set omero.managed.dir /Volumes/imports/ManagedRepository
$ mv /Users/omero/var/omero/ManagedRepository /Volumes/imports/ManagedRepository
$ omero admin start
...
$ omero fs repos
# | Id | UUID | Type | Path
---+----+--------------------------------------+---------+-----------------------------------
0 | 1 | 309ea513-a23c-48d1-abd2-9ceed1b3ffa4 | Managed | /Volumes/imports/ManagedRepository
1 | 2 | ScriptRepo | Script | /Users/omero/dist/lib/scripts
2 | 3 | 3ec8c878-c776-48a3-b57e-2a11b0c97045 | Public | /Users/omero/var/omero
(3 rows)
Note
If omero.managed.dir
is not set then the location of the
Managed Repository will be determined by omero.data.dir
and
the OMERO directory should only be moved as a whole.
If the Managed Repository needs to be moved to a location other than that
set by omero.data.dir
, to a location outside of the OMERO data
directory, for example, then omero.managed.dir
must be set.
If omero.managed.dir
is set then the Managed Repository and
the OMERO data directory should be treated independently and thus be moved
separately if necessary.
Extending the Managed Repository
It is possible to leave the Managed Repository in place yet have newly
imported image files stored on a different underlying storage volume.
For example, if your omero.managed.dir
is set to
/mnt/omero/ManagedRepository
then, as that volume fills, it
would become better for new imports to be stored elsewhere. An OMERO
administrator may use the omero fs mkdir subcommand to properly
set up a subdirectory for that new volume in the existing Managed
Repository:
omero fs mkdir volume-B
This is the correct way to create
/mnt/omero/ManagedRepository/volume-B
ready for new imports.
The new storage volume may then be mounted at that mount point.
Alternatively, if the volume is already mounted elsewhere, such as
/mnt/omero/large-volume-B/
, then while the OMERO server is shut
down you may create a corresponding symbolic link at
/mnt/omero/ManagedRepository/volume-B
:
rmdir /mnt/omero/ManagedRepository/volume-B
ln -s /mnt/omero/large-volume-B /mnt/omero/ManagedRepository/volume-B
In either case the omero.fs.repo.path
must be updated in the server
configuration. An example of adjusting its usual default value is:
omero config set omero.fs.repo.path 'volume-B/%user%_%userId%//%year%-%month%/%day%/%time%'
After the OMERO server is started then new imports should upload onto the new storage volume. At a later date further storage volumes may be added by using this same workflow.