StrongLink-to-Versity#
16 Jun 2026
Overview#
This page is meant for users who wish to quickly update their archival/retrieval scripts so that they work with the new HSM software by Versity. Getting Started provides a broader introduction.
slk is replaced by acli which is the ATLAS command line interface. Running only acli starts an interactive shell whereas running acli <command> just executes the command without entering the interactive shell. The latter behaves similar to slk.
Important changes are:
all paths have the prefix /hsm: /hsm/arch, /hsm/double, …
Key features are:
automatic packing of small files (invisible to users); but, 60 000 files of 1 MB each should still be packed in advance
async background data transfer via ATLAS: no need for users to run long SLURM job for archivals or retrievals; but, please check transfer job afterwards
very efficient internal organization of the tape access: no need to sort retrieval requests by tape
Replacing slk commands#
If you need to replace slk commands other than archive and
retrieve, please have a look into the Getting
Started.
Login#
slk:
# using your default DKRZ user credentials
slk login
acli:
# using your default DKRZ user credentials
acli login
mount point:
no login required
Archive one file#
case:
source:
/work/ab1234/c567890/file.txtdestination, StrongLink:
/arch/ab1234/c567890/destination, Versity:
/hsm/arch/ab1234/c567890/
slk:
# transfer file
slk archive /work/ab1234/c567890/file.txt /arch/ab1234/c567890/
acli:
# create destination folder
acli mkdir -p /hsm/arch/ab1234/c567890
# transfer file
acli cp /work/ab1234/c567890/file.txt /hsm/arch/ab1234/c567890/
# ALTERNATIVE transfer file => set destination filename
# e.g. renaming possible
acli cp /work/ab1234/c567890/file.txt /hsm/arch/ab1234/c567890/renamed_file.txt
Note: If `` /hsm/arch/ab1234`` exists but `` /hsm/arch/ab1234/c567890`` not, the
first command will create a file c567890 in `` /hsm/arch/ab1234``
with the content of file.txt.
mount point:
not possible
Archive folder recursively#
case:
source:
/work/ab1234/c567890/outputdestination, StrongLink:
/arch/ab1234/c567890/outputdestination, Versity:
/hsm/arch/ab1234/c567890/output
slk:
# transfer files
slk archive -R /work/ab1234/c567890/output/ /arch/ab1234/c567890/output/
acli:
# create destination folder
acli mkdir -p /hsm/arch/ab1234/c567890/output
# transfer files
acli cp -R /work/ab1234/c567890/output/ /hsm/arch/ab1234/c567890/output/
mount point:
not possible
Retrieve file#
case:
source, StrongLink:
/arch/ab1234/c567890/file.txtsource, Versity: `` /hsm/arch/ab1234/c567890/file.txt``
destination:
/work/ab1234/c567890/
slk:
# transfer file
slk retrieve /arch/ab1234/c567890/file.txt /work/ab1234/c567890/
acli:
# create destination folder
mkdir -p /work/ab1234/c567890/
# transfer file
acli cp /hsm/arch/ab1234/c567890/file.txt /work/ab1234/c567890/
Note: If /work/ab1234 exists but /work/ab1234/c567890 not, the
first command will create a file c567890 in /work/ab1234
with the content of file.txt.
mount point:
# run staging command beforehand to be sure that file is actually in the cache
acli stage /hsm/arch/ab1234/c567890/file.txt
rsync -av /hsm/arch/ab1234/c567890/file.txt /work/ab1234/c567890/
# will exit with an error if file.txt is not cached
Note 1: The mount point is meant for easy access to individual files –
e.g. to check the header of a netCDF file or to peek into a dataset. It
is not meant for the transfer of large amounts of data. Please use
cp of ATLAS for this.
Note 2: We recommand to always run acli stage prior to accessing
files via the mount point. If a cache cleanup process starts before the
file was accessed, it might be removed from the cache causing the
transfer to fail. Running acli stage is similar to a touch
command with respect to the time stamp relevant for the cache cleanup.
Retrieve folder recursively#
case:
source:
/arch/ab1234/c567890/outputdestination:
/work/ab1234/c567890/output
slk:
# run slk_helpers watcher setup for recall + retrieval:
... watchers ...
# OR retrieve all files at once (not recommanded, when files are not cached)
slk retrieve -R /arch/ab1234/c567890/output/ /work/ab1234/c567890/output/
acli:
# create destination folder
mkdir -p /work/ab1234/c567890/output
# transfer files
acli cp -R /hsm/arch/ab1234/c567890/output/ /work/ab1234/c567890/output/
mount point:
Please use ATLAS for this purpose
Replacing pyslk#
Work in progress
Replacing fsspec + slkspec#
Work in progress
Details on acli#
Location of token#
slk:
~/.slk/config.jsonVersity:
~/.config/acli/session.json
Commands#
** StrongLink** |
Versity |
Meaning |
|---|---|---|
slk login |
acli login |
generate a login token |
slk archive |
acli cp / acli upload |
file transfer to HSM [1,2] |
slk retrieve |
acli cp / acli download |
file transfer from HSM [1,3] |
slk recall |
acli stage |
transfer file from tape to cache |
slk move |
acli mv |
move files within HSM |
slk rename |
acli mv |
rename files in HSM |
slk delete |
acli rm |
delete file |
slk mkdir [-R] |
acli mkdir [-p] |
create directory |
slk chmod |
acli chmod |
change permissions |
slk search |
acli search |
run search for files |
[1] acli cp transfers data in the background between tape archive
and Lustre filesystem
[2] acli upload transfer data from current system/node directly to
the tape archive
[3] acli download transfer data from tape archive directly to the
current system/node
Glossary#
online: a file is cached
offline: a file is not cached
StrongLink |
Versity |
Meaning |
|---|---|---|
recall |
staging |
transfer files from tape to cache |
release |
allow removal of file from cache |
|
if it is already on tape |
||