IRIX NetWorker Silo Module

Please read this guide before installing silo support for IRIX NetWorker Power Edition.

The silo module is delivered as part of IRIX NetWorker 4.2.9-B. Silo support is included in the networker4.sw.server product image. To run the silo module, you need to purchase a silo license, insert the FLEXlm license lines into /var/flexlm/license.dat, and activate the license using nsrcap -v (see the IRIX NetWorker Installation Guide for instructions).

Silo Support Overview

A silo tape library (STL) is a peripheral machine that contains many storage devices. Silos are controlled by silo management software provided by the silo vendor and installed on a custom server. The silo server cannot be the same machine as the NetWorker server.

The slots and drives in a silo can be shared by many applications and network systems. Silos can load, change, and manage volumes, as well as clean drives automatically. Like autochangers, silos help automate data and media operations. Unlike autochangers, silos are server-controlled, not SCSI-controlled.

How NetWorker Interacts With a Silo

The NetWorker server acts as a client of the silo management software. NetWorker communicates with the silo through the silo tape library interface (STLI) library, which must be installed on the NetWorker server connected to the silo.

To access the volumes and devices in a silo, NetWorker sends a request to the silo management software, in the form of an STLI library call. For example, to mount a volume in a silo device, the NetWorker media daemon sends a request to the silo management software to mount the volume into a particular device in the silo. The silo server responds to this request and actually mounts the volume in the silo. For more details, see the stli(1M) reference page.

Silo management software controls many of the same operations that NetWorker controls with an autochanger. For example, silo management software keeps track of the slot where each silo volume resides and usually also controls the deposit and withdrawal of volumes and the automated cleaning of silo devices.

Figure 1. NetWorker-to-Silo Interfaces

Figure 1 NetWorker-to-Silo Interfaces

Note: The silo support in IRIX NetWorker requires silo drives to be all of the same type, for example, IBM 3590 or DLT 4000 but not both.

Silo Installation and Configuration

The general procedure for employing a silo with NetWorker is:

  1. The silo vendor usually installs silo management software on the silo server.

  2. Install IRIX NetWorker 4.2.9-B and ensure that the NetWorker server is properly connected to drives in the silo, as specified by the silo vendor's documentation.

  3. Configure NetWorker to use the silo as described in “Configuring the Silo Module”.

  4. Obtain silo module license keys from Silicon Graphics and enable licensing as described in the IRIX NetWorker Installation Guide.

Installing the Silo Module

IRIX NetWorker 4.2.9-B already contains silo support, which is enabled by licensing.

Configuring the Silo Module

To configure a silo, use the jbm_enabler command, which prompts for this information:

  • Jukebox or silo? Choose silo.

  • Type of silo

  • Name to assign the silo

  • Hostname of the silo server

  • Pathname of the STL library object

  • Whether to enable automatic device cleaning—because the silo software itself controls device cleaning, enter no

  • Number of drives to configure

  • For each drive, jbm_enabler prompts for the following information:

    • Pathname of the device, for example /dev/rmt/tps0d5nrnsv

    • Silo name of the device—see “Silo Device Naming Conventions” for information about the silo name to enter for each drive

The following example shows a sample configuration. The output of jbm_enabler varies slightly depending on the type of silo.

# jbm_enabler 
Do you want to configure a:
        1)      Jukebox
        2)      Silo?
Choice? 2 
Supported silo types for this system are: 
        1) ACSLS silo   (StorageTek)
        2) DAS silo     (Emass/Grau)
Enter the number corresponding to the type of silo you are installing:
Choice? 2 
Installing an Emass/Grau silo.
Name you would like to assign to the silo device? silo1 
Name of the host running the DAS software? os2 
Pathname of the STL library for the DAS silo? [/usr/lib/] 
Do you want automated device cleaning support enabled? (yes/no) no 
How many devices are to be configured for this silo (1 to 64)? [4] 1 
Enter pathname of media drive 1: ? /dev/rmt/tps0d5nrnsv 
Enter corresponding silo name of media drive 1: ? D1NTP3590 
Since this is a silo, the bar code reader is enabled, and volume labels are set to match bar code labels
Jukebox has been added successfully

You can view the results of your silo configuration in the nwadmin Jukeboxes window, or with the nsradmin command. See the nsr_jukebox(4) reference page for information about jukebox attributes.

Silo Device Naming Conventions

The jbm_enabler program prompts you for the silo name of the media drives. This is the name that the silo management software uses to refer to that device.


The silo management software for EMASS ( or Grau ( silos is a program called DAS. DAS acts as a front end for the actual silo control program called AMU. (Both DAS and AMU are German acronyms.) When a silo is configured, each drive is given a symbolic name, which can be any alphanumeric string.

To display and manage the names assigned to drives in the silo, use the dasadmin utility supplied with the release. Enter dasadmin -h for help on this utility.

To set up DAS to work with NetWorker, follow these steps:

  1. Have the silo vendor configure DAS to accept commands from a NetWorker server. Ask the silo vendor to either:

    • Use the dasadmin allocd command to allocate one or more devices to the NetWorker server.

    • Configure the NetWorker server as a DAS administrator, so you can use the dasadmin allocd command to allocate devices from the NetWorker server.

  2. Set two environment variables:

    DAS_SERVER, to the hostname of the silo management server that runs DAS.

    DAS_CLIENT, to the hostname of the NetWorker server.

  3. Enter the following command to see a list of drives and the hostnames to which they are allocated:

    # dasadmin ld 

StorageTek (STK)

The STK silo management software (either a program called ACSLS that runs on a UNIX system, or a program called Library Attach that runs on an MVS system) names devices according to a coordinate system based on the physical location of devices in the silo.

For tape drives, the name consists of four digits separated by commas. The first digit refers to an automated cartridge system (ACS) with which the drive is associated. The second digit refers to the library storage module (LSM) in which the drive is located. The third and fourth digits refer to the panel and slot location in which the drive is located. A typical STK drive name looks like this: 1,0,1,0.

Ask the silo vendor ( about drive names for devices that NetWorker can use. There is no method to determine this information using NetWorker. To connect to more than one drive, find out the SCSI IDs for each drive and properly match the IDs to the silo names. If you accidentally swap operating system device names and silo names, you can only mount and unmount volumes; you cannot read or write to the volumes after they are mounted. To reconfigure the device names properly, use the nwadmin program to change the order of the device names in the STL Device Names attribute inside the Jukeboxes window.

Media Management in a Silo

Because silos can be used by more than one software application, media management in a silo requires extra operations to protect the volumes used by other programs from being overwritten by NetWorker, and vice versa.

The tasks described in this section deal with how volumes are specified for NetWorker to use, how volumes are mounted in the devices, and how volumes are identified and counted in the silo.

About Slot Numbers in a Silo

In an autochanger, NetWorker specifies many of the functions by a slot number, and this same idea can be used in a silo. In an autochanger, there is a fixed number of slots, and NetWorker uses the slot number to refer to the physical location of a volume. However, a silo has a variable number of slots, starting at zero when it is first configured and limited by the silo license you have purchased.

The fundamental identifier of a silo volume is its bar code, which is often called a “volser” (volume serial number) in silo documentation. This identifier never changes over the life of a particular volume.

When the nsrjb command displays a list of the contents of a silo, it also displays a slot number. You can use the slot number to specify which volumes to mount, unmount, label, and inventory. Volumes are not always assigned the same slot number in the silo. The slot numbers in the silo are assigned dynamically, based on the sorted order of the bar codes that have been allocated. If you allocate more bar codes that fall earlier in the sort sequence, the slot numbers of all the volumes later in the sequence change.

Because the slot number is not a perfect identifier for silo volume, operations that might change the slot number cannot accept a slot number as arguments. For example, you cannot deallocate volumes based on slot numbers, since this operation can change the slot numbers of volumes being deallocated.

Depositing and Withdrawing Silo Volumes

A Cartridge Access Port (CAP) allows you to deposit and withdraw volumes in a silo without opening the door to the silo. The CAP is useful because you can add (deposit) volumes into and remove (withdraw) volumes from a silo without having to reinventory the entire silo. When you use the CAP to add or remove volumes, NetWorker does not automatically take inventory, read bar code labels, or locate empty slots in the silo. Use the silo inventory feature and Jukeboxes resource for these tasks.

You can use NetWorker commands or the silo management software to control the Cartridge Access Port (CAP) on the currently supported silos to deposit volumes into and withdraw volumes from a silo. It is often more efficient to use the silo management software, especially to deposit or withdraw a large number of volumes.

The NetWorker command to allocate and deposit silo volumes is:

nsrjb -a -Txxxx -d 

The NetWorker command to deallocate and withdraw volumes is:

nsrjb -x -Txxxx -w 

The deposit and withdraw functions are not available from the nwadmin GUI.

On some silos (for instance StorageTek silos when the CAP is set to automatic mode), the silo management software inserts volumes automatically. You cannot use NetWorker to insert volumes.

On StorageTek silos, due to differences between the internal operations of NetWorker and the StorageTek silo management software, NetWorker can withdraw only one volume at a time, and you must physically remove the volume from the silo's CAP before any more volumes can be withdrawn. On EMASS/Grau silos, NetWorker can control both the deposit and withdraw functions.

Allocating Volumes in a Silo

When you allocate volumes, you tell NetWorker which volumes it can use. Because silos can be used by more than one software application, there is a possibility that another application could read or write to volumes that belong to NetWorker.

To prevent this problem, most silo management programs include methods of limiting access to volumes based on the hostname of the system on which NetWorker and the other programs run. NetWorker does not provide a method for setting up this sort of protection; it must be configured by the silo management program.

When you allocate a volume, NetWorker queries the silo management software to verify that the volume you requested actually exists. If the volume exists, it is allocated to NetWorker. If the volume does not exist, the following message displays:

bar code XXXXXX is not present in the silo and was not added 

If you are allocating a range of volumes, the allocation continues after displaying the message. The message is informational and does not indicate a NetWorker error.

To allocate a silo volume, use either:

  • The Add Library Volumes dialog in the nwadmin program. Refer to the online help for instructions.

  • The nsrjb -a -T barCode# command. See the nsrjb(1M) reference page for further information on this command, and see the stli(1M) reference page for the proper format of bar code templates. The -T option is limited to specifying a single bar code identifier, but you can use multiple -T options in a nsrjb command.

To deposit volumes into a silo and then allocate them (on silos that require manual depositing, such as EMASS/Grau), place the volumes in the insert area, then issue the following command:

nsrjb -a -Txxxx -d 

In StorageTek silos, silo management software deposits volumes automatically.

Mounting and Unmounting Volumes in a Silo

A volume must be mounted before you label it or read and write data on it. Volumes are mounted in a device in the silo by the robotic mechanism. To mount a volume in a silo device, you can use either the nwadmin program or the nsrjb -l command. When you mount a volume, you must specify the volume and slot.

A volume must be unmounted before you can inventory the volumes in a silo or deallocate the volume from a NetWorker pool. To unmount a volume, you can use either the nwadmin program or the nsrjb -u command.

To specify a bar code identifier or template for the volumes, you can use the -T option with either the -l or -u option of nsrjb. In the nwadmin graphical interface, bar code identifiers appear with their volumes.

Labeling Volumes in a Silo

Labels tell NetWorker to which pool a volume belongs and what type of data the volume should contain. NetWorker cannot write data to a volume until the volume is labeled. For more information on labels, refer to the IRIX NetWorker Administrator's Guide.

To label a volume in a silo, use either the nwadmin program or the nsrjb -L command.

NetWorker labels for silo volumes include both a NetWorker volume label (written on media) and a silo bar code identifier. The volume label is usually based on the volume pool's label template. The silo bar code identifier is written on a physical label affixed to the outside of a volume, so the silo's bar code reader can scan it during inventory.

By default, the use of bar codes and matching bar code labels with NetWorker volume labels are all enabled for a silo. You can change the Match Bar Code Labels attribute, but do not set the Bar Code Reader attribute to No. When the Match Bar Code Labels attribute and the Bar Code Reader attribute are both set to Yes, the internal volume label NetWorker writes on the media of each volume matches the bar code label on the outside of the volume. When the labels match, it is easier to track volumes, but NetWorker does not require that the internal and external labels match.

With most silo management software, you can use unlabeled volumes. The management software assigns a “virtual” bar code label to those volumes. Though you can use volumes without bar codes, it is very difficult to maintain integrity, because after you remove the volume from the silo, the information about the virtual bar code is lost. Also, any volume without a bar code can be reinserted into the silo under a virtual bar code that NetWorker (or another application) associates with some of your data.

Deallocating Volumes in a Silo

If you no longer need a volume in a silo for NetWorker, you can deallocate the volume. Deallocation is basically the same operation as removing a volume from an autochanger. While the volume cannot be loaded by the robotic mechanism, the entries in the NetWorker media database remain intact. If you allocate the volume again later, NetWorker can retrieve the data from it.

Use deallocation when your silo license limits the number of slots you can use or when you move data offsite for safer storage. In the case where the license limits the number of slots, you might be able to leave the volumes in the silo, so you can easily reallocate the volumes when you need to access the data on them.

The allocation operation is not automatic. You must manually allocate the volumes again and reinventory them to let NetWorker access data. In the case of removing a volume from the silo for offsite storage, you can either deallocate it with NetWorker and then use the silo management software to eject it from the silo, or you can perform both operations at the same time from the command line with the command nsrjb -x -Txxxx -w.

Caution: STK silos can eject only one volume at a time. The silo operator must remove each volume before another nsrjb -x -w command can be issued. If you deallocate and withdraw multiple volumes, they are all deallocated, but only the first is ejected. This limitation does not exist on EMASS/Grau silos.

To deallocate a silo volume:

  1. Unmount the volume from the device.

  2. Deallocate the volume using the nwadmin GUI or the nsrjb -x -T barCode# command.

Refer to the online help for information about how to deallocate a silo volume using nwadmin. See the nsrjb(1M) reference page for further information on nsrjb, and the stli(1M) reference page for the correct format of bar code templates.

Inventorying a Silo

Take inventory of the volumes in a silo to make sure the mapping between slot number and volume name is correct or to reconcile the actual volumes in a silo with the list of volumes in the NetWorker media database. The slot number of a silo volume is not a numbered slot inside the silo, as in an autochanger, but rather the numeric position of the volume in the list of silo volumes. You can view the slot number for each silo volume in the nwadmin program using the Jukebox Mounting dialog box.

Use the nwadmin program or the nsrjb -I command to inventory a silo. NetWorker examines all volumes in the silo and compares the new list of volumes to the NetWorker media database. Then NetWorker produces a message listing any volumes located in the silo but not in the media database.

When NetWorker inventories a silo, the silo's bar code reader reads the bar code labels on the outside of each volume. When a bar code matches an entry in the NetWorker media database, NetWorker does not need to load the volume into the device and read it, so the inventory proceeds rapidly. However, if NetWorker reads a bar code that does not match any of the entries in the media database, the volume must be mounted and read for a proper inventory.

You can inventory a range of slots or bar code labels if you are pressed for time and do not want to inventory all of the volumes in your silo.

Silo Device Management

This section also discusses the following device management tasks:

  • how to define a device for NetWorker

  • how to specify whether NetWorker has exclusive rights to a device or if the device is shared among applications

  • how to clean devices in a silo

You can use the nwadmin GUI or the nsradmin program to do many of the device management tasks. For other tasks, you must enter a command at the system prompt.

Define a Silo Device

If you add a new device to the silo and want NetWorker to recognize and use the device, there are two methods you can use to reconfigure your silo to access the new device.

Method 1 (brute force):

  1. Become root on the NetWorker server that uses the silo.

  2. Delete the silo definition, using either the nwadmin GUI or the nsradmin program.

  3. Run the jbm_enabler program to reconfigure the silo. Use exactly the same name for the silo as before, and add the additional device.

Method 2 (technical solution):

  1. Become root on the NetWorker server that uses the silo, and enter nsradmin -c (visual mode) to edit the silo definition.

  2. From the Select menu, choose NSR jukebox. From the Options menu, enable the Dynamic and Hidden display options.

  3. From the Edit menu, add the new device name after devices, with a comma before the new device names. Increase the attribute number devices by one.

  4. Add a null string with comma ( ,"") to each of the following attributes:
    loaded volumes, loaded bar codes, loaded slots

  5. Add the name of the new device in quotes to the STL device names field.

  6. Add the following entry to the Allocated Devices attribute: ,No

The following examples show nsradmin attributes before and after you add a device.



devices: /op1; number devices: 1; allocated devices: No;loaded volumes: ""; loaded bar codes: ""; loaded slots: "";STL device names: "0,0,2,0";

devices: /op1 , /op2 ; number devices: 2 ; allocated devices: No , No ; loaded volumes: "" , "" ; loaded bar codes: "" , "" ; loaded slots: "" , "" ; STL device names: "0,0,2,0" , "0,0,2,1" ;

If you define multiple devices in a silo for NetWorker to use, you do not need to specify them in any particular order in the Jukeboxes resource. The only restriction is that the list of device names in the Devices attribute must be in the correct order with respect to the list in the STL Device Names attribute.

Shared Devices

The basic elements of device sharing have been implemented in NetWorker, but due to limitations in SCSI hardware, the device sharing functions are not implemented. If you issue device reservation commands, no errors result, but the devices are not actually reserved. The STL Device Sharing and STL Device Reservation attributes in nwadmin and nsradmin have no effect on the behavior of NetWorker.

Device Cleaning

Do not enable automated cleaning for the silo in NetWorker. Refer to the documentation for your silo management software to find out how to clean devices in your silo. The NetWorker automated device cleaning cannot be used in a silo because it depends on fixed slot numbers.