You are on page 1of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

nsradmin - The forgotten NetWorker command 1. Overview


Todays world is graphical - if possible, i would assume that a lot of admin freaks would even remotely control their systems from sub-notebooks or organizers like an iPhone. And of course, a graphical interface has a lot of advantages, i have to admit. In general, i prefer them as well. However, a GUI is not everything. A NetWorker administrator becomes pretty soon aware that the display capabilities the NetWorker Administrator or NMC GUI are limited. For example, it is not possible to add more than the already defined columns - if you want to see others than those, i.e. if you want to display additional that the available columns if you query the media index with mminfo, there is on other way - you must use the command line. But querying the databases and starting processes from the command line is just one issue sometimes, it would be nice to also configure your data zone from the command line. Some of the reasons for this purpose would be: Configuring the networker client resource The NetWorker Administration GUI only connects to the NetWorker server (via nsrd). However, sometimes you must configure a client resource and connect to nsrexecd. This is not possible from any GUI. Having a workaroud for a GUI limitation Some parameters can just not be configured from the NetWorker Administration GUI there they are displayed in grey and consequently they are read-only. However, from nsradmin (and sometimes the old NetWorker Admin GUI) there is no problem. A dynamic, unattended reconfiguration while backups are running For instance, you may dynamically adjust a clientss storage node list. This was in deed necessary after a failover of a clustered NetWorker server in older NetWorker versions (up to NetWorker 6.x), before the Storage Node list alias curphyhost got introduced. Preparing a basic configuration for a bulk deployment You can provide configuration via an input file. This is ideal for a scenario, where you must configure a number of data zones with the same parameters. Creating a lot of (similar) resources for a certain purpose This is actually nothing else but a special case of the last purpose.

Unfortunately, nsradmin is not described in the NetWorker Administration Guide - the only assistance you get is from the Command Line Reference (the manual pages) and from the built-in online help. This is the reason why i decided to write this document.

page 1 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

2. General usage
To start the program, simply execute the command: nsradmin [-i file] [-s server] [-p {prognum | progname}] There are a few more options available. However, they are so specific that i will not explain them here. For a complete reference, please read the nsradmin manual pages. And this is what you will see if you call the online help: C:\>nsradmin NetWorker administration program. Use the "help" command for help. nsradmin> help Legal commands are: bind [query] create attrlist delete [query] edit [query] help [command] print [query] (set current query) server [name] show [attrlist] types update attrlist append attrlist quit visual [query] option [list] unset [list] . [query] ? [command] Where: query ::= attrlist attrlist ::= attribute [; attribute]* attribute ::= name [: [value [, value]* ] nsradmin> If you are a programmer, you will most likely understand it. However, for the ordinary administrator, this information is not really helpful. Fortunately, you can survive with these essential commands: create delete print show update append quit option unset . creates a new NetWorker resource deletes an obsolete NetWorker resource lists the result of a query controls the resource attributes to be displayed updates a NetWorker resource attribute adds a new value to NetWorker resource list attribute exits the program switches an option on switches an option off queries the resource database page 2 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Be aware of the following rules: All resource information supports UNIX text format. Consequently, for Windows specific resources, you must - substitute the backslash (\) with a \\ - wrap text containing spaces with hyphens - specify all parameters correctly (Unix pathnames are case sensitive) To explain the general usage i want to use examples.

2.1. The query


This is the most important command as it allows you to monitor a resource. You should execute it before and after a resource manipulation. For example, you can use it to display the contents of the NetWorker server configuration resource (type: NSR) as follows: nsradmin> . type: NSR Current query set nsradmin> print type: NSR; name: avusxp; version: NetWorker 7.4.Build.187 Eval; comment: ; parallelism: 4; manual saves: Enabled; public archives: Disabled; volume priority: NearLine Priority; SmartMedia save mount: volume by characteristics; license server: ; update licenses: No; device sharing mode: maximal sharing; WORM pools only hold WORM tapes: Yes; WORM tapes only in WORM pools: Yes; Jobsdb retention in days: 7; Jobsdb maximum size (KB): 5120; administrator: "group=Administratoren,host=avusxp", "user=administrator,host=avusxp", "user=system,host=avusxp"; contact name: ; company: ; street address: ; city/town: ; state/province: ; zip/postal code: ; country: ; phone: ; fax: ; email address: ; server OS type: Windows NT Workstation on Intel; site-id: ; support email address: ; purchase date: ; product serial number: ; datazone pass phrase: ; nsradmin> page 3 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

However, if you have more than one resoruce of the same type, this will not lead to a unique result: nsradmin> . type: NSR policy Current query set nsradmin> print type: name: comment: period: number of periods: type: name: comment: period: number of periods: type: name: comment: period: number of periods: type: name: comment: period: number of periods: type: name: comment: period: number of periods: type: name: comment: period: number of periods: nsradmin> In this case, you need to combine multiple attributes, using a semicolon (;) as operator:

NSR policy; Decade; ; Years; 10; NSR policy; Week; ; Weeks; 1; NSR policy; Month; ; Months; 1; NSR policy; Quarter; ; Months; 3; NSR policy; Year; ; Years; 1; NSR policy; Day; ; Days; 1;

nsradmin> . type: NSR policy; Current query set nsradmin> print type: name: comment: period: number of periods: nsradmin>

name: Quarter

NSR policy; Quarter; ; Months; 3;

page 4 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Do not end the line with a semicolon (;) - in this case the program waits for a new input, at least a Carriage Return character. If you use nsradmin interactively, you will directly become aware of this behavior - however, if you do this within a parameter file, it will most likely not work. nsradmin> . type: NSR policy; <cr> Current query set nsradmin> print type: name: comment: period: number of periods: nsradmin> name: Quarter;

NSR policy; Quarter; ; Months; 3;

In some cases, you might even need more than two attributes to query a certain resource: nsradmin> . type: NSR policy; Current query set nsradmin> print type: name: comment: period: number of periods: type: name: comment: period: number of periods: type: name: comment: period: number of periods: type: name: comment: period: number of periods: nsradmin> As you see, the result is not unique. number of periods: 1

NSR policy; Week; ; Weeks; 1; NSR policy; Month; ; Months; 1; NSR policy; Day; ; Days; 1; NSR policy; Year; ; Years; 1;

page 5 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

An additional attribute clarifies the query: nsradmin> . type: NSR policy; Current query set nsradmin> print type: name: comment: period: number of periods: nsradmin> number of periods: 1, name: Day

NSR policy; Day; ; Days; 1;

Obviously, the commands are not case sensitive, neither for the attribute values ...

nsradmin> . type: nSR policy; Current query set nsradmin> print type: name: comment: period: number of periods: nsradmin> ... nor for the attribute names:

number of periods: 1, name: day

NSR policy; Day; ; Days; 1;

nsradmin> . Type: NSR policy; Current query set nsradmin> print type: name: comment: period: number of periods: nsradmin>

number of periods: 1; nAme: Day

NSR policy; Day; ; Days; 1;

Please be aware that the query will not change automatically - consequently, there is no need to repeat it all the time.

page 6 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

2.1.1. The options


These are the available options - by default, they are all disabled: nsradmin> option Display options: Dynamic: Off; Hidden: Off; Raw I18N: Off; Resource ID: Off; nsradmin> Use the command option to switch them on ... nsradmin> option Resource ID Resource ID display option turned on Display options: Dynamic: Off; Hidden: Off; Raw I18N: Off; Resource ID: On; nsradmin> nsradmin> option hidden Hidden display option turned on Display options: Dynamic: Off; Hidden: On; Raw I18N: Off; Resource ID: On; nsradmin> ... and the command unset to deselect the option. Once again, you may specify more than one option in a single statement: nsradmin> unset hidden; resource id Hidden display option turned off Resource ID display option turned off Display options: Dynamic: Off; Hidden: Off; Raw I18N: Off; Resource ID: Off; nsradmin>

page 7 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Here is a direct comparison for the result without and with options: nsradmin> . type: NSR policy; number of periods: 1; name: day Current query set nsradmin> print type: NSR policy; name: Day; comment: ; period: Days; number of periods: 1; nsradmin> nsradmin> option Resource ID; hidden Hidden display option turned on Resource ID display option turned on Display options: Dynamic: Off; Hidden: On; Raw I18N: Off; Resource ID: On; nsradmin> nsradmin> . type: NSR policy; Current query set nsradmin> print type: name: comment: period: number of periods: hostname: administrator:

number of periods: 1; name: day

ONC program number: ONC version number: ONC transport: resource identifier: nsradmin>

NSR policy; Day; ; Days; 1; avusxp; "group=Administratoren,host=avusxp", "user=administrator,host=avusxp", "user=system,host=avusxp"; 390109; 2; TCP; 61.0.128.3.168.72.68.71.195.214.75.152(1);

page 8 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

2.1.2. Controlling the length of a report


Use the show command to determine the output lines of a resource. By default, all (hidden) attributes are listed: nsradmin> . type: NSR Current query set nsradmin> print type: NSR; name: avusxp; version: NetWorker 7.4.Build.187 Eval; comment: ; parallelism: 4; manual saves: Enabled; public archives: Disabled; volume priority: NearLine Priority; SmartMedia save mount: volume by characteristics; license server: ; update licenses: No; device sharing mode: maximal sharing; WORM pools only hold WORM tapes: Yes; WORM tapes only in WORM pools: Yes; Jobsdb retention in days: 7; Jobsdb maximum size (KB): 5120; administrator: "group=Administratoren,host=avusxp", "user=administrator,host=avusxp", "user=system,host=avusxp"; contact name: ; company: ; street address: ; city/town: ; state/province: ; zip/postal code: ; country: ; phone: ; fax: ; email address: ; server OS type: Windows NT Workstation on Intel; site-id: ; support email address: ; purchase date: ; product serial number: ; datazone pass phrase: ; nsradmin> To solely report one parameter, for example the NetWorker version, use the show command: nsradmin> show type; version nsradmin> print type: NSR; version: NetWorker 7.4.Build.187 Eval; nsradmin>

page 9 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

This is useful if you want to produce a general report for a certainattribute of all resources. Here is an example to display an overview for the storage node attributes of all your NetWorker clients: nsradmin> . type: NSR client Current query set nsradmin> show type; name; storage nodes nsradmin> print type: NSR client; name: redhat4; storage nodes: redhat4; type: NSR client; name: netapp; storage nodes: nsrserverhost; type: NSR client; name: avusxp; storage nodes: nsrserverhost; type: NSR client; name: ultra60; storage nodes: nsrserverhost; nsradmin> Another nice example is to generate a list of all licenses: nsradmin> . type: NSR license Current query set nsradmin> show name nsradmin> print name: \ "NetWorker for Windows, Power Edition (10 clients per server)/1 server"; name: Storage Nodes/21; name: Storage Nodes/21; name: ClientPaks for UNIX/22; name: DiskBackup Tier 1; name: "Autochanger Module, Unlimited Slots/32767"; name: Update for NetWorker 7.3; name: NDMP Client Connections/1; nsradmin>

Unfortunately, there is no way to direct the output to a file. For such purpose you can only mark the output in a command line window and copy and paste it into a text file.

page 10 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Of course you can also generate a list of all enablers: nsradmin> Will show nsradmin> nsradmin> show all attributes show enabler code print enabler code: fb6e7d-xxxxxx-81b841; enabler code: 6deaef-xxxxxx-dea637; enabler code: 6eebf0-xxxxxx-d9a134; enabler code: 63e0e5-xxxxxx-13e529; enabler code: 838e7a-xxxxxx-2790c9; enabler code: 8abb0c-xxxxxx-52e6d0; enabler code: 150397-xxxxxx-54605f; enabler code: 6dc0ef-xxxxxx-4cfc37; nsradmin> The marked show command is important - if you would just execute another show [attrlist] command, the new attribute will just be added to the list.

Here is the example: nsradmin> show name nsradmin> print name: \ "NetWorker for Windows, Power Edition (10 clients per server)/1 server"; enabler code: fb6e7d-xxxxxx-81b841; name: Storage Nodes/21; enabler code: 6deaef-xxxxxx-dea637; name: Storage Nodes/21; enabler code: 6eebf0-xxxxxx-d9a134; name: ClientPaks for UNIX/22; enabler code: 63e0e5-xxxxxx-13e529; name: "Autochanger Module, Unlimited Slots/32767"; enabler code: 838e7a-xxxxxx-2790c9; name: DiskBackup Tier 1; enabler code: 8abb0c-xxxxxx-52e6d0; name: NDMP Client Connections/1; enabler code: 6dc0ef-xxxxxx-4cfc37; name: Update for NetWorker 7.3; enabler code: 150397-xxxxxx-54605f; nsradmin> page 11 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

2.2. Modifying existing resources


There are two nsradmin commands for this purpose: append adds a new value to a resource list attribute update overwrites a resource attribute completely For instance, you may add another storage node to one of your clients as follows: nsradmin> . type: NSR client; name: redhat4 Current query set nsradmin> show Will show all attributes nsradmin> show name; storage nodes nsradmin> print name: redhat4; storage nodes: redhat4; nsradmin> append storage nodes: nsrserverhost storage nodes: nsrserverhost; Append? y updated resource id 25.0.44.2.236.10.75.71.195.214.75.152(4) nsradmin> print name: redhat4; storage nodes: redhat4, nsrserverhost; nsradmin> append storage nodes: ultra60 storage nodes: ultra60; Append? y updated resource id 25.0.44.2.236.10.75.71.195.214.75.152(5) nsradmin> print name: redhat4; storage nodes: redhat4, nsrserverhost, ultra60; nsradmin> Using the wrong command will of course create an error: nsradmin> . type: NSR Current query set nsradmin> show parallelism nsradmin> print parallelism: 4; nsradmin> append parallelism: 8 parallelism: 8; Append? y append failed: parallelism has too many values nsradmin> update parallelism: 8 parallelism: 8; Update? y updated resource id 2.0.128.3.168.72.68.71.195.214.75.152(47) nsradmin> print parallelism: 8; nsradmin> This is obvious as the parallelism is not a list attribute.

page 12 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

However, append simply adds the new value to the attribute - it does not change the sequence. For this purpose you must use the command update and specify all values (again). Here is the example: nsradmin> . type: NSR client; name: redhat4 Current query set nsradmin> show name; storage nodes nsradmin> print name: redhat4; parallelism: 4; storage nodes: redhat4, ultra60, nsrserverhost; nsradmin> update storage nodes: redhat4 storage nodes: redhat4; Update? y updated resource id 25.0.44.2.236.10.75.71.195.214.75.152(7) nsradmin> print name: redhat4; parallelism: 4; storage nodes: redhat4; nsradmin> update storage nodes: redhat4, nsrserverhost storage nodes: redhat4, nsrserverhost; Update? y updated resource id 25.0.44.2.236.10.75.71.195.214.75.152(8) nsradmin> print name: redhat4; parallelism: 4; storage nodes: redhat4, nsrserverhost; nsradmin>

page 13 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

2.2. Creating new resources


New resources will be added to the resource database via the nsradmin command create. As usual, you just need to specify only the absolute mandatory attributes for this purpose. For example you may create a new file device for an existing directory as shown in this example:

nsradmin> create type: NSR device; name: "Z:\\BU_DEV1" type: NSR device; name: "Z:\\BU_DEV1"; Create? y create failed: Device Z:\BU_DEV1 is not a valid 4mm device. nsradmin> Note the double backslash as this is a Windows directory. However, without the correct media type, NetWorker simply assumes the wrong one and fails this time. Also, do not forget that some characters are significant: nsradmin> create type: NSR device; media type: file; name: Z:\\BU_DEV1 Resource parse error: unterminated value list type: NSR device; media type: file; name: Z:\\BU_DEV1 ^ usage: create attrlist nsradmin> nsradmin> nsradmin> create type: NSR device; media type: file; name: "Z:\\BU_DEV1" type: NSR device; name: "Z:\\BU_DEV1"; media type: file; Create? y created resource id 34.0.44.2.236.10.75.71.195.214.75.152(1) nsradmin> The resource id is generated automatically and will be used for the resources filename - it is nothing else but the hexadecimal representation of the resource id. Of course you should verify the new resource: nsradmin> . type: NSR device; name: "Z:\\BU_DEV1" Current query set nsradmin> show Will show all attributes nsradmin> option Display options: Dynamic: Off; Hidden: On; Raw I18N: Off; Resource ID: Off; nsradmin>

page 14 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

And this is the result: nsradmin> unset hidden Hidden display option turned off Display options: Dynamic: Off; Hidden: Off; Raw I18N: Off; Resource ID: Off; nsradmin> print type: name: comment: description: message_I18N: message: volume name: media family: media type: enabled: read only: target sessions: max sessions: parent jukebox: cleaning required: cleaning interval: date last cleaned: auto media management: ndmp: dedicated storage node: remote user: password: hardware id: CDI: TapeAlert Critical: TapeAlert Warning: TapeAlert Information: WORM capable: DLTWORM capable: WORM cartridge present: device serial number: nsradmin>

NSR device; "Z:\\BU_DEV1"; ; ; " "; " "; ; disk; file; Yes; No; 4; 512; ; No; ; ; No; No; No; ; ; ; Not used; ; ; ; No; No; No; ;

But if you want to create a new client resource, you just have to specify the name: nsradmin> create type: NSR client; name: redhat3 type: NSR client; name: redhat3; Create? y created resource id 35.0.44.2.236.10.75.71.195.214.75.152(1) nsradmin>

page 15 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

2.3. Deleting obsolete resources


If you want to delete a resource you do not need any longer, you just need to run the delete command on the exactly define resource. In this case, all not hidden attributes will be listed and you must confirm this step: nsradmin> delete type: NSR client; name: redhat3 type: NSR client; name: redhat3; server: avusxp; client id: \ 7d849a81-00000004-474bfbdf-474c324a-00050000-c3d64b98; scheduled backup: Enabled; comment: ; Save operations: ; archive services: Disabled; schedule: Default; browse policy: Month; retention policy: Year; statistics: ; directive: ; group: Default; save set: All; priority: 500; File inactivity threshold: 0; File inactivity alert threshold: 0; remote access: ; remote user: ; password: ; backup command: ; application information: ; ndmp: No; NDMP array name: ; executable path: ; server network interface: ; aliases: redhat3; index path: ; owner notification: ; parallelism: 4; archive users: ; storage nodes: nsrserverhost; recover storage nodes: ; clone storage nodes: ; hard links: Disabled; short filenames: Disabled; client OS type: ; CPUs: ; NetWorker version: ; enabler in use: No; licensed applications: ; licensed PSPs: ; Delete? y deleted resource id 35.0.44.2.236.10.75.71.195.214.75.152(1) nsradmin>

page 16 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

3. Useful examples
If you understand the general usuage of nsradmin, you may now use the program in some practical situations. For demonstration purposes, i especially want to concentrate on operations which are not available from the NetWorker Administration GUI.

3.1. Creating a online rendered daemon.log file


With NetWorker 7.4, localized versions are available. This means that not only the GUI needs to be multi-lingual, the same applies to the log files as well. These log file versions can be identified by the extension raw. For example, NetWorker will now create the appropriate file daemon.raw instead of daemon.log. Unfortunately, the new file contains a lot of control parameters for the multi-lingual support, making the messages hard to read by themselves. To overcome this issue, the new executable nsr_render_log has been created, which is capable to translate the contents of daemon.raw into the language of your choice. However, nsr_render_log is not so easy to use. On the other hand, if one is used to work with certain tools, he wants to use them forever. Wouldnt it be nice to have an english daemon.log file version created as well? - with nsradmin, you can do this. Simply connect to the NetWorker client program and modify the appropriate resource: C:\>nsradmin -p nsrexecd NetWorker administration program. Use the "help" command for help. nsradmin> . type: NSR log Current query set nsradmin> print type: NSR log; administrator: Administrators@avusxp; owner: NetWorker; maximum size MB: 2; maximum versions: 10; runtime rendered log: ; name: daemon.raw; log path: "Z:\\nsr\\logs\\daemon.raw"; nsradmin> nsradmin> update runtime rendered log: "Z:\\nsr\\logs\\daemon.log" runtime rendered log: "Z:\\nsr\\logs\\daemon.log"; Update? y updated resource id 12.0.148.2.77.90.68.71.195.214.75.152(3) nsradmin> quit C:\>

Now you must restart the NetWorker daemons.

If you then compare the files, you will notice the difference. page 17 of 27

This is the contents of the file daemon.raw: 42506 1196178961 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 6 server 0 6 notice 49 14 7324 7 started 10100 1196178962 2 0 0 1628 1484 0 avusxp nsrmmdbd 27 media db is checking btrees 0 9870 1196178962 2 0 0 1628 1484 0 avusxp nsrmmdbd 45 media db is consistency checking the database 0 10106 1196178962 2 0 0 1628 1484 0 avusxp nsrmmdbd 29 media db is open for business 0 0 1196178968 2 0 0 1492 1536 0 avusxp nsrd 2 %s 1 0 9 NetWorker 0 1196178968 2 0 0 1492 1536 0 avusxp nsrd 2 %s 1 0 13 7.4.Build.187 0 1196178968 2 0 0 1492 1536 0 avusxp nsrd 2 %s 1 0 3 187 0 1196178968 2 0 0 1492 1536 0 avusxp nsrd 2 %s 1 0 24 Fri Jun 8 18:12:50 2007 0 1196178968 2 0 0 1492 1536 0 avusxp nsrd 2 %s 1 0 18 Build arch.: nt86 0 1196178968 2 0 0 1492 1536 0 avusxp nsrd 2 %s 1 0 10 DBG=0,OPT= 9513 1196178968 2 0 0 736 1548 0 avusxp nsrindexd 42 Running nsrck to check client file indices 0 42506 1196178968 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 46 9352 24 checking \\ index for '%s' 1 0 7 ultra60 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 90 31713 36 %s contains \\ %s records occupying %s 3 23 20 Z:\nsr\index\ultra60 36 1 0 0 4 0 KB 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 45 9352 24 checking \\ index for '%s' 1 0 6 netapp 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 89 31713 36 %s contains \\ %s records occupying %s 3 23 19 Z:\nsr\index\netapp 36 1 0 0 4 0 KB 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 46 9352 24 checking \\ index for '%s' 1 0 7 redhat4 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 90 31713 36 %s contains \\ %s records occupying %s 3 23 20 Z:\nsr\index\redhat4 36 1 0 0 4 0 KB 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 45 9352 24 checking \\ index for '%s' 1 0 6 avusxp 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 89 31713 36 %s contains \\ %s records occupying %s 3 23 19 Z:\nsr\index\avusxp 36 1 0 0 4 0 KB 42506 1196178971 2 0 0 1492 1536 0 avusxp nsrd 9 %s %s: %s 3 0 5 index 0 6 notice 49 48 9354 32 Completed \\ checking %d client(s) 1 1 1 4 12112 1196178993 2 0 0 1492 1536 0 avusxp nsrd 13 Power Edition 0 12116 1196178993 2 0 0 1492 1536 0 avusxp nsrd 16 License Summary: 0 12117 1196178993 2 0 0 1492 1536 0 avusxp nsrd 79 Available: sv=%d, ws=%d, clu=%d, clu_nt=%d, clu_unix=%d, \\ clu_linux=%d, ndmp=%d 7 1 2 10 1 1 0 1 1 0 1 1 2 1 1 0 1 1 0 1 1 1 12118 1196178993 2 0 0 1492 1536 0 avusxp nsrd 91 Borrowed: sv_borrowed=%d, clu_borrowed_nt=%d, \\ clu_borrowed_unix=%d, clu_borrowed_linux=%d 4 1 1 0 1 1 0 1 1 0 1 1 0 12119 1196178993 2 0 0 1492 1536 0 avusxp nsrd 79 Remaining: sv=%d, ws=%d, clu=%d, clu_nt=%d, clu_unix=%d, \\ clu_linux=%d, ndmp=%d 7 1 2 10 1 1 0 1 1 0 1 1 2 1 1 0 1 1 0 1 1 1 .....

published irregularly

Technical Info Document

page 18 of 27

11/26/07 / cr

#4/2007

And this is the contents of the new file daemon.log - which version would you prefer? 42506 27.11.2007 16:56:01 nsrd server notice: started 10100 27.11.2007 16:56:02 nsrmmdbd media db is checking btrees 9870 27.11.2007 16:56:02 nsrmmdbd media db is consistency checking the database 10106 27.11.2007 16:56:02 nsrmmdbd media db is open for business 0 27.11.2007 16:56:08 nsrd NetWorker 0 27.11.2007 16:56:08 nsrd 7.4.Build.187 0 27.11.2007 16:56:08 nsrd 187 0 27.11.2007 16:56:08 nsrd Fri Jun 8 18:12:50 2007 0 27.11.2007 16:56:08 nsrd Build arch.: nt86 0 27.11.2007 16:56:08 nsrd DBG=0,OPT= 9513 27.11.2007 16:56:08 nsrindexd Running nsrck to check client file indices 42506 27.11.2007 16:56:08 nsrd index notice: checking index for 'ultra60' 42506 27.11.2007 16:56:11 nsrd index notice: Z:\nsr\index\ultra60 contains 0 records occupying 0 KB 42506 27.11.2007 16:56:11 nsrd index notice: checking index for 'netapp' 42506 27.11.2007 16:56:11 nsrd index notice: Z:\nsr\index\netapp contains 0 records occupying 0 KB 42506 27.11.2007 16:56:11 nsrd index notice: checking index for 'redhat4' 42506 27.11.2007 16:56:11 nsrd index notice: Z:\nsr\index\redhat4 contains 0 records occupying 0 KB 42506 27.11.2007 16:56:11 nsrd index notice: checking index for 'avusxp' 42506 27.11.2007 16:56:11 nsrd index notice: Z:\nsr\index\avusxp contains 0 records occupying 0 KB 42506 27.11.2007 16:56:11 nsrd index notice: Completed checking 4 client(s) 12112 27.11.2007 16:56:33 nsrd Power Edition 12116 27.11.2007 16:56:33 nsrd License Summary: 12117 27.11.2007 16:56:33 nsrd Available: sv=10, ws=0, clu=0, clu_nt=2, clu_unix=0, clu_linux=0, ndmp=1 12118 27.11.2007 16:56:33 nsrd Borrowed: sv_borrowed=0, clu_borrowed_nt=0, clu_borrowed_unix=0, \\ clu_borrowed_linux=0 12119 27.11.2007 16:56:33 nsrd Remaining: sv=10, ws=0, clu=0, clu_nt=2, clu_unix=0, clu_linux=0, ndmp=1 33526 27.11.2007 16:56:38 nsrmmd#1 Start nsrmmd #1, with PID 1756, at HOST avusxp 33526 27.11.2007 16:56:40 nsrmmd#2 Start nsrmmd #2, with PID 1436, at HOST avusxp

published irregularly

Technical Info Document

Interesting enough - even the new message IDs at the beginning of each line will be preserved.

page 19 of 27

11/26/07 / cr

#4/2007

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

3.2. Creating a shared file device


I love to demonstrate this in my workshops as this displays the principle of DDS without a SAN or other expensive hardware. In fact, you can even do it on your laptop. As you may know, a shared device needs the attribute Hardware id to be set. However, this is not possible from the new NetWorker Administration program any longer (it was from the old GUI ;-) :

The Hardware id is just greyed out and not available for any input.

But this only seems to be a GUI problem - as long as you have a DDS license in place, nsradmin will help you to overcome the problem: nsradmin> create type: NSR device; media type: file; \\ name: "Z:\\BU_DEV2"; hardware id: dds_1 type: NSR device; name: "Z:\\BU_DEV2"; media type: file; hardware id: dds_1; Create? y created resource id 23.0.240.3.236.70.76.71.195.214.75.152(1) nsradmin> create type: NSR device; media type: file; \\ name: "rd=avusxp:Z:\\BU_DEV2"; hardware id: dds_1 type: NSR device; name: "rd=avusxp:Z:\\BU_DEV2"; media type: file; hardware id: dds_1; Create? y created resource id 25.0.240.3.236.70.76.71.195.214.75.152(1) nsradmin>

page 20 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

And these pictures prove the existence of the shared device:

By the way - the creation of the Hardware id is just a problem for a standalone device. If you define an autochanger with DDS devices, there will be no obstacle.

page 21 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

3.3. Checking license capabilities


Finally i have a nice example to demonstrate how you can use an input file for bulk configurations. The question is: How may devices will you be able to create if you buy a Power Edition Storage Node license? - Due to inconsistent information in the docs there is even a misunderstanding even for NetWorker oltimers. The easiest way to test this is once again by using file devices. First of all you have to create the appropriate directories. And because it is a repetitive process, an appropriate command shall help: C:\>FOR /L %i IN (1,1,100) DO mkdir Z:\BU_DEV%i C:\>mkdir Z:\BU_DEV1 C:\>mkdir Z:\BU_DEV2 C:\>mkdir Z:\BU_DEV3 C:\>mkdir Z:\BU_DEV4 C:\>mkdir Z:\BU_DEV5 C:\>mkdir Z:\BU_DEV6 C:\>mkdir Z:\BU_DEV7 C:\>mkdir Z:\BU_DEV8 C:\>mkdir Z:\BU_DEV10 ..... C:\>mkdir Z:\BU_DEV91 C:\>mkdir Z:\BU_DEV92 C:\>mkdir Z:\BU_DEV93 C:\>mkdir Z:\BU_DEV94 C:\>mkdir Z:\BU_DEV95 C:\>mkdir Z:\BU_DEV96 C:\>mkdir Z:\BU_DEV97 C:\>mkdir Z:\BU_DEV98 C:\>mkdir Z:\BU_DEV99 C:\>mkdir Z:\BU_DEV10 C:\>

page 22 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Now you must create an appropriate input file for the nsradmin creation process: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: ..... create type: create type: create type: create type: create type: create type: create type: create type: create type: create type: NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: "Z:\\BU_DEV1"; media type: file "Z:\\BU_DEV2"; media type: file "Z:\\BU_DEV3"; media type: file "Z:\\BU_DEV4"; media type: file "Z:\\BU_DEV5"; media type: file "Z:\\BU_DEV6"; media type: file "Z:\\BU_DEV7"; media type: file "Z:\\BU_DEV8"; media type: file "Z:\\BU_DEV9"; media type: file "Z:\\BU_DEV10"; media type: file "Z:\\BU_DEV11"; media type: file "Z:\\BU_DEV12"; media type: file "Z:\\BU_DEV13"; media type: file "Z:\\BU_DEV14"; media type: file "Z:\\BU_DEV15"; media type: file "Z:\\BU_DEV16"; media type: file "Z:\\BU_DEV17"; media type: file "Z:\\BU_DEV18"; media type: file "Z:\\BU_DEV19"; media type: file "Z:\\BU_DEV20"; media type: file "Z:\\BU_DEV21"; media type: file "Z:\\BU_DEV22"; media type: file "Z:\\BU_DEV23"; media type: file "Z:\\BU_DEV24"; media type: file "Z:\\BU_DEV25"; media type: file "Z:\\BU_DEV26"; media type: file "Z:\\BU_DEV27"; media type: file "Z:\\BU_DEV28"; media type: file "Z:\\BU_DEV29"; media type: file "Z:\\BU_DEV30"; media type: file "Z:\\BU_DEV31"; media type: file "Z:\\BU_DEV32"; media type: file "Z:\\BU_DEV33"; media type: file "Z:\\BU_DEV34"; media type: file "Z:\\BU_DEV35"; media type: file "Z:\\BU_DEV36"; media type: file "Z:\\BU_DEV37"; media type: file "Z:\\BU_DEV38"; media type: file "Z:\\BU_DEV39"; media type: file "Z:\\BU_DEV60"; "Z:\\BU_DEV61"; "Z:\\BU_DEV62"; "Z:\\BU_DEV63"; "Z:\\BU_DEV64"; "Z:\\BU_DEV65"; "Z:\\BU_DEV66"; "Z:\\BU_DEV67"; "Z:\\BU_DEV68"; "Z:\\BU_DEV69"; media media media media media media media media media media type: type: type: type: type: type: type: type: type: type: file file file file file file file file file file

In this example, i want to save the file as Z:\create_devices.txt.

page 23 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Finally - on a new installation with a Power Edition plus a Disk Backup enabler - execute the following command: C:\>nsradmin -i Z:\create_devices.txt created resource id 109.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 110.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 111.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 112.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 113.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 114.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 115.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 116.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 117.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 118.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 119.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 120.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 121.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 122.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 123.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 124.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 125.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 126.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 127.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 128.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 129.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 130.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 131.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 132.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 133.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 134.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 135.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 136.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 137.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 138.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 139.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 140.0.116.0.147.115.76.71.195.214.75.152(1) create failed: Cannot create device (too many devices). Maximum number of devices that can be created on this server is 32. Add Storage Node enabler to allow more devices. ..... create failed: Cannot create device (too many devices). Maximum number of devices that can be created on this server is 32. Add Storage Node enabler to allow more devices. C:\>

page 24 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Now add a Power Edition Storage Node enabler and repeat the operation: C:\>nsradmin -i Z:\create_devices.txt create failed: device Z:\BU_DEV1 already exists create failed: device Z:\BU_DEV2 already exists create failed: device Z:\BU_DEV3 already exists ..... create failed: device Z:\BU_DEV30 already exists create failed: device Z:\BU_DEV31 already exists create failed: device Z:\BU_DEV32 already exists created resource id 142.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 143.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 144.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 145.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 146.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 147.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 148.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 149.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 150.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 151.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 152.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 153.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 154.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 155.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 156.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 157.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 158.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 159.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 160.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 161.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 162.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 163.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 164.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 165.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 166.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 167.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 168.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 169.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 170.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 171.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 172.0.116.0.147.115.76.71.195.214.75.152(1) created resource id 173.0.116.0.147.115.76.71.195.214.75.152(1) create failed: Cannot create device (too many devices). Maximum number of devices that can be created on this server is 64. Add Storage Node enabler to allow more devices. ..... create failed: Cannot create device (too many devices). Maximum number of devices that can be created on this server is 64. Add Storage Node enabler to allow more devices. C:\>

This proves that a Power Edition Storage Node enabler license allows the creation of the same number of devices as the Base enabler.

page 25 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

After the test you should delete the devices again. For this purpose, modify the input file as follows ... delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: ..... delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: delete type: NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR NSR device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; device; name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: name: "Z:\\BU_DEV1"; media type: file "Z:\\BU_DEV2"; media type: file "Z:\\BU_DEV3"; media type: file "Z:\\BU_DEV4"; media type: file "Z:\\BU_DEV5"; media type: file "Z:\\BU_DEV6"; media type: file "Z:\\BU_DEV7"; media type: file "Z:\\BU_DEV8"; media type: file "Z:\\BU_DEV9"; media type: file "Z:\\BU_DEV10"; media type: file "Z:\\BU_DEV11"; media type: file "Z:\\BU_DEV12"; media type: file "Z:\\BU_DEV13"; media type: file "Z:\\BU_DEV14"; media type: file "Z:\\BU_DEV15"; media type: file "Z:\\BU_DEV16"; media type: file "Z:\\BU_DEV17"; media type: file "Z:\\BU_DEV18"; media type: file "Z:\\BU_DEV19"; media type: file "Z:\\BU_DEV20"; media type: file "Z:\\BU_DEV21"; media type: file "Z:\\BU_DEV22"; media type: file "Z:\\BU_DEV23"; media type: file "Z:\\BU_DEV24"; media type: file "Z:\\BU_DEV25"; media type: file "Z:\\BU_DEV26"; media type: file "Z:\\BU_DEV27"; media type: file "Z:\\BU_DEV28"; media type: file "Z:\\BU_DEV29"; media type: file "Z:\\BU_DEV30"; media type: file "Z:\\BU_DEV31"; media type: file "Z:\\BU_DEV32"; media type: file "Z:\\BU_DEV33"; media type: file "Z:\\BU_DEV34"; media type: file "Z:\\BU_DEV35"; media type: file "Z:\\BU_DEV36"; media type: file "Z:\\BU_DEV37"; media type: file "Z:\\BU_DEV38"; media type: file "Z:\\BU_DEV39"; media type: file "Z:\\BU_DEV61"; "Z:\\BU_DEV62"; "Z:\\BU_DEV63"; "Z:\\BU_DEV64"; "Z:\\BU_DEV65"; "Z:\\BU_DEV66"; "Z:\\BU_DEV67"; "Z:\\BU_DEV68"; "Z:\\BU_DEV69"; media media media media media media media media media type: type: type: type: type: type: type: type: type: file file file file file file file file file

... and save it appropriately, for example as Z:\delete_devices.txt.

page 26 of 27

Technical Info Document published irregularly

#4/2007 11/26/07 / cr

Then execute the same command again - just with the correct input file: C:\>nsradmin -i Z:\delete_devices.txt deleted resource id 109.0.116.0.147.115.76.71.195.214.75.152(64) deleted resource id 110.0.116.0.147.115.76.71.195.214.75.152(63) deleted resource id 111.0.116.0.147.115.76.71.195.214.75.152(62) deleted resource id 112.0.116.0.147.115.76.71.195.214.75.152(61) deleted resource id 113.0.116.0.147.115.76.71.195.214.75.152(60) deleted resource id 114.0.116.0.147.115.76.71.195.214.75.152(59) deleted resource id 115.0.116.0.147.115.76.71.195.214.75.152(58) deleted resource id 116.0.116.0.147.115.76.71.195.214.75.152(57) deleted resource id 117.0.116.0.147.115.76.71.195.214.75.152(56) deleted resource id 118.0.116.0.147.115.76.71.195.214.75.152(55) deleted resource id 119.0.116.0.147.115.76.71.195.214.75.152(54) deleted resource id 120.0.116.0.147.115.76.71.195.214.75.152(53) deleted resource id 121.0.116.0.147.115.76.71.195.214.75.152(52) deleted resource id 122.0.116.0.147.115.76.71.195.214.75.152(51) deleted resource id 123.0.116.0.147.115.76.71.195.214.75.152(50) deleted resource id 124.0.116.0.147.115.76.71.195.214.75.152(49) deleted resource id 125.0.116.0.147.115.76.71.195.214.75.152(48) deleted resource id 126.0.116.0.147.115.76.71.195.214.75.152(47) deleted resource id 127.0.116.0.147.115.76.71.195.214.75.152(46) deleted resource id 128.0.116.0.147.115.76.71.195.214.75.152(45) deleted resource id 129.0.116.0.147.115.76.71.195.214.75.152(44) deleted resource id 130.0.116.0.147.115.76.71.195.214.75.152(43) deleted resource id 131.0.116.0.147.115.76.71.195.214.75.152(42) deleted resource id 132.0.116.0.147.115.76.71.195.214.75.152(41) deleted resource id 133.0.116.0.147.115.76.71.195.214.75.152(40) deleted resource id 134.0.116.0.147.115.76.71.195.214.75.152(39) deleted resource id 135.0.116.0.147.115.76.71.195.214.75.152(38) ..... deleted resource id 160.0.116.0.147.115.76.71.195.214.75.152(14) deleted resource id 161.0.116.0.147.115.76.71.195.214.75.152(13) deleted resource id 162.0.116.0.147.115.76.71.195.214.75.152(12) deleted resource id 163.0.116.0.147.115.76.71.195.214.75.152(11) deleted resource id 164.0.116.0.147.115.76.71.195.214.75.152(10) deleted resource id 165.0.116.0.147.115.76.71.195.214.75.152(9) deleted resource id 166.0.116.0.147.115.76.71.195.214.75.152(8) deleted resource id 167.0.116.0.147.115.76.71.195.214.75.152(7) deleted resource id 168.0.116.0.147.115.76.71.195.214.75.152(6) deleted resource id 169.0.116.0.147.115.76.71.195.214.75.152(5) deleted resource id 170.0.116.0.147.115.76.71.195.214.75.152(4) deleted resource id 171.0.116.0.147.115.76.71.195.214.75.152(3) deleted resource id 172.0.116.0.147.115.76.71.195.214.75.152(2) deleted resource id 173.0.116.0.147.115.76.71.195.214.75.152(1) no resources to delete! no resources to delete! no resources to delete! no resources to delete! no resources to delete! C:\>

page 27 of 27