Reloading st.conf without rebooting

This article provides the steps needed to manually unload and reload the st kernel module without performing a reboot of the Solaris system

Introduction

If you have made updates to the /kernel/drv/st.conf or have received a new copt of the the >code.st.conf and plan to implement. To make these changes live you must reload the st (SCSI Tape) kernel module. To do this, normally you would need to perform a reconfiguration reboot (reboot -- -r).

Procedure

Using the following steps to reload the st kernel module manually:

  1. Get the kernel module id number:
    # modinfo | grep "st ("
    104 72cd0c00   cdb0  33   1  st (SCSI Sequential Access Driver)
    In the above output the id is show as 104. Your id may be different.
  2. Stop your backup software (if running), and also make sure that your tape drives are not in use and quisced
    • For Sostice Backup/Legato NetWorker
      # /etc/init.d/networker stop
    • For Veritas NetBackup
      # /etc/rc0.d/K77netbackup stop
  3. Unload the kernel module:
    # modunload -i 104
  4. Make the neccessary modifications to /kernel/drv/st.conf or upload a new st.conf in it's place
  5. Reload the kernel module
    # modload -p drv/st
  6. (optional) If you change the scsi target or lun of your tape devices, you must perform the following after loading the st module to rebuild the device paths:
    # devfsadm -C
    # devfsadm -i st
  7. Restart your backup software
    • For Solstice Backup/Legato NetWorker:
      # /etc/init.d/networker start
    • For Veritas NetBackup:
      # /etc/rc2.d/S77netbackup start

Additional Information

  • If at any stage you are unable to reload the st kernel module you will have no option but to perform a reboot of the system. As all your tapedrives will remain non-functional until the next reboot is done.
  • It is always safer to plan for the downtime and perform a reboot instead of modunloading/modloading the st driver and having to perform an unscheduled reboot to recover the tapedrives.