{"id":301,"date":"2009-04-08T19:38:20","date_gmt":"2009-04-08T09:38:20","guid":{"rendered":"http:\/\/nsrd.wordpress.com\/?p=301"},"modified":"2018-12-12T16:22:26","modified_gmt":"2018-12-12T06:22:26","slug":"basics-jbverify","status":"publish","type":"post","link":"https:\/\/nsrd.info\/blog\/2009\/04\/08\/basics-jbverify\/","title":{"rendered":"Basics &#8211; jbverify"},"content":{"rendered":"<p>Now, some might say that I&#8217;m not the smartest card in the deck for what I&#8217;m about to note, but sometimes I don&#8217;t notice new commands when they appear in NetWorker, particularly if I skimmed through release notes.<\/p>\n<p>I was pleasantly surprised today to find that a new command had slipped in <em>at some point<\/em> called &#8220;jbverify&#8221;. I can immediately see it however entering my stable of must-use commands, particularly in a support environment.<\/p>\n<p>To quote the man page, <em>jbverify<\/em>:<\/p>\n<blockquote><p><em><strong>[V]erifies the devices defined in the NetWorker database, making sure that each one of them is configured properly by checking them&nbsp; for accessibility&nbsp; and&nbsp; usability.<\/strong><\/em><\/p><\/blockquote>\n<p>This is the sort of diagnostic tool that support people live for, and sites suddenly experiencing strange jukebox issues should think of as a matter of course.<\/p>\n<p>When run on my lab server this afternoon, I got the following badly formatted but still very useful output:<\/p>\n<pre># jbverify\n14866:jbverify:\n&nbsp;Jbverify is running on host nox, Linux 2.6.18-128.1.6.el5\n\n14912:jbverify:\n&nbsp;Processing stand-alone devices...\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/02\/_AF_readonly\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/02\/_AF_readonly\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/idata\/backup\/_AF_readonly\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/idata\/backup\/_AF_readonly\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/01\/_AF_readonly\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/01\/_AF_readonly\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/idata\/backup\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/idata\/backup\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/idata\/clone\/_AF_readonly\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/idata\/clone\/_AF_readonly\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/01\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/01\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/03\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/03\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/03\/_AF_readonly\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/03\/_AF_readonly\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/02\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/02\n\n14913:jbverify:\n&nbsp;Processing \/d\/nsr\/idata\/clone\n14915:jbverify:\n&nbsp;Finished processing \/d\/nsr\/idata\/clone\n\n14917:jbverify:\n&nbsp;Finished processing stand-alone devices.\n\n14918:jbverify:\n&nbsp;Processing jukebox devices...\n\n14920:jbverify:\n&nbsp;Processing jukebox LTO1_LIB:\n\n14733:jbverify:\n&nbsp;Testing drive 1 (\/dev\/nst0) of JB LTO1_LIB\n\n14927:jbverify:\n\n&nbsp;Jukebox LTO1_LIB on nox successfully processed.\n\n14929:jbverify:\n\n&nbsp;Finished processing jukebox devices.\n\n**********************************************************************\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Summary report of jbverify\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ======= ====== == ========\n\nHostname&nbsp;&nbsp; Device Handle&nbsp;&nbsp;&nbsp; Blocksize&nbsp; Jukebox&nbsp; Drv No. Status\n--------&nbsp;&nbsp; -------------&nbsp;&nbsp;&nbsp; ---------&nbsp; -------&nbsp; ------- ------\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/02\/_AF_readonly 131072 N\/A&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/idata\/backup\/_AF_readonly 131072 N\/A N\/A Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/01\/_AF_readonly 131072 N\/A&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/idata\/backup 131072&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/idata\/clone\/_AF_readonly 131072 N\/A N\/A Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 131072&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 131072&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/03\/_AF_readonly 131072 N\/A&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 131072&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/d\/nsr\/idata\/clone 131072&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N\/A&nbsp;&nbsp;&nbsp;&nbsp; Pass\nnox&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/dev\/nst0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 65536&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LTO1_LIB 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pass\n\n**********************************************************************<\/pre>\n<p>If you&#8217;ve come from NetBackup, the nature of this program is somewhat reminsicent of the <em>robtest<\/em> utility. I don&#8217;t claim EMC are special for having introduced this tool, but I do applaud that it&#8217;s there (and lament that I didn&#8217;t notice it sooner).<\/p>\n<p>(One thing to note: after running <em>jbverify<\/em>, make sure you reset your jukebox.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now, some might say that I&#8217;m not the smartest card in the deck for what I&#8217;m about to note, but&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6],"tags":[1243,507,512],"class_list":["post-301","post","type-post","status-publish","format-standard","hentry","category-basics","tag-basics","tag-jbverify","tag-jukebox"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pKpIN-4R","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/comments?post=301"}],"version-history":[{"count":1,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions"}],"predecessor-version":[{"id":7672,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions\/7672"}],"wp:attachment":[{"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/media?parent=301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/categories?post=301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nsrd.info\/blog\/wp-json\/wp\/v2\/tags?post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}