{"id":203,"date":"2009-02-25T18:46:13","date_gmt":"2009-02-25T08:46:13","guid":{"rendered":"https:\/\/www.penguinpunk.net\/blog\/?p=203"},"modified":"2009-02-25T15:46:33","modified_gmt":"2009-02-25T05:46:33","slug":"emc-networker-library-configuration","status":"publish","type":"post","link":"https:\/\/www.penguinpunk.net\/blog\/emc-networker-library-configuration\/","title":{"rendered":"EMC NetWorker Library Configuration"},"content":{"rendered":"<p>Centuries ago, or at least in 2006, I worked at a fairly large EMC NetWorker site, looking after an ADIC (now Quantum) i2000 with 300 slots and 10 LTO-2 drives. It was a lot of fun when things went wrong, as they invariably did.\u00a0 So occasionally I had to use NetWorker tools to perform configuration or rectification activities on said library d&#8217;enfer. I don&#8217;t for a moment pretend to be an expert with Networker. Nor am I necessarily super competent with backup and recovery in general. As I&#8217;ve mentioend previously, if you want to know about backup and recovery, <a href=\"http:\/\/www.amazon.com\/gp\/redirect.html?ie=UTF8&amp;location=http:\/\/www.amazon.com\/Enterprise-Systems-Backup-Recovery-Corporate\/dp\/1420076396?ie=UTF8&amp;s=books&amp;qid=1221104920&amp;sr=8-1&amp;tag=entesystbacka-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325\" target=\"_blank\">buy a copy of Preston&#8217;s book<\/a>. Fortunately for us, he has also started a <a href=\"http:\/\/nsrd.wordpress.com\/\" target=\"_blank\">NetWorker-focused blog<\/a>, so I don&#8217;t need to pretend I know much about the product.<\/p>\n<p>The one thing I did like about NetWorker was its extensive array of command-line tools. For a brief (and somewhat dated) overview of these commands, check out <a href=\"http:\/\/www.ipnom.com\/Legato-NetWorker-Commands\/\" target=\"_blank\">this site<\/a>. But back to my story. I&#8217;ve been doing some migration work for a customer with ESX \/ NetWorker \/ some CLARiiONs and needed to introduce a new library to their backup host. For some reason, when we added the drivers for the new library, it tried (and failed) to update the drivers on the old library as well. As a result of this, NetWorker started having conniptions, and the two Dedicated Storage Nodes attached to the library weren&#8217;t particularly happy either. So the client decided we should tear it down and only present the old library to the NetWorker server. Not necessarily the path I would have preferred to take, as I&#8217;ll have to clean it up next weekend, but it was getting late on Sunday night and we were all keen to not have to deal with this problem.<\/p>\n<p>So, the point of my story is that you can use a tool called <strong>jbconfig<\/strong> (the jukebox resource configuration tool) to configure libraries for NetWorker via the CLI. Note that you need to have drivers loaded on the host prior to configuring NetWorker &#8211; this ain&#8217;t no Backup Exec. So here&#8217;s an example of what you might see when running jbconfig, assuming that the library hasn&#8217;t been configured previously.<\/p>\n<p><strong>C:\\Documents and Settings\\user&gt;jbconfig<\/strong><\/p>\n<p><strong>Jbconfig is running on host backuphost.internal (Windows Server<br \/>\n2003 5.2),<br \/>\nand is using backuphost.internal as the NetWorker server.<\/strong><\/p>\n<p><strong>1) Configure an AlphaStor Library.<br \/>\n2) Configure an Autodetected SCSI Jukebox.<br \/>\n3) Configure an Autodetected NDMP SCSI Jukebox.<br \/>\n4) Configure an SJI Jukebox.<br \/>\n5) Configure an STL Silo.<br \/>\n6) Configure a Microsoft Removable Storage Jukebox.<\/strong><\/p>\n<p><strong>What kind of Jukebox are you configuring? [1] 2<br \/>\n14484:jbconfig: Scanning SCSI buses; this may take a while &#8230;<br \/>\nThese are the SCSI Jukeboxes currently attached to your system:<br \/>\n1) scsidev@2.2.1: Standard SCSI Jukebox, DELL \/ PV-132T<br \/>\n2) scsidev@2.6.1: Standard SCSI Jukebox, IBM \/ 3573-TL<br \/>\nWhich one do you want to install? 1<br \/>\nInstalling &#8216;Standard SCSI Jukebox&#8217; jukebox &#8211; scsidev@2.2.1.<\/strong><\/p>\n<p><strong>What name do you want to assign to this jukebox device? pv132t<br \/>\n15814:jbconfig: Attempting to detect serial numbers on the jukebox and drives ..<br \/>\n.<\/strong><\/p>\n<p><strong>15815:jbconfig: Will try to use SCSI information returned by jukebox to configur<br \/>\ne drives.<\/strong><\/p>\n<p><strong>Turn NetWorker auto-cleaning on (yes \/ no) [yes]?<\/strong><\/p>\n<p><strong>The following drive(s) can be auto-configured in this jukebox:<br \/>\n1&gt; LTO Ultrium-2 @ 2.2.2 ==&gt; \\\\.\\Tape0<br \/>\n2&gt; LTO Ultrium-2 @ 2.2.3 ==&gt; \\\\.\\Tape1<br \/>\nThese are all the drives that this jukebox has reported.<\/strong><\/p>\n<p><strong>To change the drive model(s) or configure them as shared or NDMP drives,<br \/>\nyou need to bypass auto-configure. Bypass auto-configure? (yes \/ no) [no] yes<br \/>\nIs (any path of) any drive intended for NDMP use? (yes \/ no) [no]<br \/>\nIs any drive going to have more than one path defined? (yes \/ no) [no] yes<\/strong><\/p>\n<p><strong>You will be prompted for multiple paths for each drive.<br \/>\nPressing &lt;Enter&gt; on a null default advances to the next drive.<\/strong><\/p>\n<p><strong>Please enter the device path information in one of the following formats:<\/strong><\/p>\n<p><strong>\\\\.\\Tape0 &#8211;for local path or<br \/>\nhost:device-path &#8211;for remote node or NDMP device(s) or<br \/>\nhost:drive-letter:directory path &#8211;for Windows disk file<\/strong><\/p>\n<p><strong>Drive\u00a0 1, element 256, system device name = \\\\.\\Tape0,<br \/>\nlocal bus, target, lun value = 2.2.2,<br \/>\nATNN=IBM\u00a0\u00a0\u00a0\u00a0 ULTRIUM-TD2\u00a0\u00a0\u00a0\u00a0 1110256727 model LTO Ultrium-2<br \/>\nDevice path 1 ? [\\\\.\\Tape0]<br \/>\nThis path already exists in the database. Proceed with the same path?<br \/>\n(yes \/ no) [yes]<br \/>\nDevice path 2 ? dsn01:\\\\.\\Tape0<br \/>\nDevice path 3 ? dsn02:\\\\.\\Tape0<br \/>\nDevice path 4 ?<\/strong><\/p>\n<p><strong>Drive\u00a0 2, element 257, system device name = \\\\.\\Tape1,<br \/>\nlocal bus, target, lun value = 2.2.3,<br \/>\nATNN=IBM\u00a0\u00a0\u00a0\u00a0 ULTRIUM-TD2\u00a0\u00a0\u00a0\u00a0 1110257072 model LTO Ultrium-2<br \/>\nDevice path 1 ? [\\\\.\\Tape1]<br \/>\nThis path already exists in the database. Proceed with the same path?<br \/>\n(yes \/ no) [yes]<br \/>\nDevice path 2 ? dsn01:\\\\.\\Tape1<br \/>\nDevice path 3 ? dsn02:\\\\.\\Tape1<br \/>\nDevice path 4 ?<\/strong><\/p>\n<p><strong>Only model LTO Ultrium-2 drives have been detected.<br \/>\nAre all drives in this jukebox of the same model?\u00a0 (yes \/ no) [yes]<br \/>\n14421:jbconfig:<br \/>\nA Dedicated Storage Node can backup only local data to its devices.<br \/>\nShould dsn02 be configured as a Dedicated Storage Node? (yes \/ no) [no] yes<br \/>\n14421:jbconfig:<br \/>\nA Dedicated Storage Node can backup only local data to its devices.<br \/>\nShould dsn01 be configured as a Dedicated Storage Node? (yes \/ no) [no] yes<br \/>\n14416:jbconfig:<br \/>\nFound device \\\\.\\Tape0 already configured in NetWorker.<br \/>\nDelete existing definition? (yes \/ no) [no] yes<br \/>\n14416:jbconfig:<br \/>\nFound device \\\\.\\Tape1 already configured in NetWorker.<br \/>\nDelete existing definition? (yes \/ no) [no] yes<\/strong><\/p>\n<p><strong>Jukebox has been added successfully<\/strong><\/p>\n<p><strong>The following configuration options have been set:<\/strong><\/p>\n<p><strong>&gt; Jukebox description to the control port and model.<br \/>\n&gt; Autochanger control port to the port at which we found it.<br \/>\n&gt; Networker managed tape autocleaning on.<br \/>\n&gt; At least one drive was defined with multiple paths.\u00a0 All such drives are<br \/>\ndefined with a hardware identification as well as a path value to avoid<br \/>\nconfusion by uniquely identifying the drive.\u00a0 The hardware identification<br \/>\nfor all drives which have one is always &#8216;autochanger_name &#8211; Drive #&#8217; where<br \/>\n&#8220;autochanger_name&#8221; is the name you gave to the autochanger that was<br \/>\njust defined, and the # symbol is the drive number.<br \/>\n&gt; Barcode reading to on.<br \/>\n&gt; Volume labels that match the barcodes.<br \/>\n&gt; Slot intended to hold cleaning cartridge to 22.\u00a0 Please insure that a<br \/>\ncleaning cartridge is in that slot<br \/>\n&gt; Number of times we will use a new cleaning cartridge to 50.<br \/>\n&gt; Cleaning interval for the tape drives to 6 months.<\/strong><\/p>\n<p><strong>You can review and change the characteristics of the autochanger and its<br \/>\nassociated devices using the NetWorker Management Console.<\/strong><\/p>\n<p><strong>Would you like to configure another jukebox? (yes\/no) [no] <\/strong><\/p>\n<p>Note that even though we&#8217;d deleted the library from the NMC previously, the definitions for Tape0 and Tape1 were still present in the NetWorker configuration. I&#8217;m trying to recall whether if I deleted the library using <strong>jbedit<\/strong> the results would be the same.<\/p>\n<p>Once you&#8217;ve setup the library using jbconfig, you should run <strong>jbverify<\/strong> to &#8220;check jukebox\/device configurations in NetWorker&#8221;. This will identify whether you got the order of devices correct, particularly for the Dedicated Storage Nodes. Of course, one way to make sure you have everything matched up is to run <strong>inquire<\/strong> on each attached node prior to launching into a jbconfig session. But sometimes you don&#8217;t realise these things until you&#8217;ve done it a few times &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Centuries ago, or at least in 2006, I worked at a fairly large EMC NetWorker site, looking after an ADIC (now Quantum) i2000 with 300 slots and 10 LTO-2 drives. It was a lot of fun when things went wrong, as they invariably did.\u00a0 So occasionally I had to use NetWorker tools to perform configuration [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,115],"tags":[21,120,116,117,118,76,119],"class_list":["post-203","post","type-post","status-publish","format-standard","hentry","category-dataprotection","category-networker-backup","tag-emc","tag-inquire","tag-jbconfig","tag-jbverify","tag-legato","tag-networker","tag-preston"],"_links":{"self":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/comments?post=203"}],"version-history":[{"count":2,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/203\/revisions"}],"predecessor-version":[{"id":205,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/203\/revisions\/205"}],"wp:attachment":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/media?parent=203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/categories?post=203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/tags?post=203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}