Data Migration Facility (DMF) is the driving force behind the TPAC HPC facility. DMF creates a tiered storage system spanning across disk and high capacity tape.
The /u and most /ds/*folder* file systems on Katabatic are DMF managed so there is a limited amount of disk for both file systems with a tape based back end.
There are certain rules and policies in place that DMF uses to manage the data. Basically DMF will try to keep copies of all files over 64kb is size on tape (under 64kb is to small for DMF to worry about putting on tape),
and file over a certain age that haven't been accessed will be pushed off to tape only.
Also when the disk gets over 90% full, files are automatically pushed off to tape to bring the disk back down under the 90% threshold.
There are multiple commands you can use to check on the status of your files and manage what DMF can do with them, like put files to tape when your finished with them or recover back from tape when you need them.
The "dmls: command is an extended version of the "ls" command. "dmls -l" will give you a directory listing like this:
total 84K
-rwxr-xr-x 1 bjoseph users 389 2008-04-08 17:02 (REG) check_TEMPLATE.sh
-rw-r--r-- 1 bjoseph users 69K 2008-04-09 13:49 (DUL) md5.md5
-rw-r--r-- 1 bjoseph users 0 2008-04-09 13:46 (REG) md5.md5.errors
-rwxr-xr-x 1 bjoseph users 423 2008-04-09 13:45 (REG) md5_bran2_salt.sh
-rw------- 1 bjoseph users 0 2008-04-09 13:46 (REG) md5_bran2_salt.sh.e44829
-rw------- 1 bjoseph users 4.4M 2008-04-09 13:49 (OFL) md5_bran2_salt.sh.o44829
-rwxr-xr-x 1 bjoseph users 389 2008-04-08 17:03 (REG) test.sh
Notice the new column with the 3 character codes before the file names, these are the DMF state codes for the files.
Value Description
REG File not managed by DMF
MIG Migrating file to tape
DUL Dual-state file (On taoe and disk)
OFL Offline file (On tape only)
UNM Unmigrating file (recovering from tape)
NMG Nonmigratable file
PAR Partial-state file (file partially on disk and rest on tape)
INV DMF cannot determine the file's state
From here, files and their states can be changed.
The command "dmput" can be used to migrate files to disk:
"dmput filename" - migrate a file to tape and leave in a dual state
"dmput -r filename" - migrate a file to tape and make it offline, freeing up the underlying disk.
"dmput" can have input piped into it from other commands.
Along with "dmput" we have "dmget" which is basically the opposite of "dmput". "dmget" will retrieve files from tape and restore them to a dual state. This needs to be done when a "dmput -r" has been ran on a file making it offline.
"dmget filename" - recover an offline file from tape to a dual state on disk.
Another useful command is "dmfind". You can use "dmfind" like the "find" command to recursively go though a file system and find DMF related attributes.
"dmfind . -state OFL" will go through the current folder and sub folders and find all offline files. Other state prefixes were mentioned before.
"dmfind" can be piped into "dmput" and "dmget" commands.
Examples:
"dmfind . -state REG -o -state DUL |dmput -r" - This will offline all files in the current folder and all sub folders.
"dmfind . -state OFL |dmget" - This will recover all offline files from tape in the current folder and sub folders back to a dual state.
If you want to use the commands in a more advanced way, they all have their own online manuals like all unix/linux commands:
man dmls
man dmput
man dmget
man dmfind
If you have any further questions/queries please do not hesitate to contact the TPAC helpdesk at helpdesk@tpac.org.au