Find the answer to your Linux question:
Results 1 to 4 of 4
Hello All I'm a total noob to this so please be gentle... I have an old StorageTek Tape library, connected to the network, that I need to control to mount ...
  1. #1
    Just Joined!
    Join Date
    Nov 2011
    Posts
    2

    Mounting a Tape Drive

    Hello All

    I'm a total noob to this so please be gentle...

    I have an old StorageTek Tape library, connected to the network, that I need to control to mount tapes etc.

    I have a Linux box up and running with Red Hat, and some software called MTX to control the library.

    Now... the bit I'm stuck on is that I don't know how to make the connection from the Linux box, to the library - i guessed a mount command but am unsure.


    all help greatly appreciated.
    thanks

  2. #2
    Linux Guru Irithori's Avatar
    Join Date
    May 2009
    Location
    Munich
    Posts
    2,100
    It would be good to know exactly, which StorageTek tapelibrary you have.

    Its network connect is only for remote management.
    The redhat machine will not be able to use it. (Well, at least this is not the intended way)

    You will need to connect this tapelib via scsi, sas or fc.
    There is a way to reset the scsi bus, but I usually just reboot to get the devices visible in linux.

    Generally, you will have
    1) A generic scsi device, that controls the library
    Let´s say it is /dev/sg4
    The number may be different on your box
    2) One or more scsi tape devices.
    In this example: One tapedrive /dev/nst0


    After you inserted the tapes and turned on the tapelib,
    it will cycle through all tapes to create an inventory.

    The tapelib is busy while doing so and any action via mtx command will fail (except the status)

    Once the tapelib is done, you can look at it.
    Output looks like this
    Code:
    # mtx -f /dev/sg4 status
      Storage Changer /dev/sg4:1 Drives, 23 Slots ( 1 Import/Export )
    Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = 000001                          
          Storage Element 1:Empty:VolumeTag=                                
          Storage Element 2:Full :VolumeTag=000002                          
          Storage Element 3:Full :VolumeTag=000003                          
          Storage Element 4:Full :VolumeTag=000004                          
          Storage Element 5:Full :VolumeTag=000005                          
          Storage Element 6:Full :VolumeTag=000006                          
          Storage Element 7:Full :VolumeTag=000007                          
          Storage Element 8:Empty:VolumeTag=                                
          Storage Element 9:Empty:VolumeTag=                                
          Storage Element 10:Empty:VolumeTag=                                
          Storage Element 11:Empty:VolumeTag=                                
          Storage Element 12:Empty:VolumeTag=                                
          Storage Element 13:Empty:VolumeTag=                                
          Storage Element 14:Empty:VolumeTag=                                
          Storage Element 15:Full :VolumeTag=000008                          
          Storage Element 16:Full :VolumeTag=000009                          
          Storage Element 17:Full :VolumeTag=000010                          
          Storage Element 18:Full :VolumeTag=000011                          
          Storage Element 19:Full :VolumeTag=000012                          
          Storage Element 20:Full :VolumeTag=000013                          
          Storage Element 21:Full :VolumeTag=000014                          
          Storage Element 22:Full :VolumeTag=000015                          
          Storage Element 23 IMPORT/EXPORT:Empty:VolumeTag=
    So, this is a small tapelib with
    - 22 Slots
    - 1 portal
    - 1 drive

    - tape with VolumeTag 000001 is loaded in the drive
    - tapes 000001 -> 000007 are in slot 1-7
    - tapes 000008 -> 000015 are in slot 15-22
    - portal is empty

    You can load and unload a tape (tag 1) to the drive (0) with
    Code:
    mtx -f /dev/sg4 load 1 0
    mtx -f /dev/sg4 unload 1 0
    Once the tape is in the drive, you would then operate with mt
    Code:
    man mt
    mt -f /dev/nst0 status
    mt -f /dev/nst0 rewind

    It is good to know about these tools, but usually your backup application will deal with tape management.
    (under the hood, also mtx and mt are used)

    What I use to backup >100TByte (total) from ca 250 clients is bacula
    You must always face the curtain with a bow.

  3. #3
    Just Joined!
    Join Date
    Nov 2011
    Posts
    2
    Hi,

    Thanks for your reply...

    Its a StorageTek L180 - its been sat around for years, and finally we need to get rid of it, except, nothing we have can get it to serve mount requests - we can only read what is in the drive. So either I find some way to make it serve mount requests from Linux, or the iSeries host or I'll be sat in the DC for 2 months manually loading around 5000 tapes.

    To my knowledge it is also connected to the SAN via fiber - although, I'm off to the DC to look myself next week.

    I was hoping to just use the library IP address to tell it to mount certain tapes

    Also tried using Bacula, but it wanted a port number which I could not determine.


    Any suggestions very welcome, data centres are cold and noisy....

    thanks
    Alex.

  4. #4
    Linux Guru Irithori's Avatar
    Join Date
    May 2009
    Location
    Munich
    Posts
    2,100
    Ok, so you have this partition capable tapelib:
    http://www.spectra.com/pdfs/l180.pdf
    Also in a SAN.

    That complicates the matter, because both partitioning and SAN can limit the number of machines that actually can access the tapelib.

    Tapelib partitioning: You can define which slots are visible per drive(s)
    SAN: fc switches can define on a port basis, which WWPNs are visible to each other


    So, *assuming* that
    - the redhat and/or iSeries box are physically connected via fc to the tapelib
    - the redhat and/or iSeries box are can "see" all WWPNs of the tapelib
    - the redhat and/or iSeries box are HBAs are configured correctly
    - the tapelibs´ partitioning config exposes all slots/drives to the redhat and/or iSeries box
    then the mtx command outlined in my first post should provide you an overview and control to load/unload (or mount as you call it) the tapes one after another.


    Another option is to go via the tapelibs management interface.
    That may be an admin website available on the tapelibs IP.
    Or there is a proprietary management software.
    Or both.
    Cant tell for sure, because I dont have hands-on experience with a StorageTek tapelib.

    Anyway, once you are logged into the management interface, you should also be able to (un)load tape from/to a drive.


    Another thing:
    According to the specs, the L180 has a maximum capacity of 174 slots in its maximum configuration.
    As you have 5000 tapes, I am afraid someone will have to go on-site anyway.
    But a fully loaded and functional L180 is of course much more convenient to handle than (un)loading 5000 tapes manually.
    You must always face the curtain with a bow.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
...