Hi Michael,
This is what I have in my Robinhood configuration file and it is working
well for us. Please look into it to see whether it helps.
[root@---- ~]# cat /etc/robinhood.d/tmpfs/scratch.conf
General
{
fs_path = "/scratch";
fs_type = lustre;
check_mounted = true;
}
Log
{
log_file = "/var/log/robinhood/scratch_fs.log";
report_file = "/var/log/robinhood/reports.log";
alert_file = "/var/log/robinhood/alerts.log";
debug_level = MAJOR;
}
ListManager
{
MySQL
{
server = localhost;
db = robinhood_scratch;
user = robinhood;
password_file = /etc/robinhood.d/.dbpassword;
}
}
# Entry Processor configuration
EntryProcessor
{
# nbr of worker threads for processing pipeline tasks
nb_threads = 8 ;
# Max number of operations in the Entry Processor pipeline.
# If the number of pending operations exceeds this limit,
# info collectors are suspended until this count decreases
max_pending_operations = 1000 ;
}
# FS Scan configuration
FS_Scan
{
# number of threads used for scanning the filesystem
nb_threads_scan = 8 ;
#completion_command = "/path/to/my/script.sh -f {cfg} -p
{fspath}" ;
completion_command =
"/root/scratch_cleanup/reports/emailCgsbUsage.sh";
}
Filesets {
FileClass hpc_admins
{
Definition
{
owner == "---" or owner == "---" or owner == "---"
or
owner == "---" or owner == "---" or owner == "---"
}
}
}
db_update_policy
{
fileclass_update = always;
}
Purge_Trigger
{
trigger_on = periodic;
check_interval = 7day;
}
rmdir_policy
{
# Remove directories that have been empty for more than 1 minute
age_rm_empty_dirs = 1min;
# don't remove dirs that owned by 'root' or whose depth < 2
Ignore
{
depth < 2
or tree == "/scratch/root"
or tree == "/scratch/cgsb"
or tree == "/scratch/work"
or owner == "root"
or type == symlink
}
}
Purge_Policies
{
Ignore
{
last_access <= 60d
or tree == "/scratch/root"
or tree == "/scratch/cgsb"
or tree == "/scratch/work"
}
Ignore { owner == "root" or type == symlink }
ignore_fileclass = hpc_admins;
Policy default
{
condition
{
Last_access > 60d
}
}
}
# Resource Monitor configuration
Purge_Parameters
{
# nbr of thread for performing purge operations
nb_threads_purge = 8 ;
# Immediately after purging data, 'df'/'ost df' may not return an exact
value,
# especially if freeing disk space is asynchronous.
# So, it is necessary to wait for a while after a purge before
# issuing a new 'df'/'ost df' command.
post_purge_df_latency = 1min ;
# queue size (for leveraging purge threads load)
purge_queue_size = 4096 ;
# Limit the size of database result sets (save memory)
db_result_size_max = 10000 ;
}
# Directory Remover configuration
Rmdir_Parameters
{
# Interval for performing empty directory removal
runtime_interval = 12h ;
# Number of threads for performing rmdir operations
nb_threads_rmdir = 8 ;
# Queue size (for leveraging rmdir threads load)
rmdir_queue_size = 256 ;
}
Sreedhar Manchu
HPC Systems Administrator
eSystems & Research Services
New York University, New York 10012
On Mon, Dec 9, 2013 at 10:41 AM, Michael Ruepp <[email protected]>wrote:
> Hello,
>
>
> I try to set up our Robin hood instance on fhgfs.
>
> We have one folder which content and tree should be purged when file
> creation time is older than 30d.
> The rest of the files should be under no circumstances be purged.
>
> I put together the following conf file:
> ...
> Purge_Trigger {
> trigger_on = periodic;
> check_interval = 1d;
> }
>
> Purge_Parameters {
> nb_threads_purge = 4;
> post_purge_df_latency = 1min;
> db_result_size_max = 10000;
> recheck_ignored_classes = true;
> }
>
> Filesets {
> FileClass scratchFolderMonthOld {
> Definition {
> tree == "/fhgfs/scratch"
> and
> creation > 30d
> }
> }
> }
>
> rmdir_policy {
> recursive_rmdir {
> tree == "/fhgfs/scratch"
> and last_mod > 30d
> }
> }
>
> rmdir_parameters {
> # Interval for performing empty directory removal
> runtime_interval = 1d ;
> # Number of threads for performing rmdir operations
> nb_threads_rmdir = 4 ;
> }
>
>
> Purge_policies {
> policy scratchPolicy
> {
> target_fileclass = scratchFolderMonthOld;
> condition {
> last_access > 1h
> and
> last_mod > 2h
> }
> }
> }
>
>
> However, robinhood complains about that a default policy is missing.
>
> Am I able to write a ignore condition for the rest of the files?:
>
>
> Purge_policies {
> policy default
> {
> Condition { ignore }
> }
>
> policy scratchPolicy
> {
> target_fileclass = scratchFolderMonthOld;
> condition {
> last_access > 1h
> and
> last_mod > 2h
> }
> }
> }
>
> Thanks a lot,
>
> Michael
>
>
>
>
>
>
>
> _________________________________
>
> Michael Ruepp
> Scientific Cluster Support
> _________________________________
>
> CeMM
> Research Center for Molecular Medicine
> of the Austrian Academy of Sciences
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
>
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> robinhood-support mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/robinhood-support
>
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
robinhood-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/robinhood-support