This short HOWTO will help you install DIASER beta2
rpm, Makefile or deb installation
rpm dependencies will be automatically installed with yum.
Makefile as root will allow installation; make, make install.
deb package still requires extra dependencies, see section 5.
System Requirements
Note: if installed using the Makefile or using the rpm then the command to run is ]$diaser not
]$./diaser from V1b2.
1) Perl v5.8.8 or above, (Perl v5.10.0 is recommended for best performance)
enabled workstation. Optional for --bandwidth, gnuplot v4.2.
2) 3 x Linux, currently tested with RHEL, Fedora 12, Ubuntu Server 9.10 and
LTS 8.04.3, storage nodes (you can use VM's) with root access for initial
setup and Perl v5.8.8 or above with services; sshd, crontab, iptables ssh port open, ntpd,
rsync (non daemon).
3) LAN or WAN connection between each server, the 3 machines must be able to
ping one another.
4) SSH server on each node, not necessarily port 22.
5) Perl modules
Workstation: Net::SSH::Perl, Net::SFTP, Getopt::Long, AppConfig,
Term::ReadKey and Data::Password.
i.e. as root ]#yum -y install perl-Net-SSH-Perl
or cpan>install Net::SSH::Perl
Nodes: Perl Core and File::Find (installed as default with most
distributions).
rpm will attempt to install Perl module dependencies
automatically.
IMPORTANT Notes for: Debian 5, Ubuntu Server 9.10 and 8.04.3 LTS
Use of Ubuntu nodes is either or at the moment, i.e. Ubuntu or say Fedora.
I plan to allow mixed nodes later.
First only use the installer with Ubuntu Server, otherwise LTS will
need a Perl Upgrade to v5.10.0. You can use LTS for nodes and proceed to
set them up as storage.
The installation of Net::SFTP and Net::SSH::Perl is not as straightforward
as hoped, this may change in future releases, for now these instructions
do work, borrowed from http://www.csclug.org/?q=node/128
a. Install the following with synaptic/apt-get: libyaml-dev libgmp3-dev
libpari-dev libmath-gmp-perl libmath-bigint-gmp-perl
b. Manually install pari from
ftp://megrez.math.u-bordeaux.fr/pub/pari/unix/ I'm using pari-2.3.4.tar.gz
c. Install using cpan: YAML
d. Update cpan by typing: install CPAN 5. Re-Initialize cpan by
typing:
reload CPAN 6.
e. Grab Math::Pari from cpan.perl.org and manually install
f. Install using cpan: Math::GMP Math::BigInt Math::BigInt::FastCalc
Math::BigRat Net::SSH::Perl Net::SFTP
6) Enough disk space. here is a simple rough guide. Use the --bandwidth option
to find out your available bandwidth between nodes.
assuming best transfer rates at full capacity, 2 x phase operation @ 3 hours
each, average Differential est. 500M, a prune function will allow clipping of
the volumes to free up space.
Configuration
For a question driven configuration tool run the command:
edit the file diaser.conf contains user settings, please edit as required.
Main settings:
number of years you want the system to run for
time of daily operation
node IP addresses
SSH ports
dry run or not
time out and maximum transfer rate
home account directories
fill DIASER settings
time zone compensation
sudo accounts or not
backup volume names and location
The minimum recommended length of deployment is 2 years.
Start Installation
Run ./diaser --install or diaser --install as an ordinary user, node root passwords will be requested and make a note of your chosen diaser password.
Other options can be viewed with the diaser --help switch.
Upgrades
Product upgrades will apply fixes and updates, use the --upgrade switch.
Data Entry point / filling DIASER
This machine contains directory d0 and FULL01 and is your machine A. Machine
A is assumed to be your most robust and closest from a network perspective to
your main backup facility. Volumes on your file store are assumed to be
read/write by user id: $your_diaser_uid. Fills Full01 for your FULL copy and
d$ for all subsequent Differentials or constant volumes.
The script fill_diaser automates the loading of DIASER using your chosen
settings created by the --configure, --modify or when you edit diaser.conf.
See the fill DIASER flow chart for a detailed overview, Diagrams to the left.
I have included an example of my Bacula volume creation in
helper_scripts/bacula-dir.conf.extract.
Data Retrieval
Either use the simple tool provided using the --retrieve option, which also
has additional command line options or login to nodes
directly and use scp. The retrieval tool will walk you through a set of
questions then list files for you to pick and transfer. The file will retain
it's name and be located in the diaser_rel directory.
SE Linux and AppArmor
No problems observed during either installation or operation.
Need more than one installation per machine?
Share disk space with other organisations or groups by using a different
account name and staggering or alternating the transfer times (phases) or
lowering the LMB - lowest maximum bandwidth between nodes. See diaser.conf.
diaser will allow the use of more than one configuration file and you can
force diaser to read a configuration file.