How to use MDSS tape storage at NCI
Massdata (Mass Data Storage System, MDSS for short) is the tape storage available at NCI. This kind of storage is intended for long term archiving of large files. Each project has a directory on the MDSS, the amount of storage allocated depends on the project allocation and can be checked using the nci_account command.
MDSS proper usage
MDSS is designed for medium to long-term archive of large files, so it is suitable for
- Files you are required to keep, for example model outputs or configurations from published datasets, publications, PhD thesis etc.
- Files that you or someone else are likely to reuse or analyse again in the future but not in the next few months. For example restart files or other model output you are not immediately using should be moved from disk to mdss as soon as possible.
- MDSS is suitable to backup big data projects, like model output which could not be backed up elsewhere. It is not suitable for small amounts of data where using other backup options would be easier and more efficient. It is also not suitable for code files you might want to keep, for this you online services as Github or Bitbucket should be your preferred choice.
Guidelines for storage
- Big files: if your files are small in size (less than 20Mb) then use tools like tar to bundle them into a single archive file
- Files should be group readable, with group execute permissions for directories. This helps with long term maintenance, allowing administrators to track the type and size of archived data.
Massdata cannot be accessed directly via a directory path. All access of MDSS is via the command mdss.
Users connected to the project have rwx permissions in that directory and so may create their own files in those areas.
Mdss has several sub-commands and options to see all of them:
mdss --help or man mdss;
Usually you specify the project, if you don't it will use your default project, and then add a sub-command and the path of the files and directories you want to upload, list etc.
mdss -P <project-id>;+ <sub-command> + <path> Most useful sub-commands are:
- mdss put - to upload files
- mdss get - to retrieve files
- mdss ls - to list directories and files
- mdss dmdu - to get the size of a directory
NB "mdss du" will also work but only return the size of what is still cached, dmdu will give the full size of what is on tape regardless that is cached or not.
- mdss dmls - to see what is currently online in the cache, what is on tape
<syntaxhighlight> Please note mdss commands work only interactively or with ‘copyq’
Preparing your data for mdss
- Organise your files and delete anything which you will not be re-using. It is tempting to copy entire directories as they are thinking you will get back to them again later. There is currently no easy way to list what you are storing on massdata and so trying to tidy up after you uploaded your files would be slow and painful. Even more than with other storage options, it is really important to put there only suitable files and make sure that they have been compressed and tarred together if necessary.
- NCI guidelines suggest a minimum size of 20MB per file and an average size of 250MB.
While you are preparing your data to be moved it is an opportunity to also document, if you haven’t done so already, what you are archiving and how. Even a simple readme file added to your main directory can help others and your future self. If you are archiving data underlying a publication or published dataset then it is important a summary of what is stored in /massdata and how is part of the dataset management plan.
Monitoring mdss usage
In the past you could nci_account to monitor the allocation and how much of it was still available. Currently this is not possible anymore so particularly if you want to move a big amount of data to mdss you should first check with the lead CI of the project you wan tto use, to make sure enough storage is available. Unfortunately, there is also not a command to check quickly usage by user-id as for /g/data and /short. The only way to get this information currently is to ask email@example.com, administrators can access this information for any CI of the group.
Transferring data to and from MDSS
NCI supports different commands to work with MDSS as it is explained on their User Guide. The CMS team has also developed a utility called mdssdiff. This utility allows users to compare the contents of the local directory and a directory under /massdata. It will also recursively update the content on the massdata directory to copy the local directory or vice versa.
Modifications to MDSS datasets
Contact NCI at firstname.lastname@example.org if large metadata operations are needed on massdata, as changing ownership, project code, permissions etc. of existing datasets