About DRLM Docs¶
DRLM Docs contains comprehensive documentation on the DRLM (Disaster Recovery Linux Manager). This page describes documentation’s licensing, editions, and versions, and describes how to contribute to the DRLM Docs.
For more information on DRLM, see About DRLM Project. To download DRLM, see the downloads page.
License¶
This documentation is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (i.e. “CC-BY-NC-SA”) license.
The DRLM Manual is copyright © 2018 Brain Updaters, S.L.L.
Contributing¶
Please, we encourage you to help us to improve this documentation.
To contribute to documentation the Github interface enables users to report errata or missing sections, discuss improvements and new sections through the issue-tracker at: DRLM Docs GitHub Issue Tracker.
Note
This documentation is under constant development. Please be patient…
Contents:¶
DRLM Quick Start Guide¶
DRLM Installation¶
Follow the steps at DRLM Installation. (Select your OS)
Add Network to DRLM Server¶
First of all we must add the network where the ReaR clients are. To do this we have to use the command “drlm addnetwork” with the parameters -n “Network Name”, -s “Server IP”, -m “Netmask” and -g “Gateway IP”.
$ drlm addnetwork -n BuLan -s 192.168.1.38 -m 255.255.255.0 -g 192.168.1.1
Add Client to DRLM Server¶
Now we can add a ReaR client with the command “drlm addclient” and the parameters -i “Client IP”, -c “ReaR client hostname” and -I to automatically install ReaR client.
$ drlm addclient -i 192.168.1.45/24 -c ReaRCli1 -I
Run Client Backup¶
We are ready to take OS backups!!! At this point we have the DRLM server and ReaR client configured, you just have to run the command “drlm runbackup” with the parameter -c “ReaR client host name”
$ drlm runbackup -c ReaRCli1
Restore Client Backup¶
Follow the steps at DRLM Client Recover.
DRLM Installation¶
The pourpose of this manual is explain, step by step, the installation and configuration of DRLM. At the end of this guide you should have a fully functional DRLM server.
Debian 8/9 & Ubuntu 16.04/18.04 LTS¶
Note
On the following steps, is assumed you have a minimal installation of Debian 8/9 or Ubuntu 16.04.
Install requirements¶
$ apt update
$ apt upgrade
$ apt install openssh-client openssl gawk nfs-kernel-server rpcbind isc-dhcp-server tftpd-hpa apache2 qemu-utils sqlite3 lsb-release bash-completion
Get DRLM¶
You can obtain the DRLM package building it from the source code
Build DEB package from Source
$ apt install git build-essential debhelper
$ git clone https://github.com/brainupdaters/drlm
$ cd drlm
$ make deb
Install DRLM package¶
The DEB package can be installed as follows (on Debian, Ubuntu)
Execute the next command:
$ dpkg -i drlm_2.2.1_all.deb
DRLM Components Configuration¶
This section covers configuration of:
- GRUB
- TFTP Service
- NFS Service
- DHCP Service
- HTTP Service
Configuring loop limits¶
The default configuration allows up to eight active loop devices. If more than eight file-based guests or loop devices are needed the number of loop devices configured can be adjusted adding the parameter max_loop=1024 in the /etc/default/grub file as follows:
...
GRUB_CMDLINE_LINUX="quiet max_loop=1024" ##UPDATE THIS LINE
...
$ grub-mkconfig -o /boot/grub/grub.cfg
TFTP¶
You have to update the destination folder in the /etc/default/tftpd-hpa cofiguration file as follows
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/drlm/store"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
NFS¶
We don’t have to configure the /etc/exports file, the file is automatically maintained by DRLM.
DHCP¶
Same as /etc/exports file, configuration of /etc/dhcp/dhcpd.conf file is not required, the file is automatically maintained by DRLM.
HTTP¶
$ a2enmod ssl
$ a2enmod rewrite
$ a2enmod cgid
$ a2enmod reqtimeout
Edit /etc/apache2/apache2.conf file
# Include the DRLM Configuration:
Include /usr/share/drlm/conf/HTTP/https.conf
$ rm /etc/apache2/sites-enabled/*
Edit /etc/apache2/ports.conf file
#Listen 80
Restart & check services¶
$ systemctl restart tftpd-hpa.service
$ systemctl status tftpd-hpa.service
$ systemctl restart rpcbind.service
$ systemctl status rpcbind.service
$ systemctl restart apache2.service
$ systemctl status apache2.service
Note
DHCP and NFS servers are not running because there is no config yet! no worries they will be reloaded automatically after first DRLM client will be added.
Debian 7 & Ubuntu 14.04 LTS¶
Note
On the following steps, is assumed you have a minimal installation of Debian 7 or Ubuntu 14.04.
Install requirements¶
$ apt-get update
$ apt-get upgrade
$ apt-get install openssh-client openssl wget gzip tar gawk sed grep coreutils util-linux nfs-kernel-server rpcbind isc-dhcp-server tftpd-hpa apache2 qemu-utils sqlite3 lsb-release bash-completion
Get DRLM¶
You can obtain the DRLM package building it from the source code
Build DEB package from Source
$ apt-get install git build-essential debhelper
$ git clone https://github.com/brainupdaters/drlm
$ cd drlm
$ make deb
Install DRLM package¶
The DEB package can be installed as follows (on Debian, Ubuntu)
Execute the next command:
$ dpkg -i drlm_2.2.1_all.deb
DRLM Components Configuration¶
This section covers configuration of:
- GRUB
- TFTP Service
- NFS Service
- DHCP Service
- HTTP Service
Configuring loop limits¶
The default configuration allows up to eight active loop devices. If more than eight file-based guests or loop devices are needed the number of loop devices configured can be adjusted adding the parameter max_loop=1024 in the /etc/default/grub file as follows:
...
GRUB_CMDLINE_LINUX="quiet max_loop=1024" ##UPDATE THIS LINE
...
$ grub-mkconfig -o /boot/grub/grub.cfg
TFTP¶
You have to update the destination folder in the /etc/default/tftpd-hpa cofiguration file as follows
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/drlm/store"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
NFS¶
We don’t have to configure the /etc/exports file, the file is automatically maintained by DRLM.
DHCP¶
Same as /etc/exports file, configuration of /etc/dhcp/dhcpd.conf file is not required, the file is automatically maintained by DRLM.
HTTP¶
$ a2enmod ssl
$ a2enmod rewrite
$ a2enmod cgi
$ a2enmod reqtimeout
Edit /etc/apache2/apache2.conf file
# Include the DRLM Configuration:
Include /usr/share/drlm/conf/HTTP/https.conf
$ rm /etc/apache2/sites-enabled/*
Edit /etc/apache2/ports.conf file
#NameVirtualHost *:80
#Listen 80
Restart & check services¶
$ service tfrpd-hpa restart
$ service tftpd-hpa status
in.tftpd is running.
$ service rpcbind restart
$ service rpcbind status
rpcbind is running.
$ service apache2 restart
$ service apache2 status
Apache2 is running (pid 2023).
Note
DHCP and NFS servers are not running because there is no config yet! no worries they will be reloaded automatically after first DRLM client will be added.
CentOS 7 & RHEL 7¶
Note
On the following steps, is assumed you have a minimal installation of CentOS or RHEL 7.
Warning
SELinux has been disabled
$ cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
$ setenforce 0
Note
It is not a requirement to disable SELinux, but to work with DRLM Server must be properly configured. We have disabled this feature for easier installation.
Install requirements¶
$ yum -y install openssh-clients openssl wget gzip tar gawk sed grep coreutils util-linux rpcbind dhcp tftp-server httpd xinetd nfs-utils nfs4-acl-tools mod_ssl qemu-img sqlite redhat-lsb-core bash-completion
Get DRLM¶
Build RPM package from Source
$ yum install git rpm-build
$ git clone https://github.com/brainupdaters/drlm
$ cd drlm
$ make rpm
Install DRLM package¶
The RPM package can be installed as follows (on Redhat, CentOS)
Execute the next command:
$ rpm -ivh drlm-2.2.1-1git.el7.centos.noarch.rpm
DRLM Components Configuration¶
This section covers configuration of:
- GRUB
- TFTP Service
- NFS Service
- DHCP Service
- HTTP Service
Configuring loop limits¶
The default configuration allows up to eight active loop devices. If more than eight file-based guests or loop devices are needed the number of loop devices configured can be adjusted adding the parameter max_loop=1024 in the /etc/default/grub file as follows:
...
GRUB_CMDLINE_LINUX="......... max_loop=1024" ##UPDATE THIS LINE ADDING MAX_LOOP=1024 PARAMETER
...
$ grub2-mkconfig -o /boot/grub2/grub.cfg
TFTP¶
You have to update the /etc/xinetd.d/tftp cofiguration file as follows:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/drlm/store
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
NFS¶
We don’t have to configure the /etc/exports file, the file is automatically maintained by DRLM.
DHCP¶
Same as /etc/exports file, configuration of /etc/dhcp/dhcpd.conf file is not required, the file is automatically maintained by DRLM.
HTTP¶
Disable the default Virtual Host and configure the server to work with SSL.
We have to edit de /etc/httpd/conf.d/ssl.conf, comment or delete the Virtual host and include the DRLM http default configuration at the end of it.
Coment from here --->
##
## SSL Virtual Host Context
##
At the end of the file and insert:
# Include the DRLM Configuration:
Include /usr/share/drlm/conf/HTTP/https.conf
Then we have to coment the 80 port service commenting or deleting the next lines in /etc/httpd/conf/httpd.conf file.
#Listen 80
#ServerAdmin root@localhost
#DocumentRoot "/var/www/html"
#<Directory />
# Options FollowSymLinks
# AllowOverride None
#</Directory>
#<Directory "/var/www/html">
# Options Indexes FollowSymLinks
# AllowOverride None
# Order allow,deny
# Allow from all
#</Directory>
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#<Directory "/var/www/cgi-bin">
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
#</Directory>
To finish we have to add APACHE_LOG_DIR variable to /etc/sysconfig/httpd
echo "APACHE_LOG_DIR=logs" >> /etc/sysconfig/httpd
Restart & check services¶
$ systemctl enable xinetd.service
$ systemctl restart xinetd.service
$ systemctl enable rpcbind.service
$ systemctl restart rpcbind.service
$ systemctl enable httpd.service
$ systemctl restart httpd.service
Note
DHCP and NFS servers are not running because there is no config yet! no worries they will be reloaded automatically after first DRLM client will be added.
CentOS 6 & RHEL 6¶
Note
On the following steps, is assumed you have a minimal installation of CentOS or RHEL 6.
Warning
Iptables and SELinux has been disabled
$ cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
$ setenforce 0
Note
It is not a requirement to disable SELinux and Iptables, but to work with DRLM Server must be properly configured. We have disabled these features for easier installation.
Iptables
$ chkconfig iptables off
$ service iptables stop
Install requirements¶
$ yum -y install openssh-clients openssl wget gzip tar gawk sed grep coreutils util-linux rpcbind dhcp tftp-server httpd xinetd nfs-utils nfs4-acl-tools mod_ssl qemu-img sqlite redhat-lsb-core bash-completion
Get DRLM¶
Build RPM package from Source
$ yum install git rpm-build
$ git clone https://github.com/brainupdaters/drlm
$ cd drlm
$ make rpm
Install DRLM package¶
The RPM package can be installed as follows (on RHEL, CentOS)
Execute the next command:
$ rpm -ivh drlm-2.2.1-1git.el6.noarch.rpm
DRLM Components Configuration¶
This section covers configuration of:
- GRUB
- TFTP Service
- NFS Service
- DHCP Service
- HTTP Service
Configuring loop limits¶
The default configuration allows up to eight active loop devices. If more than eight clients are needed, the number of loop devices configured can be adjusted adding the parameter max_loop=1024 in the /etc/grub.conf file as follows:
title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vgroot-lvroot rd_NO_LUKS LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=es rd_NO_MD rd_LVM_LV=vgroot/lvswap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vgroot/lvroot rd_NO_DM rhgb quiet max_loop=1024
initrd /initramfs-2.6.32-358.el6.x86_64.img
TFTP¶
You have to update the /etc/xinetd.d/tftp cofiguration file as follows:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/drlm/store
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
NFS¶
We don’t have to configure the /etc/exports file, the file is automatically maintained by DRLM.
DHCP¶
Same as /etc/exports file, configuration of /etc/dhcp/dhcpd.conf file is not required, the file is automatically maintained by DRLM.
HTTP¶
Disable the default Virtual Host and configure the server to work with SSL.
We have to edit de /etc/httpd/conf.d/ssl.conf, comment or delete the Virtual host and include the DRLM http default configuration at the end of it.
Coment from here --->
##
## SSL Virtual Host Context
##
At the end of the file and insert:
# Include the DRLM Configuration:
Include /usr/share/drlm/conf/HTTP/https.conf
Then we have to coment the 80 port service commenting or deleting the next lines in /etc/httpd/conf/httpd.conf file.
#Listen 80
#ServerAdmin root@localhost
#DocumentRoot "/var/www/html"
#<Directory />
# Options FollowSymLinks
# AllowOverride None
#</Directory>
#<Directory "/var/www/html">
# Options Indexes FollowSymLinks
# AllowOverride None
# Order allow,deny
# Allow from all
#</Directory>
#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#<Directory "/var/www/cgi-bin">
# AllowOverride None
# Options None
# Order allow,deny
# Allow from all
#</Directory>
To finish we have to add APACHE_LOG_DIR variable to /etc/sysconfig/httpd
echo "APACHE_LOG_DIR=logs" >> /etc/sysconfig/httpd
Restart & check services¶
$ service xinetd restart
$ service xinetd status
xinetd (pid 5307) is running...
$ service rpcbind restart
$ service rpcbind status
rpcbind (pid 5097) is running...
$ service httpd restart
$ service httpd status
httpd (pid 5413) is running...
Note
DHCP and NFS servers are not running because there is no config yet! no worries they will be reloaded automatically after first DRLM client will be added.
SLES 12 & OpenSUSE Leap 42¶
Note
On the following steps, is assumed you have a minimal SLES 12 or OpenSUSE Leap 42
Install requirements¶
$ zypper in openssl wget gzip tar gawk sed grep coreutils util-linux nfs-kernel-server rpcbind dhcp-server sqlite3 apache2 openssh qemu-tools tftp xinetd lsb-release bash-completion
Get DRLM¶
You can obtain the DRLM package building it from the source code.
Build RPM package from Source
$ zypper install git-core rpm-build
$ git clone https://github.com/brainupdaters/drlm
$ cd drlm
$ make rpm
You can obtain the RPM DRLM package from www.drlm.org website
Install DRLM package¶
The RPM package can be installed as follows (on SLES 12 SP1)
Execute the next command:
$ zypper in drlm-2.2.1-1git.noarch.rpm
DRLM Components Configuration¶
This section covers configuration of:
- GRUB
- TFTP Service
- NFS Service
- DHCP Service
- HTTP Service
Configuring loop limits¶
The default configuration allows up to eight active loop devices. If more than eight file-based guests or loop devices are needed the number of loop devices configured can be adjusted adding the parameter max_loop=1024 in the /etc/default/grub file as follows:
...
GRUB_CMDLINE_LINUX="... quiet max_loop=1024" ##UPDATE THIS LINE
...
$ grub2-mkconfig -o /boot/grub2/grub.cfg
TFTP¶
You have to update the /etc/xinetd.d/tftp cofiguration file as follows:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
flags = IPv6 IPv4
user = root
server = /usr/sbin/in.tftpd
server_args = -u tftp -s /var/lib/drlm/store
per_source = 11
cps = 100 2
disable = no
}
NFS¶
We don’t have to configure the /etc/exports file, the file is automatically maintained by DRLM.
DHCP¶
Same as /etc/exports file, configuration of /etc/dhcpd.conf file is not required, the file is automatically maintained by DRLM.
but you have to change the location of /etc/dhcpd.conf
Edit /etc/drlm/local.conf
DHCP_DIR="/etc"
DHCP_FILE="$DHCP_DIR/dhcpd.conf"
DHCPD_INTERFACE by default is set as DHCPD_INTERFACE=”” and dhcpd does not start, change it to “ANY”
Edit /etc/sysconfig/dhcpd
DHCPD_INTERFACE="ANY"
HTTP¶
$ a2enmod ssl
$ a2enmod rewrite
$ a2enmod cgi
$ a2enmod mod_access_compat
$ a2enmod reqtimeout
Edit /etc/apache2/httpd.conf file
# Include the DRLM Configuration:
Include /usr/share/drlm/conf/HTTP/https.conf
To finish we have to add APACHE_LOG_DIR variable to /etc/sysconfig/apache2
echo "APACHE_LOG_DIR=/var/log/apache2" >> /etc/sysconfig/apache2
Edit /etc/apache2/listen.conf file
#Listen 80
Listen 443
#Listen 80
<IfDefine SSL>
<IfDefine !NOSSL>
<IfModule mod_ssl.c>
Listen 443
</IfModule>
</IfDefine>
</IfDefine>
Restart & check services¶
$ systemctl restart xinetd.service
$ systemctl status xinetd.service
$ systemctl restart rpcbind.service
$ systemctl status rpcbind.service
$ systemctl restart apache2.service
$ systemctl status apache2.service
$ systemctl enable nfs-server
$ systemctl start nfs-server
$ systemctl status nfs-server
Note
DHCP and NFS servers are not running because there is no config yet! no worries they will be reloaded automatically after first DRLM client will be added.
DRLM Client Installation¶
Since DRLM 2.0.0, DRLM clients (ReaR) can be installed and configured on a remote server from the DRLM server using drlm instclient
Let’s explain a little bit the steps this feature does:
- Create the drlm user
- Install ReaR dependencies
- Install ReaR package
- Configure ReaR to be managed by DRLM
- Configure SUDO for drlm user.
- Start and configure required services
Supported OSs for instclient command¶
Unattended Client Installation has been tested on:
- SLES (11 & 12)
- OpenSUSE (13 & Leap 42)
- RHEL & CentOS (5, 6 & 7)
- Debian (6, 7, 8 & 9)
- Ubuntu LTS (12.04, 14.04 & 16.04)
Note
It should work on other RedHat, Debian or SUSE variants.
Requirements¶
In order to install ReaR from DRLM server the client must have:
- Access to EPEL Repo to install rear from repo (CentOS,RHEL)
- instclient uses apt-get, yum and zypper, so repositories must be configured
- SSH enabled
- root user or user with administrator privileges to install, start services like rpcbind and configure ReaR, DHCP and sudo applications.
Run unattended install¶
To perform an unattended install of a DRLM client, just is needed to run instclient DRLM command like one of the following examples:
Warning
The client must be properly registered in DRLM with addclient command.
Examples:
$ drlm instclient -c ReaRCli1
$ drlm instclient -c ReaRCli1 -U http://download.opensuse.org/repositories/Archiving:/Backup:/Rear/Debian_7.0/all/rear_1.17.2_all.deb
Note
See Client Operations for more information
DRLM Client Recover¶
In this section we show how to recover a system which has been backed up.
In this example your client and server has the following configuration. You have to adapt it to your case.
DRLM Server Host Name: DRLMsrv
DRLM Server IP: 192.168.2.120
ReaR Client Host Name: fosdemcli4
ReaR Client IP: 192.168.2.102
Step by Step Client Recover¶
Reboot the Client and select boot from network. Automaticaly will boot from PXE.
- The DRLM server gives us through PXE/TFTP the client boot system. We just have to select first menu option to enter in the recovery system.
- Once we have the system ready Login as “root”. No password required.
3a. Now we can recover the system with the command “rear recover”.
3b. If we want to recover an imported DR image from another DRLM server the SSL certificates for this server won’t be present in the image and DRLM related configuration in DR image won’t be correct for the new DRLM server.
Your can overwrite them with the following variables in the command line: SERVER=”DRLM Server IP” REST_OPTS=-k ID=”ReaR Client Name”. In the following example: “rear recover SERVER=192.168.2.120 REST_OPTS=-k ID=fosdemcli4”
- The system is recovering.
- System recovered! So we only have to restart the client.
Error Reporting Configuration¶
DRLM can be configured to report errors on scheduled backups if required. Is possible to report by mail or integrating with your monitoring service. At this time (DRLM 2.0) we support error reporting by mail and integration with Nagios, Zabbix and HPOM(OVO) monitoring services.
Note
All reporting configuration samples are located in: /usr/share/drlm/conf/samples
Enable DRLM reporting¶
$ vi /usr/share/drlm/conf/default.conf
########
#
# Defines HowTo report Errors using some known and wide used methods
#
# ERR_REPORT=[yes|no]
# default: no
# REPORT_TYPE=[ovo|nsca-ng|nsca|zabbix|mail|...]
# default: empty
#
########
ERR_REPORT=yes
REPORT_TYPE=<type>
Configure nsca-ng (Nagios based) reporting¶
In order to configure Nagios Error reporting on DRLM, the Nagios NSCA Client must be installed.
Note
We’re using nsca-ng because nsca is deprecated, but if you have nsca DRLM supports it
Debian 7/8
$ apt-get install nsca-ng-client
RHEL/Centos 6/7
if nsca-ng-client is not in the repositories, it can be downloaded from:
The following options are DRLM defaults, change any of them to your installation requirements in /etc/drlm/local.conf.
$ vi /etc/drlm/local.conf
#
# REPORT_TYPE=nagios
# NAGIOS VARIABLES
#
# These are default values and can be overwritten in local.conf according to your NAGIOS installation and configuration.
#
NAGCMD="/usr/sbin/send_nsca"
NAGSVC="DRLM"
NAGHOST="$HOSTNAME"
NAGCONF"/etc/drlm/alerts/nagios.cfg"
nagios_sample.cfg
Copy the sample DRLM configuration for Nagios to previously defined $NAGCONF and adjust it to your environment needs.
#### DRLM (Disaster Recovery Linux Manager) Nagios error reporting sample configuration file.
#### Default: /etc/drlm/alerts/nagios.cfg
### identity = <string>
# Send the specified client identity to the server.
# By default, localhost will be used.
identity = "< client identity >"
### server = <string>
# Connect and talk to the specified server address or hostname.
# The default server is "localhost".
server = "< nagios based server >"
### port = <string>
# Connect to the specified service name or port number on the
# server instead of using the default port (5668).
port = < nagios based listening port >
password = "change-me"
Note
The configuration on the server side is not in the scope of this documentation. Please check your Nagios service documentation to configure properly the NSCA service and how to report DRLM alerts.
Configure Zabbix reporting¶
In order to configure Zabbix Error reporting on DRLM, the Zabbix Agent must be installed.
Debian 7/8
$ apt-get install zabbix-agent
Warning
On debian 7 (wheezy) the backports repository must be configured in order to install zabbix-agent.
RHEL/Centos 6/7
$ yum install zabbix-agent
Warning
May be needed to add EPEL repositories if not present, because those packages are not included in distribution repositories.
The following options are DRLM defaults, change any of them to your installation requirements in /etc/drlm/local.conf.
$ vi /etc/drlm/local.conf
#
# REPORT_TYPE=zabbix
# ZABBIX VARIABLES
#
# These are default values and can be overwritten in local.conf according to your ZABBIX installation and configuration.
#
ZABBCMD="/usr/bin/zabbix_sender"
ZABBKEY="DRLM"
ZABBCONF="/etc/drlm/alerts/zabbix.cfg"
zabbix_sample.cfg
Copy the sample DRLM configuration for Zabbix to previously defined $ZABBCONF and adjust it to your environment needs.
#### DRLM (Disaster Recovery Linux Manager) Zabbix error reporting sample configuration file.
#### Default: /etc/drlm/alerts/zabbix.cfg
### Option: ServerActive
# List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
# If port is not specified, default port is used.
#ServerActive=monitoring_server:port,monitoring_proxy:port
### Option: Hostname
# Unique, case sensitive hostname.
# Required for active checks and must match hostname as configured on the server.
#Hostname=drlm_server_hostname
Note
The configuration on the server side is not in the scope of this documentation. Please check your Zabbix service documentation to configure properly the Trapper item and how to report DRLM alerts.
Configure Mail reporting¶
In order to configure Zabbix Error reporting on DRLM, the Heirloom Mailx must be installed.
Debian 7/8
$ apt-get install heirloom-mailx
RHEL/Centos 6/7
$ yum install mailx
The following options are DRLM defaults, change any of them to your installation requirements in /etc/drlm/local.conf.
$ vi /etc/drlm/local.conf
#
# REPORT_TYPE=mail
# MAIL VARIABLES
#
# These are default values and can be overwritten in local.conf according to your MAIL installation and configuration.
#
MAILCMD="/bin/mailx"
MAILSUBJECT="DRLM ERROR ALERT ($HOSTNAME)"
MAILCONF="/etc/drlm/alerts/mail.cfg"
MAIL_TO="root@localhost"
MAIL_CC=""
MAIL_BCC=""
mail_sample.cfg
Copy the sample DRLM configuration for Mailx to previously defined $MAILCONF and adjust it to your environment needs.
#### DRLM (Disaster Recovery Linux Manager) Mail error reporting sample configuration file.
#### Default: /etc/drlm/alerts/mail.cfg
### Configure MAIL_FROM [ address(friendly_name) ].
#set from="john@doe.org(John Doe)"
### Set SMTP server configuration [ ipaddr_or_dnsname:port ].
#set smtp=smtp_server:25
### Set SMTP server Auth Options [ Username (mail address) and Password ] if required.
#set smtp-auth=login
#set smtp-auth-user=john@doe.org
#set smtp-auth-password=SoMePaSsWoRd
###############################################
#### Example using external Gmail smtp servers:
#set from="john@doe.org(John Doe)"
#set smtp-use-starttls
#set ssl-verify=ignore
#set smtp-auth=login
#set smtps=smtp://smtp.gmail.com:587
#set smtp-auth-user=some_user@gmail.com
#set smtp-auth-password=pAsSwOrD
#set nss-config-dir=/etc/ssl/certs
Note
The configuration on the Mail server is not in the scope of this documentation. Please check your Mail service configuration to configure properly mailx to report DRLM alerts.
Configure HPOM (former OVO) reporting¶
In order to configure HPOM(OVO) Error reporting on DRLM, the HPOM(OVO) agent must be installed. This may vary depending on your version, please check your product documentation in order to install it properly. DRLM uses opcmsg binary to report errors to HPOM server.
The following options are DRLM defaults, change any of them acording to your installation requirements in /etc/drlm/local.conf.
$ vi /etc/drlm/local.conf:
#
# REPORT_TYPE=ovo
# HP OVO VARIABLES
#
# These are default values and can be overwritten in local.conf according to your HP OVO installation and configuration.
#
OVOCMD="/opt/OV/bin/OpC/opcmsg"
OVOAPP="DRLM"
OVOSEV="Major"
OVOOBJ="OS"
OVOMSGGRP="LINUX"
Note
The configuration on the server side is not in the scope of this documentation. Please check HPOM (OVO) documentation to configure properly the server side and define how to report DRLM alerts.
Network Operations¶
DRLM can make backups of clients in different networks. So the first step we have to do for the proper functioning of DRLM is register the networks in which later we will register the clients.
DRLM network operations allow us to add, remove, modify and list network of database.
Add Network¶
This command is used to add networks to DRLM database. It is called like this:
$ drlm addnetwork [options]
The drlm addnetwork has some requiered options:
-
-n
network_name
,
--netname
network_name
¶ Select Network name to add.
-
-g
gateway_ip
,
--gateway
gateway_ip
¶ Network gateway IP address.
-
-m
network_mask
,
--mask
network_mask
¶ Network mask
-
-s
server_ip
,
--server
server_ip
¶ Server IP address.
Additional options:
-
-i
ip
,
--ipaddr
ip
¶ Network IP address.
Examples:
$ drlm addnetwork -g 13.74.90.1 -m 255.255.255.0 -s 13.74.90.222 -n vlan12 $ drlm addnetwork --gateway 13.74.90.1 --mask 255.255.255.0 --server 13.74.90.222 -n vlan12 $ drlm addnetwork --ipaddr 13.74.90.0 -g 13.74.90.1 -m 255.255.255.0 --server 13.74.90.222 -n vlan12
Help options:
-
-h
,
--help
¶
Show drlm addnetwork help.
Examples:
$ drlm addnetwork -h $ drlm addnetwork --help
Delete Network¶
This command is used to delete networks from DRLM database. It is called like this:
$ drlm delnetwork [options]
The drlm delnetwork has some options:
-
-n
network_name
,
--netname
network_name
¶ Select Network to delete by NAME.
Examples:
$ drlm delnetwork -n vlan12 $ drlm delnetwork -name vlan12
-
-I
network_id
,
--id
network_id
¶ Select Network to delete by ID.
Examples:
$ drlm delnetwork -I 12 $ drlm delnetwork --id 12
Help options:
-
-h
,
--help
¶
Show drlm delnetwork help.
Examples:
$ drlm delnetwork -h $ drlm delnetwork --help
Modify Network¶
This command is used to modify networks from DRLM database. It is called like this:
$ drlm modnetwork [options]
The drlm modnetwork has some required options:
-
-n
network_name
,
--netname
network_name
¶ Select Network to change by NAME.
-
-I
network_id
,
--id
network_id
¶ Select Network to change by ID.
Additional options:
-
-g
gateway_ip
,
--gateway
gateway_ip
¶ Set new GATEWAY address to network.
Examples:
$ drlm modnetwork -I 12 -g 13.74.91.1 $ drlm modnetwork --id 12 --gateway 13.74.91.1 $ drlm modnetwork -n vlan12 -g 13.74.91.1 $ drlm modnetwork --netname vlan12 --gateway 13.74.91.1
-
-m
network_mask
,
--mask
network_mask
¶ Assign new MASK to network.
Examples:
$ drlm modnetwork -I 12 -m 255.255.0.0 $ drlm modnetwork --id 12 -m 255.255.0.0 $ drlm modnetwork -n vlan12 -m 255.255.0.0 $ drlm modnetwork --netname vlan12 --mask 255.255.0.0
-
-s
server_ip
,
--server
server_ip
¶ Assign new SERVER to network.
Examples:
$ drlm modnetwork -I 12 -s 13.74.91.221 $ drlm modnetwork --id 12 --server 13.74.91.221 $ drlm modnetwork -n vlan12 -s 13.74.91.221 $ drlm modnetwork --netname vlan12 --server 13.74.91.221
Note
You can conbine all necessary options in only one command for example: $ drlm modnetwork -n vlan12 -s 13.74.91.221 -m 255.255.0.0 -g 13.74.91.1
Help option:
-
-h
,
--help
¶
Show drlm modnetwork help.
Examples:
$ drlm modnetwork -h $ drlm modnetwork --help
List Networks¶
This command is used to list the networks from DRLM database. It is called like this:
$ drlm listnetwork [options]
The drlm listnetwork has some options:
-
-n
network_name
,
--netname
network_name
¶ Select Network to list.
Examples:
$ drlm listnetwork -n vlan12 $ drlm listnetwork --netname vlan12
-
-A
,
--all
¶
List all networks. This option is set by default if any option is specified.
Examples:
$ drlm listnetwork $ drlm listnetwork -A $ drlm listnetwork -all
Help options:
-
-h
,
--help
¶
Show drlm listnetwork help.
Examples:
$ drlm listnetwork -h $ drlm listnetwork --help
Client Operations¶
DRLM client operations allow us to add, remove, modify and list clients of database.
Add Client¶
This command is used to add clients to DRLM database. It is called like this:
$ drlm addclient [options]
If the client you wish to add is online (network reachable), you will only need to set its IP in CIDR notation in order to add it to the database. It will then automatically fetch and prompt all the required client parameters (hostname, network and MAC address), leaving to you the option to keep and save those parameters or to enter them manually in case you refuse.
In this case, the drlm addclient has the following required options:
-
-i
ip_in_CIDR_format
,
--ipaddr
ip_in_CIDR_format
¶ Examples:
$ drlm addclient -i 192.168.0.15/24
If the drlm addclient does not correctly fetch the client’s hostname, you can set it manually in the same command.
Examples:
$ drlm addclient -i 192.168.0.15/24 -c rear-debian
-
-I
,
--installclient
¶
If the client is network reachable you can also automatically install the client when is added to DRLM. So in only one command the client is added and installed. Installclient have additional options than you can add behind the -I. For more information about Installclient read the “Install Client” section.
Examples:
$ drlm addclient -i 192.168.0.15/24 -I $ drlm addclient -i 192.168.0.15/24 -c rear-debian -I $ drlm addclient -i 192.168.0.15/24 -c rear-debian -I -u root -U http://url.to.rear/download
If the client is not network reachable when you want to register it in the database or you wish to manually enter all the required parameters, you can do it with the required options available:
-
-c
client_name
,
--client
client_name
¶ Set the client’s name.
Note
It is not mandatory, but recommended that the client_name is the same as the client hostname.
-
-i
ip
,
--ipaddr
ip
¶ Client IP address (not in CIDR notation if you are manually adding all the required parameters).
-
-M
mac_address
,
--macaddr
mac_address
¶ Client MAC address.
-
-n
network_name
,
--netname
network_name
¶ Client NETWORK.
Examples:
$ drlm addclient -c clientHost1 -M 00-40-77-DB-33-38 -i 13.74.90.10 -n vlan12 $ drlm addclient --client clientHost1 --macaddr 00-40-77-DB-33-38 -i 13.74.90.10 -n vlan12
Warning
If the network_name doesn’t exist in DRLM database you will get an error. First of all register the network where the client will be registered.
Help option:
-
-h
,
--help
¶
Show drlm addclient help.
Examples:
$ drlm addclient -h $ drlm addclient --help
Install Client¶
This command is used to install and configure DRLM and ReaR on a remote Server. It is called like this:
$ drlm instclient [options]
The drlm instclient has some requiered options:
-
-c
client_name
,
--client
client_name
¶ Select Client name to add.
-
-I
client_id
,
--id
client_id
¶ Client Id.
Additional options:
-
-u
user
,
--user
user
¶ User with admin privileges to install and configure software
Note
if not user is specified root will be used.
-
-U
url_rear
,
--url_rear
url_rear
¶ rpm or deb package for specific distro. For example http://download.opensuse.org/repositories/Archiving:/Backup:/Rear/Debian_7.0/all/rear_1.17.2_all.deb
Note
If not url is specified will be used the package defined in “REAR DEB PACKAGE URL” section of /usr/share/drlm/conf/default.conf
Examples:
$ drlm instclient -c ReaRCli1 -u admin -U http://download.opensuse.org/repositories/Archiving:/Backup:/Rear/Debian_7.0/all/rear_1.17.2_all.deb $ drlm instclient -c ReaRCli2
Help option:
-
-h
,
--help
¶
Show drlm instclient help.
Examples:
$ drlm instclient -h
Delete Client¶
This command is used to delete clients from DRLM database. It is called like this:
$ drlm delclient [options]
The drlm delclient has some required options:
-
-c
client_name
,
--client
client_name
¶ Select Client to delete by NAME.
-
-I
client_id
,
--id
client_id
¶ Select Client to delete by ID.
Examples:
$ drlm delclient -c clientHost1 $ drlm delclient --client clientHost1 $ drlm delclient -I 12 $ drlm delclient --id 12
Help option:
-
-h
,
--help
¶
Show drlm delclient help.
Examples:
$ drlm delclient -h $ drlm delclient --help
Modify Client¶
This command is used to modify clients from DRLM database. It is called like this:
$ drlm modclient [options]
The drlm modclient has some required options:
-
-c
client_name
,
--client
client_name
¶ Select Client to change by NAME
-
-I
client_id
,
--id
client_id
¶ Select Client to change by ID
Additional options:
-
-i
ip
,
--ipaddr
ip
¶ Set new IP address to client.
Examples:
$ drlm modclient -c clientHost1 -i 13.74.90.10
-
-M
mac_address
,
--macaddr
mac_address
¶ Set new MAC address to client.
Examples:
$ drlm modclient -c clientHost1 -M 00-40-77-DB-33-38 $ drlm modclient --client clientHost1 --macaddr 00-40-77-DB-33-38 $ drlm modclient -I 12 --macaddr 00-40-77-DB-33-38 $ drlm modclient --id 12 -M 00-40-77-DB-33-38
-
-n
network_name
,
--netname
network_name
¶ Assign new NETWORK to client.
Examples:
$ drlm modclient -c clientHost1 -n vlan12 $ drlm modclient --client clientHost1 --netname vlan12 $ drlm modclient -I 12 --netname vlan12 $ drlm modclient --id 12 -n vlan12
Help option:
-
-h
,
--help
¶
Show drlm modclient help.
Examples:
$ drlm modclient -h $ drlm modclient --help
List Clients¶
This command is used to list the clients stored at the database. It is called like this:
$ drlm listclient [options]
The drlm listclient has some options:
-
-c
client_name
,
--client
client_name
¶ Select Client to list.
Examples:
$ drlm listclient -c clientHost1 $ drlm listclient --client clientHost1
-
-A
,
--all
¶
List all clients. This option is set by default if any option is specified.
Examples:
$ drlm listclient $ drlm listclient -A $ drlm listclient --all
Help option:
-
-h
,
--help
¶
Show drlm listclient help.
Examples:
$ drlm listclient -h $ drlm listclient --help
Backup Operations¶
DRLM backup operations allow us to remotely create new backups of clients, enable and disable restore points and make listings of backups created among other things.
Run Backup¶
This command is used to Run remote client backup from DRLM. It is called like this:
$ drlm runbackup [options]
The drlm runbackup has several options:
-
-c
client_name
,
--client
client_name
¶ Select Client to remotely run backup by name.
Examples:
$ drlm runbackup -c clientHost1 $ drlm runbackup --client clientHost1
-
-I
client_id
,
--id
client_id
¶ Select Client to remotely run backup by ID.
Examples:
$ drlm runbackup -I 12 $ drlm runbackup --id 12
Help option:
-
-h
,
--help
¶
Show drlm runbackup help.
Examples:
$drlm runbackup -h $drlm runbackup --help
Delete Backup¶
This command is used to delete backups from DRLM database. It is called like this:
$ drlm delbackup [options]
Warning
To remove a backup, it must be disabled.
The drlm delbackup has some required options:
-
-c
client_name
,
--client
client_name
¶ Select Client to delete the backups.
-
-I
backup_id
,
--id
backup_id
¶ Select Backup to delete by ID.
-
-A
,
--all
¶
Delete All backup.
Examples:
$ drlm delbackup -I 1.2015030121245 $ drlm delbackup --id 1.2015030121245 $ drlm delbackup -c clientHost1 -A $ drlm delbackup --client clientHost1 --all
Help option:
-
-h
,
--help
¶
Show drlm delbackup help.
Examples:
$ drlm delbackup -h $ drlm delbackup --help
List Backups¶
This command is used to list the backups that we have stored on the server. It is called like this:
$ drlm listbackup [options]
The drlm listbackup has some options:
-
-c
client_name
,
--client
client_name
¶ Select Client to list its backups.
Examples:
$ drlm listbackup -c clientHost1 $ drlm listbackup --client clientHost1
-
-A
,
--all
¶
List all backups. This option is set by default if any option is specified.
Examples:
$ drlm listbackup $ drlm listbackup -A $ drlm listbackup --all
Help option:
-
-h,--help
¶
Show this help
Examples:
$ drlm listbackup -h $ drlm listbackup --help
Backup Manager¶
This command is used to enable or disable client restore points. Is also used to set a restore point by default. It is called like this:
$ drlm bkpmgr [options]
The drlm bkpmgr has some required options:
-
-I
backup_id
,
--id
backup_id
¶ Select Backup ID to modify
-
-e
,
--enable
¶
Enable Backup
-
-d
,
--disable
¶
Disable Backup
Examples:
$drlm bkpmgr -I 1.20140519065512 -e $drlm bkpmgr -I 1.20140519065512 -d $drlm bkpmgr --id 1.20140519065512 -e
Help option:
-
-h
,
--help
¶
Show drlm bkmgr help.
Examples:
$ drlm bkmgr -h $ drlm bkmgr --help
Export/Import Backups¶
Since version 2.1.0 the possibility to import or export backups from other DRLM servers has been added. To export a backup:
Export Backups¶
This command is used to export a backup that we have stored on the server. It is called like this:
$ drlm expbackup [options]
The drlm expbackup has the following required options:
-
-I
backup_id
,
--id
backup_id
¶ Enter the backup ID you would like to export.
-
-f
destination_file
,
--file
destination_file
¶ Enter the output path in which you would like to export the backup,
Examples:
$ drlm expbackup -I 2.20170125103105 -f /tmp/export.dr
You could now save or copy the exported backup to another DRLM server.
Help option:
-
-h
,
--help
¶
Shows help menu.
Examples:
$ drlm expbackup -h $ drlm expbackup --help
Import Backups¶
This command is used to import a backup that we have received from other DRLM server. It is called like this:
$ drlm impbackup [options]
The drlm impbackup has the following required options:
-
-c
client_name
,
--client
client_name
¶ You need to first register the client in the database before importing an exported DRLM backup.
-
-f
file
,
--file
file
¶ Set the destination path of the backup to import.
Examples:
$ drlm impbackup --client rear-debian -f /tmp/export.dr
Help option:
-
-h
,
--help
¶
Shows help menu.
Examples:
$ drlm expbackup -h $ drlm expbackup --help
Backup Job Scheduler¶
Since version 2.1.0 backup tasks can be scheduled. The drlm backup scheduler allows you to add, list and delete scheduled jobs. You can also enable or disable the schedule function (by default it is enabled). You can set backup operations to run on a specified date and time by running:
Add Jobs¶
This command is used to plan backup jobs in DRLM. It is called like this:
$ drlm addjob [options]
Required options:
-
-c
client_name
,
--client
client_name
¶ Client for which you want to run a scheduled backup.
-
-s
start_date
,
--start_date
start_date
¶ Start date and time for the scheduled backup. Format: YYYY-MM-DDTHH:MM
Optional arguments:
-
-e
end_date
,
--end_date
end_date
¶ End date and time for the scheduled backup. Format: YYYY-MM-DDTHH:MM
-
-r
repeat_time
,
--repeat
repeat_time
¶ This argument specifies the time a backup will be performed between the start and the end date of a scheduled backup (if any end_date is set). You can specify the repeating pattern in min(s) or minute(s), hour(s), day(s), week(s), month(s) and year(s).
Examples:
$ drlm addjob -c rear-debian -s 2017-01-30T21:00 $ drlm addjob --client rear-centos -s 2017-02-03T08:00 -e 2017-02-05T23:00 -r 1hour
Help option:
-
-h
,
--help
¶
Shows help menu.
Examples:
$ drlm addjob -h $ drlm addjob --help
List Jobs¶
This command is used to list backup jobs planned in DRLM. It is called like this:
$ drlm listjob [options]
-
-J
job_id
,
--job_id
job_id
¶ To list a job by its ID.
-
-c
client_name
,
--client
client-name
¶ To list all the jobs scheduled for a specific client.
-
-A
,
--all
¶
To list all the active scheduled jobs.
Examples:
$ drlm listjob -A $ drlm listjob -c rear-suse $ drlm listjob --job_id 3
Help option:
-
-h
,
--help
¶
Shows help menu.
Examples:
$ drlm listjob -h $ drlm listjob --help
Delete Jobs¶
This command is used to delete planned backup jobs in DRLM. It is called like this:
$ drlm deljob [options]
-
-c
client_name
,
--client
client_name
¶ To delete all scheduled jobs for a specific client.
-
-J
job_id
,
--job_id
job_id
¶ To delete a specific scheduled backup job.
Examples:
$ drlm deljob -J 5 $ drlm deljob -c rear-centos
Help option:
-
-h
,
--help
¶
Shows help menu.
Examples:
$ drlm deljob -h $ drlm deljob --help
Scheduler Management¶
With this command you can enable or disable the job scheduler facility or force to run jobs planned at “now” by running:
drlm sched [options]
-
-e
,
--enable
¶
Enables job scheduler utility.
-
-d
,
--disable
¶
Disables job scheduler utility.
-
-r
,
--run
¶
Runs all planned jobs (starting from the nearest date).
Examples:
$ drlm sched -e $ drlm sched -r
Help option:
-
-h
,
--help
¶
Shows help menu.
Examples:
$ drlm sched -h $ drlm sched --help
Building GRUB2 for diferent platfoms¶
Since DRLM version 2, we moved to GRUB2 to provide the netboot images to start ReaR recovery images from network. This movement was the first step to provide support for mulitple platforms for GNU/Linux because GRUB2 supports multiple architerctures.
At this time DRLM built packages include all documented platforms in this guide.
Prepare your build host¶
Note
This document describes the process of building DRLM GRUB2 netboot images for diferent platforms with a debian machine. The process should be the same on other distros, just adjusting package dependecies for target distro and install them with the package management tools provided by each distro should work without problems.
Install required packages¶
$ apt-get install bison libopts25 libselinux1-dev autogen \
m4 autoconf help2man libopts25-dev flex libfont-freetype-perl \
automake autotools-dev libfreetype6-dev texinfo
Download GRUB2 sources¶
$ cd /usr/src
$ wget http://alpha.gnu.org/gnu/grub/grub-2.02~beta3.tar.gz
$ tar -xzvf grub-2.02~beta3.tar.gz
$ cd grub-2.02~beta3
Start build process¶
Warning
All documented grub2 image builds are included in drlm packages, this document will be a kind of guide for troubleshooting and testing on new GRUB2 versions and also a guide to, contributors of future drlm grub2 images, on new supported platforms to the project.
Provide DRLM branded GRUB2 build¶
$ vi grub-core/normal/main.c
.. replace:
msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
.. with:
msg_formatted = grub_xasprintf (_("DRLM Boot Manager (GNU GRUB2)"), PACKAGE_VERSION);
Prepare your build environment:¶
$ ./autogen.sh
On next steps we will proceed with configuration and build for each platform needed.
For i386-pc:¶
$ ./configure --disable-werror
$ make && make install
$ /usr/local/bin/grub-mknetdir -d /usr/local/lib/grub/i386-pc --net-directory=/tmp
Netboot directory for i386-pc created. Configure your DHCP server to point to /tmp/boot/grub/i386-pc/core.0
For 32-bit EFI:¶
$ ./configure --with-platform=efi --target=i386 --disable-werror
$ make && make install
$ /usr/local/bin/grub-mknetdir -d /usr/local/lib/grub/i386-efi --net-directory=/tmp
Netboot directory for i386-efi created. Configure your DHCP server to point to /tmp/boot/grub/i386-efi/core.efi
For 64-bit (U)EFI:¶
$ ./configure --with-platform=efi --target=x86_64 --disable-werror
$ make && make install
$ /usr/local/bin/grub-mknetdir -d /usr/local/lib/grub/x86_64-efi --net-directory=/tmp
Netboot directory for x86_64-efi created. Configure your DHCP server to point to /tmp/boot/grub/x86_64-efi/core.efi
Create a tarball with targeted platform netboot image¶
$ cd /tmp
$ tar -cvzf drlm_grub2_<target>-<platform>.tar.gz boot/
Note
This gzipped tarball can be extracted to DRLM $STORDIR on your DRLM server, for testing purposes or to provide support to new platforms not yet provided by DRLM package builds.
Note
This section should change continously due to changes in DRLM development, please be patient. Any question regarding DRLM development, please use DRLM Dev Forum. Thanks!
About DRLM Docs¶
DRLM Docs contains comprehensive documentation on the DRLM (Disaster Recovery Linux Manager). This page describes documentation’s licensing, editions, and versions, and describes how to contribute to the DRLM Docs.
For more information on DRLM, see About DRLM Project. To download DRLM, see the downloads page.
License¶
This documentation is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (i.e. “CC-BY-NC-SA”) license.
The DRLM Manual is copyright © 2018 Brain Updaters, S.L.L.
Contributing¶
Please, we encourage you to help us to improve this documentation.
To contribute to documentation the Github interface enables users to report errata or missing sections, discuss improvements and new sections through the issue-tracker at: DRLM Docs GitHub Issue Tracker.
Product Features¶
The following features are supported on the most recent releases of DRLM. Anything labeled as (NEW!) was added as the most recent release. New functionality for previous releases can be seen in the next chapter that details each release.
Hot maintenance capability. A client backup can be made online while the system is running.
Command line interface. DRLM doesnot require a graphical interface to run. (console is enough).
Multiarch netboot client support (x86_64-efi, i386-efi, i386-pc)
Automatic client intallation from DRLM server
Parallel backups
Error reporting support to:
- HP OpenView
- Nagios (NSCA & NSCA-ng)
- Zabbix
Centralized backup scheduling with a job scheduler
Export and Import backup between DRLM servers or DRLM clients
Real time clients log in DRLM server
DRLM Version 2.2.1 (October 2018) - Release Notes¶
- Updated ssh_install_rear_xxx funcitons (issue #62).
- Ubuntu 18.04 support (issue #81).
- Fixed Mac address change not reflected on PXE (issue #65).
- Solve certificate deployment to clients (issue #66).
- Improve sched log cleanups (issue #67).
- Improve addclient and addnetwork database ID allocation (issue #69).
- New variable SSH_PORT has been created on default.conf to allow user to choose the ssh port (issue #70)
- Improve security on HTTP server getting the client config (issue #76).
- Delete client related jobs in delclient workflow (issue #82).
- Updated timeout for drlm-stord.service (issue #74).
- Modnetwork server ip now modify client.cfg files (issue #77).
- In modnetwork if netmask is not specified is taken database saved netmask.
- In addnetwork if network IP is not specified will be calculated (issue #84).
- Problem with PXE folder file parsing fixed (issue #86).
- Automatically remove DR files after failed backup (issue #90).
DRLM Version 2.2.0 (September 2017) - Release Notes¶
- “Make deb” improved deleting residual files.
- NEW Real time clients log in DRLM server.
- NEW bash_completion feature added to facilitate the use.
- It is possible to perform a “rear recover” without the parameters DRLM_SERVER, REST_OPTS and ID.
- listbackup, listclient and listnetwork with “-A” parameter by default.
- SSH_OPTS variable created in default.conf for remove hardcoded ssh options.
- Debian 9 compatibility added.
- Improved client configuration template.
- Improved treatment of deleted client backups
DRLM Version 2.1.3 (May 2017) - Release Notes¶
- Update Debian 6 installclient dependencies. (issue #57)
- Now “apt-get update” is done before “apt-get install” in instclient debian workflow.
- Set global UMASK value for all DRLM creating files durting execution.
DRLM Version 2.1.2 (March 2017) - Release Notes¶
- SUDO_CMDS_DRLM added in default.conf allowing to easy add new sudo commands.
- Automatic creation of /etc/sudoers.d if not exists on systems RedHat/CenOS 5.
- Fixed some errors for dependencies on default.conf.
- DRLM_USER variable deleted on addclient and help.
- Added sudo for command stat to allow check size on File Systems without perms.
- Sudo configuration files are dynamically created according to the OS type.
- Solved problem for start services with non root user.
DRLM Version 2.1.1 (February 2017) - Release Notes¶
- Solved some of bugs. (issue #49, #50)
- No Client ID required for delete backups. (issue #40)
- No Client ID required for manage backups. (issue #46)
- bkpmgr: Persistent mode deleted.
- Solved PXE files: forced console=ttyS0 in kernel options. (issue #52)
- Solved hardcoded PXE filenames (initrd.xz (lzma) now supported). (issue #52)
- While recommended, It ain’t mandatory to use hostname as client_name. (issue #52)
- Solved drlm user hardcoded in installclient. (issue #51)
- NAGSRV and NAGPORT added in default.conf.
DRLM Version 2.1.0 (February 2017) - Release Notes¶
- DRLM reporting with nsca-ng, nsca. (issue #47)
- DRLM Server for SLES. (issue #45)
- Support for drlm unattended installation (instclient) on Ubuntu (issue #43)
- NEW Import & Export DR images between DRLM servers. (issue #39)
- Pass DRLM global options to ReaR. (issue #37)
- New DRLM backup job scheduler (issue #35)
- Addclient install mode (automatize install client after the client creation) (issue #32)
- Solved lots of bugs
DRLM Version 2.0.0 (July 2016) - Release Notes¶
- Multiarch netboot with GRUB2 - x86_64-efi i386-efi i386-pc - (issue #2)
- New installclient workflow (issue #5)
- Added support for systemd distros - RHEL7 CentOS7 Debian8 - (issue #14)
- Use bash socket implementation instead of netcat (issue #15)
- runbackup workflow enhacement with sparse raw images with qemu-img reducing backup time and improving management (issue #16)
- Added support for parallel backups on DRLM (issue #22)
- Added support for new DB backend sqlite3 (issue #23)
- Added support for Nagios error reporting (issue #28)
- Added support for Zabbix error reporting (issue #29)
- Added support for Mail error reporting (issue #30)
- Added timeout var for Sqlite in sqlite3-driver.sh for avoiding database locks.
- Added source of local.conf and site.conf files in drlm-stord
- Solved lots of bugs
- DRLM documentation updated to reflect version 2.0 changes
Note
This documentation is under constant development. Please be patient…