How to Configure SL24 / SL48 with Netbackup

SL24 and SL48 are the Oracle’s entry level of Autoloader/Tape Library.

Check here for complete documentation.

L24/48 Library are using a single SCSI ID and two logical unit numbers (LUN). LUN 0 controls the tape drive and LUN 1 controls the robotic. So, its require an HBA that supports multiple LUNs. If multiple LUN support is not enabled, the host server cannot scan beyond LUN 0 to discover the Library. It just sees the tape drive.

To check the device and connectivity status from Solaris, please use the show_FCP_dev option: “cfgadm -o show_FCP_dev -al”, instead of “cfgadm -al” command. The robotic or changer will not shown if you use standard “cfgadm -al” command.
If the changer detected already by “cfgadm -o show_FCP_dev -al” command but still not detected by NBU sgscan command, check your NBU device configuration. You need to modify the st.conf file in order to detect the devices on two LUNs.

[Find the following line in the st.conf file:

name=”st” target=0 lun=0;

Replace that line and the following lines through target 5 with the following. Doing so modifies the st.conf file to include searches on non-zero LUNs:

name="st" target=0 lun=0;
name="st" target=0 lun=1;
name="st" target=1 lun=0;
name="st" target=1 lun=1;
name="st" target=2 lun=0;
name="st" target=2 lun=1;
name="st" target=3 lun=0;
name="st" target=3 lun=1;
name="st" target=4 lun=0;
name="st" target=4 lun=1;
name="st" target=5 lun=0;
name="st" target=5 lun=1;
name="st" parent="fp" target=0;
name="st" parent="fp" target=1;
name="st" parent="fp" target=2;
name="st" parent="fp" target=3;
name="st" parent="fp" target=4;
name="st" parent="fp" target=5;
name="st" parent="fp" target=6;

Click here for complete information on how to configure tape drive and robotic devices for Netbackup.

If the SL24/SL48 has the SAS tape drives and you are using LSI SAS HBA, please check and upgrade the SAS HBA driver.

There was an issue with the LSI SAS1 (3GB) HBA with a firmware level of 1.26.00 and below, where the HBA will not see any SAS devices connected to it. Check below document (MOS access required) for more detail.

HBA – LSI SAS HBA Firmware Issue, SAS Devices Not Being Seen by Server (Doc ID 1350564.1)


Configure Persistent Binding for Tape Devices

If you have a lot of tape drives connected to your host/server, sometimes its not easy to know the tape drives order between tape library and drive order on host.

Lets say, all tape drive order on tape library and host are starting from 0 (zero).You try to mount cartridge to tape drive number 6 on tape library using the utility (example SL Console or move command). After mounting succeeded, you may guess that the cartridges is mounted to drive order number 6 also on your host/server. You run the command “mt -f /dev/rmt/6cbn status” to check the result, but guess what? the cartridges is not in there..

This is because, cbn number is picked automatically by devfsadm during enumeration of new devices. Every new tape logical unit number (LUN) found by devfsadm gets the next available number in “/dev/rmt”. So, cbn number order its not same with drive number order on tape library.

Since the /dev/rmt name depends on the order in which devices appear in the device tree, it changes from host to host. For a given tape drive that is seen by two or more different hosts, the /dev/rmt link can be different on each of these hosts. Also, if the drive is replaced the links change unless the vendor provides a way to retain the port World-Wide Name (PWWN) of the drive.

So, now what we need to do is just to configure persistent binding for all tape devices. on Solaris, we only need to edit “/etc/” file. First of all, list all tape drives on current configuration:


# ls -ltr /dev/rmt/*cbn

lrwxrwxrwx 1 root root 75 Mar 1 15:50 /dev/rmt/3cbn -> ../../devices/pci@8,600000/SUNW,emlxs@1,1/fp@0,0/st@w500108f00056a81c,0:cbn
lrwxrwxrwx 1 root root 75 Mar 1 15:50 /dev/rmt/2cbn -> ../../devices/pci@8,600000/SUNW,emlxs@1,1/fp@0,0/st@w500108f00056a81b,0:cbn
lrwxrwxrwx 1 root root 75 Mar 1 15:50 /dev/rmt/1cbn -> ../../devices/pci@8,600000/SUNW,emlxs@1,1/fp@0,0/st@w500108f00056a81a,0:cbn
lrwxrwxrwx 1 root root 75 Mar 1 15:50 /dev/rmt/0cbn -> ../../devices/pci@8,600000/SUNW,emlxs@1,1/fp@0,0/st@w500108f00056a81d,0:cbn

So, there are 4 tape drives, the current config is like this:
drive 0cbn:  w500108f00056a81d,0
drive 1cbn:  w500108f00056a81a,0
drive 2cbn:  w500108f00056a81b,0
drive 3cbn:  w500108f00056a81c,0

If you check on tape library, the drive order is like this:

drive o:  w500108f00056a81a,0
drive 1:  w500108f00056a81b,0
drive 2:  w500108f00056a81c,0
drive 3:  w500108f00056a81d,0

Now, ho to match drives order between tape library and your host? okay, here we go:

1. Edit “/etc/” file.

2. add these line:

type=ddi_byte:tape;addr=w500108f00056a81a,0;    rmt/0\M0
type=ddi_byte:tape;addr=w500108f00056a81b,0;    rmt/1\M0
type=ddi_byte:tape;addr=w500108f00056a81c,0;    rmt/2\M0
type=ddi_byte:tape;addr=w500108f00056a81d,0;    rmt/3\M0

3. Remove existing links from /dev/rmt by running the rm /dev/rmt/* command.

4. run “devfsadm” command. run “reboot — -r” if needed.

5. Finish,

See the result by manualy mounting cartridges and check with “mt -f /dev/rmt/Xcbn status” command.

Type “man devlinks” for more information..

SUN StorageTek SL8500 Modular Library System – Overview


Sun StorageTek SL8500 is powerful tape library which enables 24×7 availability with fully redundant and replaceable robotics. StorageTek SL8500 modular library system is Sun extreme machine in storage. No matter how big you are or fast you grow, it totally accommodates your offline tape needs for data backup, archiving, and protection. It’s modular and can expand to 448 tape drives and 70,0001 tape slots–just under 200 feet long. just go to here for detail features and specifications.

Sun StorageTek SL8500 is an enterprise-class robotic tape library. One library stores a maximum of 6.5 petabytes of storage spread over 10000 cartridges. It supports a maximum of 64 tape drives. It uses up to 8 indepentent robots in each library. Up to seven such libraries can be connected side-by-side and automatically pass tapes between each other, forming a complex capable of storing over 70 PB of data and mounting 448 tape drives. Each tape drive installed in the sl8500 library has an independent data path. The aggregate data rate for all drives is 193.2 TB/hr. (Wikipedia).

Continue reading

Tape Logical Device Files

LTO Ultrium

As we may know already that, tape device are in “/dev/rmt” directory. Actually tapes creates symbolic links in the “/dev/rmt” directory to the actual tape device special files under the “/devices” directory tree. tapes searches the kernel device tree to see what tape devices are attached to the system.

Each tape LUN seen by the system is represented by 24 minor nodes in the form of /dev/rmt/N, /dev/rmt/Nb, and /dev/rmt/Nbn, where N is an integer counter starting from 0. This number is picked by devfsadm during enumeration of new devices. Every new tape logical unit number (LUN) found by devfsadm gets the next available number in /dev/rmt.

Continue reading

ACSLS Command Reference


acsss_config run configuration script
bpdb.acsss backup acsls database
cmd_proc_shell provide shell access to the cmd_proc
config drives <panel_id> dynamically enables the addition, changes or delete drive type
db_command start|stop start or stop database -f db_file to migrate acsls database to another version -f db_file Import acsls database from another version
del_vol delete volume from an offline lsm display all drives types, media types and drive-to-media compatibility identify any available port that can be used by acsss
get_license_info display details on the installed license
greplog utility to filter acsss_event.log
kill.acsss terminate acsls
rc.acsss start acsls
rdb.acsss restore/recover acsls database
bdb.acsss -f /dev/rmt/2 backup database to specific tape
bdb.acsss -f db_file backup database to specific file
stats_report gather library volume statistical information
volrpt create volume report
watch_vols automatically assign ownership and pool association to volume as they are entered trough the CAP
idle stops acsls from processing new request
set cap mode automatic|manual change cap mode to automatic or manual


set cap mode automatic 0,0,1

set cap priority <0-16> Exp. set cap priority 16 0,0,1


audit 0,0,1 lsm 0,0

audit 0,0,1 panel 0,1,12

update acsls database to match the actual inventory of library volumes.

to audit lsm 0,0 and specify cap 0,0,1 for ejection

to audit panel 12 and specify cap 0,0,1 for ejection

query request all to display request IDs for all current and pending request
query volume DX123 query specific volume
cancel <request_id> cancels a current or pending request
clear lock


clear lock drive 0,0,10,0

to remove all active and pending locks on specific tranport or volume

clear lock for drive 0,0,10,0

mount <vol_id> <drive_id> Mount specific volume to specific drive

Exp. mount clnu001 0,0,10,0

Dismount <vol_id> <drive_id> dismount specific volume from specific drive

exp. dismount EDU200 0,0,10,1

move <vol_id> <lsm_id> move a specified volume to an available storage cell
eject <cap_id> <vol_id> eject specific volume to specific cap
eject <vol_range>


Exp. eject EDU2000-EDU2050

insert/import cartridge to library from specific cap

venter make a cap ready to enter unlabelled cartridge

(L5500, SL500 and SL8500 do not support unlabelled cartridge)

set clean <max_usage>


set clean 50 CLNU001

set clean off CLNU001

set the maximum usage of cleaning cartridge

set the maximum use to 50

set cleaning cartridge atribute off

set owner <owner_id> volume <vol_id> | volrange set volume ownership
set scratch [off] <pool_id> <vol_id> | volrange set or clear a volume scratch attribute and assign the volume to a pool
switch lmu <acs_id> manually switch lmu (on dual lmu configuration)
logoff exit from cmd_proc

Continue reading

How to restore LTO1 or 2 on LTO 3 Drive

For many reason, I re-post again about this issue; How to restore LTO1 or 2 on LTO 3 Drive…

The procedure is as follows:

  1. Inject the tape into the ACS library, then perform a robot inventory of the ACS library.

  2. After the volume database is updated, the RobotType of the media will change to “ACS” and the tapes should be recognized as “hcart”.

  3. Run “vmchange -new_mt <new density> -m <media ID>” to change the density. <new density> should be “hcart3” for the LTO Gen-3 drive and <media ID> refers to the media barcode. An eg would be “vmchange -new_mt hcart3 -m dx0333”

  4. Run “vmquery -m <mediaID>” to check that the density have been updated to “hcart3” from “hcart”.

  5. Run “bpmedia -changeden -new <density> -ev <mediaID>”

  6. eg “bpmedia -changeden -new hcart3 -ev dx0333” Note: This command will take some time to complete. Please be patient and let it complete on it’s own. If terminated halfway, strange things may occur later.

  7. Run “bpmedialist -m <mediaID>” to check that the density have been updated.

  8. Run the normal restoration procedure to restore the data from the LTO Gen1 tapes using the ACS library.

  9. Once, we have completed the restoration, the tape should be ejected from the ACS library to prevent it from being used for future backups. If necessary, will need to execute the commands in Step 3 and 5 to change the density back to “hcart”.

Replace drive in SSO environment

In case one of our customer had drive replacement it’s mean that serial number also change. So in order to update the serial number in SSO environment. Here’s the steps.

1. tpautoconf -report_disc , this command will list what device that had been missing or found.
2. tpautoconf -replace_drive drive_name –path drive_path, this command will update the existing device configuration with the new one.

#cd /usr/openv/volmgr/bin
#tpautoconf -report_disc
===== Missing Device (Drive) =====
Drive Name = IBMULTRIUM3-TD03
Drive Path = /dev/rmt/c36t6d0BESTnb
Inquiry = “IBM ULTRIUM-TD3 64D0”
Serial Number = xxxxxxxxxxxx
ACS(4) definition ACS = 0 LSM = 0 PANEL = 1 DRIVE = 4
Hosts configured for this device:
Host = xxxxxxxxxxxx
Host = xxxxxxxxxxxx

=====Missing Device (Drive) =====
Drive Name = IBMULTRIUM3-TD02
Drive Path = /dev/rmt/c35t6d0BESTnb
Inquiry = “IBM ULTRIUM-TD3 64D0”
Serial Number = xxxxxxxxxxxx
ACS(4) definition ACS = 0 LSM = 0 PANEL = 1 DRIVE = 8
Hosts configured for this device:
Host = xxxxxxxxxxxx
Host = xxxxxxxxxxxx

===== Missing Device or no local control path (Robot) =====
Defined as robotic ACS(4)
Inquiry = “-”
Serial Number =
Robot Control Host = xxxxxxxxxxxx
Hosts configured for this device:
Host = xxxxxxxxxxxx
Host = xxxxxxxxxxxx

===== New Device (Tape) =====
Inquiry = “HP C5683A C305”
Serial Number = xxxxxxxxxxxx
Drive Path = /dev/rmt/c4t0d0BESTnb
===== New Device (Tape) =====
Inquiry = “IBM ULTRIUM-TD3 64D0”
Serial Number = xxxxxxxxxxxx
Drive Path = /dev/rmt/c35t6d0BESTnb
===== New Device (Tape) =====
Inquiry = “IBM ULTRIUM-TD3 5BG2”
Serial Number = xxxxxxxxxxxx
Drive Path = /dev/rmt/c36t6d0BESTnb
# tpautoconf -replace_drive IBMULTRIUM3-TD02 -path /dev/rmt/c35t6d0BESTnb
Found a matching device in global DB, IBMULTRIUM3-TD02 on host xxxxxxxxxxxx
update of local DB on host xxxxxxxxxxxx completed
globalDB update for host xxxxxxxxxxxx completed
Found a matching device in global DB, IBMULTRIUM3-TD02 on host xxxxxxxxxxxx



Device Configuration must be run on all servers to complete drive replacement