Networker

[Networker] Running NetWorker 7.2.1 on an unsupported (Gentoo) Linux with 2.6 kernel

2006-04-10 11:07:07
Subject: [Networker] Running NetWorker 7.2.1 on an unsupported (Gentoo) Linux with 2.6 kernel
From: Davina Treiber <DavinaTreiber AT PEEVRO.CO DOT UK>
To: NETWORKER AT LISTSERV.TEMPLE DOT EDU
Date: Mon, 10 Apr 2006 16:00:18 +0100
I thought I would share some experience with the list, since it wasn't easily acquired.

My Linux of choice is Gentoo. I like it because the Portage system makes it easy to keep a system up-to-date without having to re-install every few years, and because it's optimised for any particular platform. It's also what I want it to be rather than someone else's idea of how I want to administrate my system. Of course Gentoo is not on EMC/Legato's list of supported systems, it's just too niche for that. Over the past months I've been working on getting my Gentoo systems to work well with NetWorker.

(1) Installing packages.
Just running a Gentoo machine as a NetWorker client is relatively straightforward. All that is necessary is to take the distributed RPM and extract the files to the correct directory. Although it is possible to install the RPM software on a Gentoo box, there is no real benefit, since none of the RPM dependencies will be satisfied so the package would need to be installed with the --nodeps flag anyway. It is simpler to convert the RPM to a tarball. This can be done using the rpm2targz program, if this is not already installed on your gentoo system you can install it using portage, just run "emerge rpm2targz".
So to install the client you would need to do:
rpm2targz lgtoclnt-7.2.1-1.i686.rpm
cd /
tar zxvf lgtoclnt-7.2.1-1.i686.tar.gz

(2) NetWorker startup script
Installing from a tarball does not install a startup script and even if it did it would not work with Gentoo. A modified startup script is required. Create a file called /etc/init.d/networker containing:

#!/sbin/runscript

# description: Legato Networker. A backup and restoration software package.

depend() {
        need net
}

start() {
(echo 'starting NetWorker daemons:') > /dev/console
if [ -f /usr/sbin/nsrexecd ]; then
        (/usr/sbin/nsrexecd) > /dev/console 2>&1
        (echo ' nsrexecd') > /dev/console
fi
if [ -f /usr/sbin/lgtolmd ]; then
        (/usr/sbin/lgtolmd -p /nsr/lic -n 1) > /dev/console 2>&1
        (echo ' lgtolmd') > /dev/console
fi
if [ -f /usr/sbin/nsrd -a ! -f /usr/sbin/NetWorker.clustersvr ]; then
        (/usr/sbin/nsrd) > /dev/console 2>&1
        (echo ' nsrd') > /dev/console
fi
}

stop() {
(echo 'stopping NetWorker daemons:') > /dev/console
if [ -f /usr/sbin/nsr_shutdown ]; then
        if [ -f /usr/sbin/NetWorker.clustersvr ]; then
                (/usr/sbin/nsr_shutdown -c -a -q) > /dev/console 2>&1
                (echo ' nsr_shutdown -c -a -q') > /dev/console
        else
                (/usr/sbin/nsr_shutdown -a -q) > /dev/console 2>&1
                (echo ' nsr_shutdown -a -q') > /dev/console
        fi
fi
}

and then add it to your default runlevel using:
rc-update add networker default

You also need to create a /nsr/res/servers file, you should always have a valid (not empty) servers file for security reasons.

(3) Making your Gentoo box a server or storage node.
Making a Gentoo box function as a NetWorker server is simple, just install extra packages (server and node) in the same way as you installed the client package. If all you need to do is to backup to adv_file devices then you have finished. However SCSI tapes with a 2.6 kernel adds a layer of complexity. All the Legato supported Linux flavours until now have been running on 2.4 kernels - it seems that commercial users of Linux are reluctant to move to 2.6.

(4) Configure and install a kernel with drivers for your SCSI card(s) plus support for SCSI tapes (st) and SCSI generic (sg), either compiled in or as modules. In my case I tried a variety of versions of the kernel and various versions of the aic7xxx driver for my Adaptec 2944UW card. There are three versions of the aic7xxx driver to choose from, the new and the old version in the kernel and the one that can be downloaded from Adaptec's web site. I found two combinations that worked: a vanilla 2.6.11 kernel with the downloaded aic7xxx driver, and a Gentoo 2.6.15-r1 kernel with the new aic7xxx driver - I chose the latter. However both of these suffer from occasional delays when running commands such as nsrjb, sometimes a 3 or 4 minute delay. This is annoying but not a show stopper in my case as I am using only a small environment (STK9730 with one DLT7000). I am thinking of trying a different SCSI card but there's not much choice of HVD SCSI cards on eBay (suggestions appreciated).

(5) Link in libscsi.
If you are using SCSI tapes you will of course have installed the lgtodrvr package. The missing piece of this installation is to configure the dynamic linker. Editing /etc/ld.so.conf won't work because this is a generated file which will be frequently overwritten. I created a file called /etc/env.d/80networker containing:
LDPATH=/usr/lib/nsr
and then ran ldconfig.

(6) We should be finished. We should have a working system that will start NetWorker and allow use of SCSI tape drives on boot. The pure Gentoo approach would be to build the NetWorker packages into portage so that all the above could be taken care of by running an emerge, but I'm not sure what the legal position would be.

To sign off this list, send email to listserv AT listserv.temple DOT edu and type 
"signoff networker" in the
body of the email. Please write to networker-request AT listserv.temple DOT edu 
if you have any problems
wit this list. You can access the archives at 
http://listserv.temple.edu/archives/networker.html or
via RSS at http://listserv.temple.edu/cgi-bin/wa?RSS&L=NETWORKER

<Prev in Thread] Current Thread [Next in Thread>
  • [Networker] Running NetWorker 7.2.1 on an unsupported (Gentoo) Linux with 2.6 kernel, Davina Treiber <=