Veritas-bu

[Veritas-bu] Using vmchange to eject tapes, v4.5 (currently without big patch set)

2002-10-15 16:15:47
Subject: [Veritas-bu] Using vmchange to eject tapes, v4.5 (currently without big patch set)
From: Mark.Donaldson AT experianems DOT com (Donaldson, Mark)
Date: Tue, 15 Oct 2002 14:15:47 -0600
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C27487.A62673A0
Content-Type: text/plain;
        charset="iso-8859-1"

I've noticed one annoying behavior and one potential bug in using vmchange
to eject tapes. 

1. A bug (?) where the volume database will be inconsistent with the tape
locations if the tapes are not acutally removed from the mailslots when
prompted.

2. An annoying "feature" where I can't seem to run this multi-eject command
non-interactively - I want to leave the tapes in the mailslots while the
command completes. 

I'd like comments and/or fixes to both.  Details follow...

---------------

I've been doing this in v3.4 to eject tapes (which still works in v4.5):

vmchange -res -m <tapenum> -mt dlt -e -sec 1


This command seems to work in v4.5 but I've noticed that they've supplied a
new multi-eject form, too.  Ideally, I'd like to stay with the documented
command set.

        vmchange -res -multi_eject -w -verbose
        -rn <robot_number> -rt <robot_type> -rh <robot_control_host>
        -ml <media_id:media_id:...:media_id>

I can use this to eject tapes - however, it wants me to complete the process
by physically removing tapes from the mailslots when prompted while I want
to leave them there (so I can go on to page the tape apes, etc. to fetch and
carry).  If I hit <return> to complete the command (without removing tapes),
the tapes are automatically replaced back into the library slots but the
volume database remains incorrect, showing them as out-of-library.  If I
interrupt the command while waiting at the "press return" prompt, then it
does what I want except that I had to interact with it to achieve this.

[root]#vmchange -res -multi_eject -w -verbose -rn 0 -rt tld -ml
CG0131:CG0132
*** Eject volume batch #1 is ready to be removed ***
        remove 2 volume(s) from media access port(s) of robot number 0 now
        (press <RETURN> to continue)  <<<<< I hit return here without
removing
                                      <<<<< the tapes. Afterword tldtest
shows
                                      <<<<< them as back in the main library
slots

Slot# MediaID Barcode     MAP_Element#  Batch  Status
  124 CG0131  UNKNOWN                1      1  Eject aborted.
   66 CG0132  UNKNOWN                2      1  Eject aborted.


tldtest shows them as not in the mailslots but returned back into the
library slots:
[root] #echo "s i" | tldtest -r /dev/sg/c1t3l0
Opening /dev/sg/c1t3l0
Enter tld commands (? returns help information)
Address 10, import_enabled = 1, export_enabled = 1, access = 1
  except = 0, import_export = 0, full = 0
Address 11, import_enabled = 1, export_enabled = 1, access = 1
<snip>

[root] #echo "s s" | tldtest -r /dev/sg/c1t3l0
Opening /dev/sg/c1t3l0
Enter tld commands (? returns help information)
<snip>
slot 32 (addr 1031) contains Cartridge = yes
Source address = 10
Barcode = CG0131
<snip>
slot 66 (addr 1065) contains Cartridge = yes
Source address = 11
Barcode = CG0132
<snip>


Now I checkout the volume database and it shows them incorrectly as out of
library (field 9 is slot num):
[root] #vmquery -a -w | grep CG013[12] | awk '{print $1,$9}'
CG0131 -
CG0132 -


Update the inventory to make them appear again:
[root] #/usr/openv/local/update_inventory    <<<<< wrapper around "vmupdate"
## Please wait...
##   Updating robot 0.
## Done.
[root] #vmquery -a -w | grep CG013[12] | awk '{print $1,$9}'
CG0131 32
CG0132 66


If I interrupt the vmchange command in mid-eject, right when it says "press
return", then it'll leave the tapes in the mailslots.

[root] #vmchange -res -w -multi_eject -verbose -rn 0 -rt tld -rh europa -ml
CG0131:CG0132

*** Eject volume batch #1 is ready to be removed ***
        remove 2 volume(s) from media access port(s) of robot number 0 now
        (press <RETURN> to continue)^C
[root] #


The library agrees that the tapes are in the mailslots (visually confirmed,
too)
[root] #echo "s i" | tldtest -r /dev/sg/c1t3l0
Opening /dev/sg/c1t3l0
Enter tld commands (? returns help information)
Address 10, import_enabled = 1, export_enabled = 1, access = 1
  except = 0, import_export = 0, full = 1
  Source address = 1031
  Barcode = CG0131
Address 11, import_enabled = 1, export_enabled = 1, access = 1
  except = 0, import_export = 0, full = 1
  Source address = 1065
  Barcode = CG0132
<snip>


Volume database is correct:
[root] #vmquery -a -w | grep CG013[12] | awk '{print $1,$9}'
CG0131 -
CG0132 -


What I want is this second behavior - ejected tapes, correct volDB, etc. to
occur non-interactively, without having to hit break at the command line.
Is this just a Veritas ploy to get us to purchase Vault?

-Mark

Solaris 8, NB v4.5.0 (no jumbo patch), STK-L700E library without ACSLS.

X-posted to Veritas-bu & NBU-Advanced script list

------_=_NextPart_001_01C27487.A62673A0
Content-Type: text/html;
        charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>Using vmchange to eject tapes, v4.5 (currently without big patch =
set)</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2>I've noticed one annoying behavior and one potential =
bug in using vmchange to eject tapes. </FONT>
</P>

<P><FONT SIZE=3D2>1. A bug (?) where the volume database will be =
inconsistent with the tape locations if the tapes are not acutally =
removed from the mailslots when prompted.</FONT></P>

<P><FONT SIZE=3D2>2. An annoying &quot;feature&quot; where I can't seem =
to run this multi-eject command non-interactively - I want to leave the =
tapes in the mailslots while the command completes. </FONT></P>

<P><FONT SIZE=3D2>I'd like comments and/or fixes to both.&nbsp; Details =
follow...</FONT>
</P>

<P><FONT SIZE=3D2>---------------</FONT>
</P>

<P><FONT SIZE=3D2>I've been doing this in v3.4 to eject tapes (which =
still works in v4.5):</FONT>
</P>

<P><FONT SIZE=3D2>vmchange -res -m &lt;tapenum&gt; -mt dlt -e -sec =
1</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>This command seems to work in v4.5 but I've noticed =
that they've supplied a new multi-eject form, too.&nbsp; Ideally, I'd =
like to stay with the documented command set.</FONT></P>

<P><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vmchange =
-res -multi_eject -w -verbose</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -rn =
&lt;robot_number&gt; -rt &lt;robot_type&gt; -rh =
&lt;robot_control_host&gt;</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -ml =
&lt;media_id:media_id:...:media_id&gt;</FONT>
</P>

<P><FONT SIZE=3D2>I can use this to eject tapes - however, it wants me =
to complete the process by physically removing tapes from the mailslots =
when prompted while I want to leave them there (so I can go on to page =
the tape apes, etc. to fetch and carry).&nbsp; If I hit &lt;return&gt; =
to complete the command (without removing tapes), the tapes are =
automatically replaced back into the library slots but the volume =
database remains incorrect, showing them as out-of-library.&nbsp; If I =
interrupt the command while waiting at the &quot;press return&quot; =
prompt, then it does what I want except that I had to interact with it =
to achieve this.</FONT></P>

<P><FONT SIZE=3D2>[root]#vmchange -res -multi_eject -w -verbose -rn 0 =
-rt tld -ml CG0131:CG0132</FONT>
<BR><FONT SIZE=3D2>*** Eject volume batch #1 is ready to be removed =
***</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remove 2 =
volume(s) from media access port(s) of robot number 0 now</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (press =
&lt;RETURN&gt; to continue)&nbsp; &lt;&lt;&lt;&lt;&lt; I hit return =
here without removing</FONT>
<BR><FONT =
SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; &lt;&lt;&lt;&lt;&lt; the tapes. Afterword tldtest =
shows</FONT>
<BR><FONT =
SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; &lt;&lt;&lt;&lt;&lt; them as back in the main library =
slots</FONT>
</P>

<P><FONT SIZE=3D2>Slot# MediaID Barcode&nbsp;&nbsp;&nbsp;&nbsp; =
MAP_Element#&nbsp; Batch&nbsp; Status</FONT>
<BR><FONT SIZE=3D2>&nbsp; 124 CG0131&nbsp; =
UNKNOWN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; Eject =
aborted.</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp; 66 CG0132&nbsp; =
UNKNOWN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; Eject =
aborted.</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>tldtest shows them as not in the mailslots but =
returned back into the library slots:</FONT>
<BR><FONT SIZE=3D2>[root] #echo &quot;s i&quot; | tldtest -r =
/dev/sg/c1t3l0</FONT>
<BR><FONT SIZE=3D2>Opening /dev/sg/c1t3l0</FONT>
<BR><FONT SIZE=3D2>Enter tld commands (? returns help =
information)</FONT>
<BR><FONT SIZE=3D2>Address 10, import_enabled =3D 1, export_enabled =3D =
1, access =3D 1</FONT>
<BR><FONT SIZE=3D2>&nbsp; except =3D 0, import_export =3D 0, full =3D =
0</FONT>
<BR><FONT SIZE=3D2>Address 11, import_enabled =3D 1, export_enabled =3D =
1, access =3D 1</FONT>
<BR><FONT SIZE=3D2>&lt;snip&gt;</FONT>
</P>

<P><FONT SIZE=3D2>[root] #echo &quot;s s&quot; | tldtest -r =
/dev/sg/c1t3l0</FONT>
<BR><FONT SIZE=3D2>Opening /dev/sg/c1t3l0</FONT>
<BR><FONT SIZE=3D2>Enter tld commands (? returns help =
information)</FONT>
<BR><FONT SIZE=3D2>&lt;snip&gt;</FONT>
<BR><FONT SIZE=3D2>slot 32 (addr 1031) contains Cartridge =3D =
yes</FONT>
<BR><FONT SIZE=3D2>Source address =3D 10</FONT>
<BR><FONT SIZE=3D2>Barcode =3D CG0131</FONT>
<BR><FONT SIZE=3D2>&lt;snip&gt;</FONT>
<BR><FONT SIZE=3D2>slot 66 (addr 1065) contains Cartridge =3D =
yes</FONT>
<BR><FONT SIZE=3D2>Source address =3D 11</FONT>
<BR><FONT SIZE=3D2>Barcode =3D CG0132</FONT>
<BR><FONT SIZE=3D2>&lt;snip&gt;</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>Now I checkout the volume database and it shows them =
incorrectly as out of library (field 9 is slot num):</FONT>
<BR><FONT SIZE=3D2>[root] #vmquery -a -w | grep CG013[12] | awk '{print =
$1,$9}'</FONT>
<BR><FONT SIZE=3D2>CG0131 -</FONT>
<BR><FONT SIZE=3D2>CG0132 -</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>Update the inventory to make them appear =
again:</FONT>
<BR><FONT SIZE=3D2>[root] =
#/usr/openv/local/update_inventory&nbsp;&nbsp;&nbsp; =
&lt;&lt;&lt;&lt;&lt; wrapper around &quot;vmupdate&quot;</FONT>
<BR><FONT SIZE=3D2>## Please wait...</FONT>
<BR><FONT SIZE=3D2>##&nbsp;&nbsp; Updating robot 0.</FONT>
<BR><FONT SIZE=3D2>## Done.</FONT>
<BR><FONT SIZE=3D2>[root] #vmquery -a -w | grep CG013[12] | awk '{print =
$1,$9}'</FONT>
<BR><FONT SIZE=3D2>CG0131 32</FONT>
<BR><FONT SIZE=3D2>CG0132 66</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>If I interrupt the vmchange command in mid-eject, =
right when it says &quot;press return&quot;, then it'll leave the tapes =
in the mailslots.</FONT></P>

<P><FONT SIZE=3D2>[root] #vmchange -res -w -multi_eject -verbose -rn 0 =
-rt tld -rh europa -ml CG0131:CG0132</FONT>
</P>

<P><FONT SIZE=3D2>*** Eject volume batch #1 is ready to be removed =
***</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; remove 2 =
volume(s) from media access port(s) of robot number 0 now</FONT>
<BR><FONT SIZE=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (press =
&lt;RETURN&gt; to continue)^C</FONT>
<BR><FONT SIZE=3D2>[root] #</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>The library agrees that the tapes are in the =
mailslots (visually confirmed, too)</FONT>
<BR><FONT SIZE=3D2>[root] #echo &quot;s i&quot; | tldtest -r =
/dev/sg/c1t3l0</FONT>
<BR><FONT SIZE=3D2>Opening /dev/sg/c1t3l0</FONT>
<BR><FONT SIZE=3D2>Enter tld commands (? returns help =
information)</FONT>
<BR><FONT SIZE=3D2>Address 10, import_enabled =3D 1, export_enabled =3D =
1, access =3D 1</FONT>
<BR><FONT SIZE=3D2>&nbsp; except =3D 0, import_export =3D 0, full =3D =
1</FONT>
<BR><FONT SIZE=3D2>&nbsp; Source address =3D 1031</FONT>
<BR><FONT SIZE=3D2>&nbsp; Barcode =3D CG0131</FONT>
<BR><FONT SIZE=3D2>Address 11, import_enabled =3D 1, export_enabled =3D =
1, access =3D 1</FONT>
<BR><FONT SIZE=3D2>&nbsp; except =3D 0, import_export =3D 0, full =3D =
1</FONT>
<BR><FONT SIZE=3D2>&nbsp; Source address =3D 1065</FONT>
<BR><FONT SIZE=3D2>&nbsp; Barcode =3D CG0132</FONT>
<BR><FONT SIZE=3D2>&lt;snip&gt;</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>Volume database is correct:</FONT>
<BR><FONT SIZE=3D2>[root] #vmquery -a -w | grep CG013[12] | awk '{print =
$1,$9}'</FONT>
<BR><FONT SIZE=3D2>CG0131 -</FONT>
<BR><FONT SIZE=3D2>CG0132 -</FONT>
</P>
<BR>

<P><FONT SIZE=3D2>What I want is this second behavior - ejected tapes, =
correct volDB, etc. to occur non-interactively, without having to hit =
break at the command line.&nbsp; Is this just a Veritas ploy to get us =
to purchase Vault?</FONT></P>

<P><FONT SIZE=3D2>-Mark</FONT>
</P>

<P><FONT SIZE=3D2>Solaris 8, NB v4.5.0 (no jumbo patch), STK-L700E =
library without ACSLS.</FONT>
</P>

<P><FONT SIZE=3D2>X-posted to Veritas-bu &amp; NBU-Advanced script =
list</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C27487.A62673A0--

<Prev in Thread] Current Thread [Next in Thread>
  • [Veritas-bu] Using vmchange to eject tapes, v4.5 (currently without big patch set), Donaldson, Mark <=