Date: Nov 2008
Product & Version: NVBU 7.4.5 and up
OS Version: Solaris Sparc 8 and up
Module & Version: N/A
Application version: N/A
After reinstalling NetVault from scratch or restoring a NetVault database backup, a library cannot be found when trying to add it, or the existing library definition shows as being offline.
Historically, NetVault has been using a driver called "nv" - it was created because Solaris 7 didn't support medium changers natively. With NetVault 7.4.5, a change was implemented that lead to NetVault using the generic "sgen" SCSI driver on Solaris, in order to be future-proof and to ensure compatibility with Solaris Intel.
On systems that have been upgraded in a long chain from a version < 7.4.5, NetVault will continue using the old driver configuration, as the driver is already in place and loaded. On new installations however, this driver will not be used automatically, and the system will be configured to use sgen.
This might lead to incorrect or old device definitions trying to use the wrong type of driver node.
If, for example, you have a fresh installation of NetVault 8.2 that is working successfully with its library configuration, and then restore a backup of a database that was performed on a version of 8.2 that had been upgraded, the configuration files will be overwritten, enabling the nv driver behaviour in scsi.cfg, although the current SYSTEM configuration is set up for sgen.
The behaviour of NetVault in relation to its library driver is controlled through a configuration file in ~netvault/config called scsi.cfg. If it doesn't exist, or contains the stanza "Use nv driver = false", NetVault will use the current sgen configuration. If this is set to true however, NetVault will continue to use the old nv driver.
Find out what driver architecture your OS is currently configured to use. If you have a node /dev/nv*, then your system is using the nv driver. If you have a node /dev/scsi/changer/*, then it is using sgen.
Ensure that the ~netvault/config/scsi.cfg reflects this. For nv, the file should exist and contain the stanza "Use nv driver = true". For sgen, the file shouldn't exist at all, or have that stanza set to false.