I - License II - Compiling III - Install IV - Database configuration V - Enabling Lustre changelogs VI - RobinHood config file VII - First run I - License =========== Copyright (C) 2004-2013 CEA/DAM This program is free software; you can redistribute it and/or modify it under the terms of the CeCILL-C License. The fact that you are presently reading this means that you have had knowledge of the CeCILL-C license (http://www.cecill.info) and that you accept its terms. II - Compiling ============== 2.1 - From source tarball ------------------------- It is advised to build RobinHood on your target system, to ensure the best compatibility with your Lustre and MySQL versions. Make sure you have the following products installed on your machine: * bison * flex * mysql-devel * liblustreapi (/usr/include/lustre/lustreapi.h and /usr/lib64/liblustreapi.so) It is usually provided by client lustre RPM. Unzip and untar the source distribution: > tar zxvf robinhood-2.x.x.tar.gz > cd robinhood-2.x.x Run the 'configure' script with the following options: * For Lustre-HSM: --with-purpose=LUSTRE_HSM * --prefix=<path> to set the prefix of installation path (default is /usr). * --with-lustre=<lustre_src_tree> if you want to build using a specific Lustre version (not installed) E.g.: > ./configure --with-purpose=LUSTRE_HSM Then, build the RPM: > make rpm A ready-to-install RPM is generated in the 'rpms/RPMS/<arch>' directory. 2.2 - From git repository ------------------------- # make sure flex, bison, libtool, mysql-devel are installed: # E.g. yum install flex yum install bison yum install libtool yum install mysql-devel # retrieve robinhood sources git clone git://robinhood.git.sourceforge.net/gitroot/robinhood/robinhood cd robinhood git checkout master (or other branch) sh autogen.sh Then refer to section 2.1 for next compilation steps. III - Install ============= For installing robinhood on your target system, install the following RPM: > robinhood-adm configuration helper for DB, changelogs, ... > robinhood-lhsm include robinhood commands, config templates, init.d script IV - Database Configuration =========================== Robinhood needs a MySQL database for storing information about files. This database can run on a different node from Robinhood daemon. * Install MySQL server on the machine (mysql-server and mysql packages). * Start the DB engine: service mysqld start * Run the configuration helper script as root on the database host: 1) check database requirement: > rbh-config precheck_db 2) create robinhood's database: > rbh-config create_db * Write the DB password to a file with read access for root only (600) e.g. to /etc/robinhood.d/lhsm/.dbpassword Note: initially, the database schema is empty. Robinhood will create it the first time it is launched. V - Enabling Lustre changelogs ============================== For Lustre-HSM purpose, you must register robinhood as a MDT changelog consummer. * Run the configuration helper script on Lustre MDT: > rbh-config enable_chglogs This registers a changelog consummer and activate required changelog records. Note: by default, the script checks for a 'cl1' consummer. If you need to register several changelog consummers on your file system, refer to lustre documentation. VI - Configuration file ======================= You can use the '--template' option to generate a documented configuration file template: > rbh-lhsm --template=<template_file> Note: by default, "service robinhood-hsm start" looks for configuration files in "/etc/robinhood.d/hsm". For more details, refer to Robinhood Admin Guide (in the doc/admin_guide directory). VII - First run =============== Even if your filesystem is empty, you need to perform an initial scan in order to initialize robinhood database. This prevents from having entries in filesystem that it wouldn't know about. rbh-lhsm --scan --once VIII - Start the daemon ======================= service robinhood-lhsm start or run: rbh-lhsm --detach This starts reading changelogs + applying policies (archive, release)