Hi,
I am trying to setup robinhood v3 to backup part of our lustre fs (2.9.0).
I have been trying some different configuration options on a specific dir
on our lustre fs and I am seeing something that does not make sense to me.
When I drop all tables in the robinhood db, and I scan dir /lustre/sds,
the files are all inserted with lhsm_status synchro instead of new.
Below are a part of the generated scan log and the used .conf file.
I am probably just missing something obvious here, and I recall that it
did work at some point (first time maybe?).
Regards,
Martin Balvers
Config file:
[root@tesla robinhood.d]# cat bioinfo.conf
# -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil; -*-
# vim:expandtab:shiftwidth=4:tabstop=4:
General {
fs_path = /lustre;
fs_type = lustre;
}
#### policy definitions ####
# include template policy definitions for Lustre/HSM
%include "includes/lhsm.inc"
%include "includes/alerts.inc"
#### fileclass definitions ####
fileclass sds {
definition { tree == "/lustre/sds" }
}
fileclass vm_home_dirs {
definition { tree == "/lustre/vm_home_dirs" }
}
fileclass pipeline {
definition { tree == "/lustre/pipeline" }
}
fileclass samba_write {
definition { tree == "/lustre/samba_write" }
}
fileclass scratch {
definition { tree == "/lustre/scratch" }
}
fileclass backup {
definition { tree == "/lustre/backup" }
}
fileclass cfd {
definition { tree == "/lustre/cfd_apache" }
}
fileclass large_dir {
definition { type == directory and dircount > 3000 }
}
fileclass empty_file {
definition { type == file and size == 0 }
}
fileclass small_file {
definition { type == file and size > 0 and size <= 32MB }
}
fileclass medium_file {
definition { type == file and size > 32MB and size <= 500MB }
}
fileclass large_file {
definition { type == file and size > 500MB and size <= 10GB }
}
fileclass huge_files {
definition { type == file and size > 10GB }
}
#### Lustre/HSM archive configuration ####
lhsm_archive_rules {
ignore_fileclass = scratch;
ignore_fileclass = pipeline;
ignore_fileclass = cfd;
rule default {
condition { last_mod > 6h }
}
rule sds_archive {
target_fileclass = sds;
condition { last_mod > 1h }
}
}
# run every 15 min
lhsm_archive_trigger {
trigger_on = periodic;
check_interval = 15min;
}
lhsm_remove_rules {
rule default {
condition { rm_time > 7d }
}
rule sds_remove {
target_fileclass = sds;
condition { rm_time > 1h }
}
}
lhsm_remove_trigger {
trigger_on = scheduled;
check_interval = 1h;
}
########### end of policy rules ############
# ChangeLog Reader configuration
# Parameters for processing MDT changelogs :
ChangeLog {
# 1 MDT block for each MDT :
MDT {
# name of the first MDT
mdt_name = "MDT0000" ;
# id of the persistent changelog reader
# as returned by "lctl changelog_register" command
reader_id = "cl1" ;
}
polling_interval = 1s;
}
Log {
# Log verbosity level
# Possible values are: CRIT, MAJOR, EVENT, VERB, DEBUG, FULL
debug_level = EVENT;
# Log file
log_file = "/var/log/robinhood/lustre.log";
# File for reporting purge events
report_file = "/var/log/robinhood/lustre_actions.log";
# set alert_file, alert_mail or both depending on the alert method you
wish
alert_file = "/var/log/robinhood/lustre_alerts.log";
alert_show_attrs = yes;
}
ListManager {
MySQL {
server = "localhost";
db = "robinhood_bioinfo";
user = "robinhood";
# password or password_file are mandatory
password_file = /etc/robinhood.d/.dbpassword;
engine = innodb;
}
}
Scan log:
[root@tesla robinhood.d]# grep "0x200000420:0xc0:0x0" log.txt
2017/06/29 09:14:13 [24443/12] Policy | Missing attribute 'no_archive' for
evaluating boolean expression on [0x200000420:0xc0:0x0]
2017/06/29 09:14:13 [24443/12] Policy | missing attrs to determine if
entry [0x200000420:0xc0:0x0] matches scope for policy lhsm_archive:
scope_mask=0X8000/0X1/0X4, attr_mask=0XCFFF9F/0/0, missing=0/0X1/0X4
2017/06/29 09:14:13 [24443/12] Policy | entry [0x200000420:0xc0:0x0]
matches scope for policy alert
2017/06/29 09:14:13 [24443/12] ListMgr | SQL query: SELECT
type,lhsm_status FROM ENTRIES WHERE ENTRIES.id='0x200000420:0xc0:0x0'
2017/06/29 09:14:13 [24443/12] EntryProc | [0x200000420:0xc0:0x0]:
Getattr=0, Getpath=0, Readlink=0, Getstatus(lhsm,alert), Getstripe=0
2017/06/29 09:14:13 [24443/12] Policy | Missing attribute 'no_archive' for
evaluating boolean expression on [0x200000420:0xc0:0x0]
2017/06/29 09:14:13 [24443/12] Policy | missing attrs to determine if
entry [0x200000420:0xc0:0x0] matches scope for policy lhsm_archive:
scope_mask=0X8000/0X1/0X4, attr_mask=0XCFFF9F/0/0, missing=0/0X1/0X4
2017/06/29 09:14:13 [24443/12] Policy | entry [0x200000420:0xc0:0x0]
matches scope for policy alert
2017/06/29 09:14:13 [24443/12] EntryProc | [0x200000420:0xc0:0x0]:
retrieving status for policy 'lhsm'
2017/06/29 09:14:13 [24443/4] EntryProc | Insert([0x200000420:0xc0:0x0])
2017/06/29 09:14:13 [24443/4] ListMgr | SQL query: INSERT INTO
ENTRIES(id,uid,gid,size,blocks,creation_time,last_access,last_mod,last_mdchange,type,mode,nlink,md_update,invalid,fileclass,class_update,lhsm_status,lhsm_archid,lhsm_norels,lhsm_noarch)
VALUES
('0x200000420:0xc0:0x0','apache','apache',23153056,45289,1484219157,1498563630,1484219157,1484219157,'file',420,1,1498720453,0,'+sds+small_file+',1498720453,'synchro',1,0,0)
2017/06/29 09:14:13 [24443/4] ListMgr | SQL query: INSERT INTO
NAMES(id,parent_id,name,path_update,pkn) VALUES
('0x200000420:0xc0:0x0','0x200000420:0xbf:0x0','140423_blast.tar.xz',1498720453,sha1(CONCAT(parent_id,'/',name)))
ON DUPLICATE KEY UPDATE
id=VALUES(id),parent_id=VALUES(parent_id),name=VALUES(name),path_update=VALUES(path_update)
2017/06/29 09:14:13 [24443/4] ListMgr | SQL query: INSERT INTO STRIPE_INFO
(id,validator,stripe_count,stripe_size,pool_name) VALUES
('0x200000420:0xc0:0x0',0,1,1048576,'') ON DUPLICATE KEY UPDATE
validator=VALUES(validator),stripe_count=VALUES(stripe_count),stripe_size=VALUES(stripe_size),pool_name=VALUES(pool_name)
2017/06/29 09:14:13 [24443/4] ListMgr | SQL query: DELETE FROM
STRIPE_ITEMS WHERE id='0x200000420:0xc0:0x0'
2017/06/29 09:14:13 [24443/4] ListMgr | SQL query: INSERT INTO
STRIPE_ITEMS (id,stripe_index,ostidx,details) VALUES
('0x200000420:0xc0:0x0',0,2,x'00000000ebb20a00000000000000000000000000')
stat of file:
[root@tesla robinhood.d]# stat /lustre/sds/sds-general/balverma/some\
project/2017-01-12/140423_blast.tar.xz
File: ‘/lustre/sds/sds-general/balverma/some
project/2017-01-12/140423_blast.tar.xz’
Size: 23153056 Blocks: 45289 IO Block: 4194304 regular file
Device: 45d7e138h/1171775800d Inode: 144115205792596160 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 48/ apache) Gid: ( 48/ apache)
Access: 2017-06-27 13:40:30.000000000 +0200
Modify: 2017-01-12 12:05:57.000000000 +0100
Change: 2017-01-12 12:05:57.000000000 +0100
Birth: -
Ce message électronique et tous les fichiers attachés qu'il contient sont
confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils
sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner à
son émetteur. Les idées et opinions présentées dans ce message sont celles de
son auteur, et ne représentent pas nécessairement celles de DANONE ou d'une
quelconque de ses filiales. La publication, l'usage, la distribution,
l'impression ou la copie non autorisée de ce message et des attachements qu'il
contient sont strictement interdits.
This e-mail and any files transmitted with it are confidential and intended
solely for the use of the individual to whom it is addressed. If you have
received this email in error please send it back to the person that sent it to
you. Any views or opinions presented are solely those of its author and do not
necessarily represent those of DANONE or any of its subsidiary companies.
Unauthorized publication, use, dissemination, forwarding, printing or copying
of this email and its associated attachments is strictly prohibited.
------------------------------------------------------------------------------
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