Centuries ago, or at least in 2006, I worked at a fairly large EMC NetWorker site, looking after an ADIC (now Quantum) i2000 with 300 slots and 10 LTO-2 drives. It was a lot of fun when things went wrong, as they invariably did. So occasionally I had to use NetWorker tools to perform configuration or rectification activities on said library d’enfer. I don’t for a moment pretend to be an expert with Networker. Nor am I necessarily super competent with backup and recovery in general. As I’ve mentioend previously, if you want to know about backup and recovery, buy a copy of Preston’s book. Fortunately for us, he has also started a NetWorker-focused blog, so I don’t need to pretend I know much about the product.
The one thing I did like about NetWorker was its extensive array of command-line tools. For a brief (and somewhat dated) overview of these commands, check out this site. But back to my story. I’ve been doing some migration work for a customer with ESX / NetWorker / some CLARiiONs and needed to introduce a new library to their backup host. For some reason, when we added the drivers for the new library, it tried (and failed) to update the drivers on the old library as well. As a result of this, NetWorker started having conniptions, and the two Dedicated Storage Nodes attached to the library weren’t particularly happy either. So the client decided we should tear it down and only present the old library to the NetWorker server. Not necessarily the path I would have preferred to take, as I’ll have to clean it up next weekend, but it was getting late on Sunday night and we were all keen to not have to deal with this problem.
So, the point of my story is that you can use a tool called jbconfig (the jukebox resource configuration tool) to configure libraries for NetWorker via the CLI. Note that you need to have drivers loaded on the host prior to configuring NetWorker – this ain’t no Backup Exec. So here’s an example of what you might see when running jbconfig, assuming that the library hasn’t been configured previously.
C:\Documents and Settings\user>jbconfig
Jbconfig is running on host backuphost.internal (Windows Server
2003 5.2),
and is using backuphost.internal as the NetWorker server.
1) Configure an AlphaStor Library.
2) Configure an Autodetected SCSI Jukebox.
3) Configure an Autodetected NDMP SCSI Jukebox.
4) Configure an SJI Jukebox.
5) Configure an STL Silo.
6) Configure a Microsoft Removable Storage Jukebox.
What kind of Jukebox are you configuring? [1] 2
14484:jbconfig: Scanning SCSI buses; this may take a while …
These are the SCSI Jukeboxes currently attached to your system:
1) scsidev@2.2.1: Standard SCSI Jukebox, DELL / PV-132T
2) scsidev@2.6.1: Standard SCSI Jukebox, IBM / 3573-TL
Which one do you want to install? 1
Installing ‘Standard SCSI Jukebox’ jukebox – scsidev@2.2.1.
What name do you want to assign to this jukebox device? pv132t
15814:jbconfig: Attempting to detect serial numbers on the jukebox and drives ..
.
15815:jbconfig: Will try to use SCSI information returned by jukebox to configur
e drives.
Turn NetWorker auto-cleaning on (yes / no) [yes]?
The following drive(s) can be auto-configured in this jukebox:
1> LTO Ultrium-2 @ 2.2.2 ==> \\.\Tape0
2> LTO Ultrium-2 @ 2.2.3 ==> \\.\Tape1
These are all the drives that this jukebox has reported.
To change the drive model(s) or configure them as shared or NDMP drives,
you need to bypass auto-configure. Bypass auto-configure? (yes / no) [no] yes
Is (any path of) any drive intended for NDMP use? (yes / no) [no]
Is any drive going to have more than one path defined? (yes / no) [no] yes
You will be prompted for multiple paths for each drive.
Pressing <Enter> on a null default advances to the next drive.
Please enter the device path information in one of the following formats:
\\.\Tape0 –for local path or
host:device-path –for remote node or NDMP device(s) or
host:drive-letter:directory path –for Windows disk file
Drive 1, element 256, system device name = \\.\Tape0,
local bus, target, lun value = 2.2.2,
ATNN=IBM ULTRIUM-TD2 1110256727 model LTO Ultrium-2
Device path 1 ? [\\.\Tape0]
This path already exists in the database. Proceed with the same path?
(yes / no) [yes]
Device path 2 ? dsn01:\\.\Tape0
Device path 3 ? dsn02:\\.\Tape0
Device path 4 ?
Drive 2, element 257, system device name = \\.\Tape1,
local bus, target, lun value = 2.2.3,
ATNN=IBM ULTRIUM-TD2 1110257072 model LTO Ultrium-2
Device path 1 ? [\\.\Tape1]
This path already exists in the database. Proceed with the same path?
(yes / no) [yes]
Device path 2 ? dsn01:\\.\Tape1
Device path 3 ? dsn02:\\.\Tape1
Device path 4 ?
Only model LTO Ultrium-2 drives have been detected.
Are all drives in this jukebox of the same model? (yes / no) [yes]
14421:jbconfig:
A Dedicated Storage Node can backup only local data to its devices.
Should dsn02 be configured as a Dedicated Storage Node? (yes / no) [no] yes
14421:jbconfig:
A Dedicated Storage Node can backup only local data to its devices.
Should dsn01 be configured as a Dedicated Storage Node? (yes / no) [no] yes
14416:jbconfig:
Found device \\.\Tape0 already configured in NetWorker.
Delete existing definition? (yes / no) [no] yes
14416:jbconfig:
Found device \\.\Tape1 already configured in NetWorker.
Delete existing definition? (yes / no) [no] yes
Jukebox has been added successfully
The following configuration options have been set:
> Jukebox description to the control port and model.
> Autochanger control port to the port at which we found it.
> Networker managed tape autocleaning on.
> At least one drive was defined with multiple paths. All such drives are
defined with a hardware identification as well as a path value to avoid
confusion by uniquely identifying the drive. The hardware identification
for all drives which have one is always ‘autochanger_name – Drive #’ where
“autochanger_name” is the name you gave to the autochanger that was
just defined, and the # symbol is the drive number.
> Barcode reading to on.
> Volume labels that match the barcodes.
> Slot intended to hold cleaning cartridge to 22. Please insure that a
cleaning cartridge is in that slot
> Number of times we will use a new cleaning cartridge to 50.
> Cleaning interval for the tape drives to 6 months.
You can review and change the characteristics of the autochanger and its
associated devices using the NetWorker Management Console.
Would you like to configure another jukebox? (yes/no) [no]
Note that even though we’d deleted the library from the NMC previously, the definitions for Tape0 and Tape1 were still present in the NetWorker configuration. I’m trying to recall whether if I deleted the library using jbedit the results would be the same.
Once you’ve setup the library using jbconfig, you should run jbverify to “check jukebox/device configurations in NetWorker”. This will identify whether you got the order of devices correct, particularly for the Dedicated Storage Nodes. Of course, one way to make sure you have everything matched up is to run inquire on each attached node prior to launching into a jbconfig session. But sometimes you don’t realise these things until you’ve done it a few times …