Today EMC announced the GA release of NetWorker 8.1. For every backup administrator that means we need to start planning software upgrades!
Fortunately, NetWorker includes the ability to push software updates to hosts from the NetWorker server.
To setup this feature the software you would like to distribute must first be added to the NetWorker server software repository. This can be done via the Software Administration GUI available from NetWorker Administrator or the command line. For the purpose of this demonstration we will use the nsrpush command from the NetWorker server but either way will work.
This particular NetWorker server runs on CentOS which means we need to use a Windows system to help with adding the Windows software distribution to the repository. This system needs to be running a NetWorker Client and be accessible from the NetWorker server. It is used one-time to ensures Windows file schematics are preserved as the repository is populated on the UNIX NetWorker server. The inverse applies if we were using a Windows NetWorker server.
First extract the Windows software distribution to a directory on the UNIX NetWorker server and the Windows cross-platform client. In this case I have used /nw on UNIX and c:\nw81_win_x64\win_x64 on Windows. Then tell NetWorker to add the software to the repository by specifying the location on the UNIX server and Windows cross-platform client (server.mlab.local).
Here is an example below:
[root@nws nw]# nsrpush -a -p NetWorker -v 8.1.0.1 -P win_x64 -W -m /nw/win_x64 -c server.mlab.local -C 'C:\\nw81_win_x64\win_x64' Hostname and mount point recorded. Success adding product from: /nw/win_x64 Add to repository status: succeeded
For UNIX software distributions (e.g. Linux, Solaris, AIX, HPUX) there is no need for a cross-platform client. We extract the bundle to the UNIX NetWorker server and add to the software repository.
Here is how its done for the Linux software distribution.
[root@nws nw]# nsrpush -a -p NetWorker -v 8.1.0.1 -P linux_x86_64 -U -m /nw/linux_x86_64/ Success adding product from: /nw/linux_x86_64 Add to repository status: succeeded
For comparison’s sake we have also populate the Solaris x86 distribution.
[root@nws nw]# nsrpush -a -U -p NetWorker -P solaris_x86 -v 8.1.0.1 -m /nw/solaris_x86 Success adding product from: /nw/solaris_x86 Add to repository status: succeeded
Now we can query the software repository to see what’s available:
[root@nws nw]# nsrpush -l Products in the repository ================================ NetWorker 8.1.0.1 linux_x86_64 Japanese Language Pack Chinese Language Pack Korean Language Pack Management Console Client Man Pages Storage Node License Manager Server French Language Pack solaris_x86 Korean Language Pack Chinese Language Pack Japanese Language Pack French Language Pack Man Pages Client win_x64 Server License Manager Language Packs English Language Pack French Language Pack Japanese Language Pack Korean Language Pack Chinese Language Pack Client Management Console Storage Node
Before we can update our clients we need to perform an inventory of them first. Let’s run it across all clients.
In this case we have 3 clients with nws.mlab.local playing the role of the NetWorker console, server and storage node.
[root@nws nw]# nsrpush -i -all Starting Inventory Operation on selected clients Creating client type job for client maral-laptop.mlab.local. Copying inventory scripts to client maral-laptop.mlab.local. Successfully copied inventory scripts to client maral-laptop.mlab.local. Starting inventory of client maral-laptop.mlab.local. Successfully ran inventory scripts on client maral-laptop.mlab.local. Cleaning up client maral-laptop.mlab.local. Successfully cleaned up client maral-laptop.mlab.local. Creating client type job for client nws.mlab.local. Copying inventory scripts to client nws.mlab.local. Successfully copied inventory scripts to client nws.mlab.local. Starting inventory of client nws.mlab.local. Successfully ran inventory scripts on client nws.mlab.local. Cleaning up client nws.mlab.local. Successfully cleaned up client nws.mlab.local. Creating client type job for client server.mlab.local. Copying inventory scripts to client server.mlab.local. Successfully copied inventory scripts to client server.mlab.local. Starting inventory of client server.mlab.local. Successfully ran inventory scripts on client server.mlab.local. Cleaning up client server.mlab.local. Successfully cleaned up client server.mlab.local.
Now lets query our hosts to see what version of NetWorker and packages are installed.
[root@nws nw]# nsrpush -s -all server.mlab.local win_x64 NetWorker 8.0.2.0 Language Packs English Language Pack Client nws.mlab.local linux_x86_64 NetWorker 8.1.0.1 Storage Node Client Server Man Pages Management Console maral-laptop.mlab.local win_x64 NetWorker 8.0.2.0 Language Packs Client English Language Pack
No surprise there. Our NetWorker server is already running 8.1.0.1 as it was upgraded using the NetWorker server upgrade process (i.e. rpm).
Now we are in a position to upgrade all hosts or target specific hosts.
Lets for the moment upgrade our desktop server (server.mlab.local).
[root@nws nw]# nsrpush -u -p NetWorker -v 8.1.0.1 server.mlab.local Starting upgrade operation on selected clients. Creating client type job for client server.mlab.local. Copying upgrade scripts to client server.mlab.local. Successfully copied upgrade scripts to client server.mlab.local. Checking free space on the temporaty path for client server.mlab.local. Successfully issued a space check command to client server.mlab.local. Copying upgrade packages to client server.mlab.local. Successfully copied upgrade packages to client server.mlab.local. Starting upgrade of client server.mlab.local. Successfully issued an upgrade command to client server.mlab.local. Waiting for upgrade status for client server.mlab.local. Successfully retrieved and processed the package upgrade status data for client server.mlab.local Starting cleanup phase on client server.mlab.local. Cleaning up client server.mlab.local. Successfully issued the cleanup command to client server.mlab.local. Upgrade status: succeeded
And its done. That took about a minute. To verify we can query the client again.
[root@nws nw]# nsrpush -s server.mlab.local server.mlab.local win_x64 NetWorker 8.1.0.1 English Language Pack Language Packs Client
All done remotely from the NetWorker server command prompt. Just the way I like it.
The NetWorker software distribution feature is quite simple to use. Suggest you give it a try if you are not using it already.
Leave a Comment