Preserve LM/NC data during version upgrade


Introduction

LicenseMonitor (LM) and NetworkComputer (NC) collect and store data about license usage and jobs respectively. This article describes how to preserve data when changing to a newer Runtime software version.

In short, you need to preserve
  + Runtime software installation directory
  + <project>.swd directory and contents
  + VOV DB data directory and contents

How data collection happens in LM/NC

  + while a checkout or a job is live, the data are stored in vovserver's memory.
  + When the checkout or job finishes, the LM or NC vovserver writes a line describing it to a file in a directory under <project>.swd/data/... These files are named with the extensions .chk for checkouts, .den for denials, and .jobs for NC jobs.
  + The DB loader periodically loads the most recent data from the above files into the VOV DB.

So, all the configuration, logs, and data are stored under the <project>.swd directory, which must be preserved.

You specify the path to the storage for the VOV DB directory on the Admin->Database page. Depending on how you set this, it may not be under the <project>.swd directory.  This directory should also be preserved. In addition, it is possible for the VOV DB data directory to be on a different host from that where LM/NC runs.  See below for how to determine this.

Sometimes a new Runtime software version will change to a newer version of the database software. This is handled in the management command (lmmgr, ncmgr).  This will require enough storage for both versions concurrently, so you should have at least as much free storage as the size of the VOV DB data directory plus some headroom.

Finding Directory Locations

  + get a shell on the LM/NC host as the LM/NC owner, with Runtime commands in the PATH.
     Usually, owner account is set up to have the commands automatically, but if not, source one of
       /path-to-runtime/common/etc/vovrc.{csh,sh,tcl}
     to set up your shell. Use the one for your shell type.

Use

  % vovversion -install

to find out the path to the Runtime software.

For example:

  % vovproject list -all -l

to find the names, owners, and .swd paths.

 % vovproject enable your-project (e.g. licmon, vnc)
  % vovdb_util showcfg

If the data directories are all on the local machine where LM/NC are running, you can use rsync or other methods to back them up to a different machine.  If they are on a fileserver, you may not need to do anything, and they will remain available.

Note: Some care should be taken with the VOV DB directory so that it is not being written during the backup or copy.  There is a checkbox named 'Enable Data Loader' on the DB configuration page.  You can uncheck this and use the Save button to temporarily turn off the loader while copying the data directory.  Remember to re-enable it.

Service Availability Considerations

NC and LM are shared resources, so you may need to make the transition period as short as possible to minimize schedule impact.   In many cases, the cut-over to a new Runtime software version is as simple as stopping the system on the old version, then re-starting it on the new one.   You can do this quickly by using two shells, one with the old version enabled, and the second with the new version.   Use the 'stop' command in the first shell, followed by the 'start' command in the second.

Where the system is installed on a machine that needs to have an OS upgrade or to be re-imaged, this may take some time, depending on the degree of automation available.   If your data are on a fileserver, and you have other machines available, you could use stop/start or failover to move LM/NC temporarily to an alternate machine.