1 Reply Latest reply: Apr 11, 2012 9:18 AM by 928417 RSS

    Add tape device to non-global zone


      I have a SCSI attached Ultrium tape device attached and configured against the global zone.
      The /dev/rmt/0* definitions in the global zone are links to ../../devices/pci@2*

      I need to be able to use this tape device from the non-global zones.

      To enable this, I have done the following:
      zonecfg -z <zone name>
      add device
      set match=/dev/rmt/0

      I repeated the above for /dev/rmt/0m and /dev/rmt/0mn

      Then I restarted the zone with the command:
      zoneadm -z <zone name> reboot

      After the reboot, I can see the device when using "mt -f /dev/rmt/0 status", but whenever I try to write a SAP brbackup to the new (initialised and not write protected) tape within the drive I get the following error:
      BR0278E Command output of 'LANG=C cd /oracle/<SID>/sapbackup && /usr/sap/<SID>/SYS/exe/run/brtools -f detach LANG=C cpio -iuvB .tape
      sh: /dev/rmt/0mn: cannot open
      BR0280I BRBACKUP time stamp: 2012-04-04 08.21.41
      BR0279E Return code from 'LANG=C cd /oracle/<SID>/sapbackup && /usr/sap/<SID>/SYS/exe/run/brtools -f detach LANG=C cpio -iuvB .tape.
      BR0359E Restore of /oracle/<SID>/sapbackup/.tape.hdr0 from /dev/rmt/0mn failed due to previous errors

      Have I created the device incorrectly, or does anyone have any ideas what could be the reason the write fails?

      Any help appreciated.

      Edited by: user11329299 on 04-Apr-2012 01:09
        • 1. Re: Add tape device to non-global zone

          Just to bring you up to speed, I have now fixed the issue.

          The resolution was all within the iniSID.sap file that the backup is using. I have changed a number of parameters within this file:
          1.     tape_copy_cmd = dd (was cpio)
          2.     rewind = "mt     -f $ rew; sleep 30" (was " mt -f $ rew")
          3.     rewind_offline = "mt -f $ offline; sleep 30" (was "mt -f $ offline")
          4.     tape_pos_cmd = "mt -f $ fsf $: sleep 30" (was "mt -f $ fsf $")
          5.     tape_size = 500G (was 18000M)

          After making those changes, the backup started from within DB13. I believe that the main culprit was the tape_copy_cmd, but the others were changed to allow the tape drive time to become online again after any query.