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. In some cases, it might be valueable to not simply replace
the old slk commands by new commands but to rethink the process
itself. The HSM system by Versity might offer a much more efficient ways
to do what you want. If you wish to do this, please start with the Getting
Started.
Versity organizes tape requests very efficiently. Therefore, there is no need to group retrieval requests by tape as was required for StrongLink.
Versity packs small files automatically prior to writing them to tape. Therefore, there is no need to pack small files on your side. Exception: You plan to archive 10 000 files of 10 kB size or similar. Please still pack your data in these cases. If you are unsure what to do, please contact support@dkrz.de .
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:
/arch/ab1234/c567890/
slk:
# transfer file
slk archive /work/ab1234/c567890/file.txt /arch/ab1234/c567890/
acli:
# create destination folder
acli mkdir -p /arch/ab1234/c567890
# transfer file
acli cp /work/ab1234/c567890/file.txt /arch/ab1234/c567890/
# ALTERNATIVE transfer file => set destination filename
# e.g. renaming possible
acli cp /work/ab1234/c567890/file.txt /arch/ab1234/c567890/renamed_file.txt
Note: If /arch/ab1234 exists but /arch/ab1234/c567890 not, the
first command will create a file c567890 in /arch/ab1234
with the content of file.txt.
mount point:
not possible
Archive folder recursively#
case:
source:
/work/ab1234/c567890/outputdestination:
/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 /arch/ab1234/c567890/output
# transfer files
acli cp -R /work/ab1234/c567890/output/ /arch/ab1234/c567890/output/
mount point:
not possible
Retrieve file#
case:
source:
/arch/ab1234/c567890/file.txtdestination:
/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 /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 /arch/ab1234/c567890/file.txt
rsync -av /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 /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 |
||