Hello still battling robinhood upgrade from 2.5 to 3.1 here.. We would like
to remove all files older than 14days from /lustre4/Users while preserving
symbolic links and empty directories. Hope someone can shed some light as to
why no purging is appearing to happen.
Here is my robinhood configuration file
[root@robinhood robinhood.d]# cat lustre4.conf
%include "includes/tmpfs.inc"
General {
fs_path = "/lustre4";
fs_type = lustre;
}
Log {
log_file = "/var/log/robinhood/lustre4.log";
report_file = "/var/log/robinhood/lustre4_actions.log";
alert_file = "/var/log/robinhood/lustre4_alerts.log";
}
ListManager {
MySQL {
server = localhost;
db = robinhood_lustre4;
user = robinhood;
password_file = /etc/robinhood.d/.dbpassword;
engine = innodb;
}
}
EntryProcessor {
nb_threads = 32;
STAGE_GET_FID_threads_max = 24;
STAGE_GET_INFO_DB_threads_max = 24;
STAGE_GET_INFO_FS_threads_max = 24;
STAGE_PRE_APPLY_threads_max = 24;
max_pending_operations = 100000;
max_batch_size = 1;
}
FS_Scan {
scan_interval = 1d;
nb_threads_scan = 12;
scan_op_timeout = 10h;
exit_on_timeout = TRUE;
spooler_check_interval = 1min;
}
# Lustre 2.x only
ChangeLog {
MDT {
mdt_name = "MDT0000";
reader_id = "cl1";
}
}
################################################################
# File classes. Define the scope of entries to be scanned #
################################################################
fileclass _scratch_ {
definition { tree == "/lustre4/Users" }
}
fileclass _projects_ {
definition { tree == "/lustre4/Projects" }
}
fileclass _shifter_ {
definition { tree == "/lustre4/shifter" }
}
fileclass _totem_ {
definition { tree == "/lustre4/TOTEM" }
}
################################################################
# File classes. Define the file criteria to be acted upon #
################################################################
fileclass _emptydirs_ {
definition { type == directory and dircount == 0 }
}
fileclass _hugefiles_ {
definition { type == file and size > 1TB }
}
fileclass _bigfiles_ {
definition { type == file and size >500GB and size < 1TB }
}
###############################################################
# Policies. These are actions that we apply to File classes #
###############################################################
# ----------Policy for /lustre4/scratch
# 1. Purge files not accessed in 14 days
# 2. Ignore Symbolic links
# 3. Ignore Empty directories
cleanup_rules {
ignore { owner == "root" or type == "symlink" }
ignore_fileclass = _projects_;
ignore_fileclass = _shifter_;
ignore_fileclass = _totem_;
ignore_fileclass = _emptydirs_;
rule clean_f {
target_fileclass = _scratch_;
condition { last_access > 14d }
}
}
###############################################################
# Trigger cleanup policy every 4 hours #
###############################################################
cleanup_trigger {
trigger_on = periodic;
check_interval = 4h;
}
Robinhood is running as a service after the database has been populated using a
scan once command
root 9362 0.0 0.0 112660 972 pts/0 S+ 13:32 0:00 grep
--color=auto robinhood
mysql 18325 3.4 3.9 4251584 642156 ? Sl Apr16 43:03
/usr/libexec/mysqld --basedir=/usr --datadir=/robinhood/mysql
--plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log
--open-files-limit=2048 --pid-file=/var/run/mariadb/mariadb.pid
--socket=/var/lib/mysql/mysql.sock
root 22060 0.0 0.1 2881100 20832 ? Ssl 08:14 0:09
/usr/sbin/robinhood --readlog --run=all
rbh-report shows some old files under the target /lustre4/Users which I thought
should be purged but it does not appear that the purge feature is happening.
rbh-report --oldest-files
Using config file '/etc/robinhood.d/lustre4.conf'.
rank, path, user, group,
last_access, last_mod, size, spc_used, stripe_cnt,
stripe_size, pool, stripes
1, /lustre4/scratch/l0363734/scratch/FULLDIR/rm_me, root, root,
2004/02/29 18:21:42, 2004/02/29 18:21:42, 0, 0, 8,
4.00 MB, , ost#15: 1230062, ost#4: 1226465, ost#23: 1226251,
ost#28: 1228816, ost#14: 1230075, ost#5: 1226684, ost#16: 1231164, ost#25:
1234553
2, /lustre4/scratch/j0432886/mpi-tile-io/COPYRIGHT, j0432886, rtstaff,
2015/02/09 15:26:31, 2015/02/09 15:26:31, 1.64 KB, 4.00 KB, 8,
4.00 MB, , ost#29: 416908, ost#9: 407942, ost#0: 415080, ost#22:
413832, ost#30: 417196, ost#11: 416678, ost#3: 414088, ost#17: 413644
3, /lustre4/scratch/j0432886/mpi-tile-io/Makefile.linux, j0432886,
rtstaff, 2015/02/09 15:26:31, 2015/02/09 15:26:31, 181, 4.00 KB,
8, 4.00 MB, , ost#10: 416712, ost#1: 414859, ost#21:
418605, ost#26: 417278, ost#13: 416552, ost#7: 415400, ost#18: 414047, ost#29:
416909
[root@robinhood robinhood]# cat lustre4.log
2018/04/17 13:38:53 [9940/1] CheckFS | '/lustre4' matches mount point
'/lustre4', type=lustre, fs=172.40.2.60@o2ib4:172.40.2.61@o2ib4:/lustre4
2018/04/17 13:38:53 [9940/1] cleanup | Notice: no 'default' policy rule is
defined. Unmatched entries will be ignored.
2018/04/17 13:38:53 [9940/1] Main | Daemon started (running modules:
log_reader,policy_run(cleanup))
2018/04/17 13:38:53 [9940/2] cleanup | Checking policy rules for all
2018/04/17 13:38:53 [9940/2] cleanup | Building policy list - last full FS
Scan: 2018/04/16 16:51:22
2018/04/17 13:38:53 [9940/2] cleanup | Starting policy run
2018/04/17 13:38:56 [9940/2] cleanup | Policy run summary: time=01s;
target=all; 0 successful actions (0.00/sec); volume: 0 (0/sec); 0 entries
skipped; 0 errors.
[root@robinhood robinhood]#
cat /etc/sysconfig/robinhood
# directory of configuration files for this service
#RH_CONF_DIR=/etc/robinhood.d/
# current directory where the daemon is started
#RH_RUN_DIR=/
# path to robinhood command
#DAEMON=/usr/sbin/robinhood
# options for starting the daemon
# eg. --scan --purge (leave empty for default actions).
RBH_OPT="--readlog --run=all"
[root@robinhood robinhood]#
cat ../includes/tmpfs.inc
# used to be rbh 2.5 "purge" policy in TMPFS mode
define_policy cleanup {
scope { type != directory }
status_manager = none;
default_action = common.unlink;
default_lru_sort_attr = last_access;
}
Thanks for any insight. Would like to get this going since I had to reload our
old robinhood server and the FS is growing pretty crazy at the moment ;-)
Matt
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
robinhood-support mailing list
robinhood-support@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/robinhood-support