Tuesday, March 03, 2020

Configuring Bacula Backup Software for Solaris 11.4

Following up from my last post Building Bacula Backup Software for Solaris 11.4 where I got the software up and running, now it time to do the configuration which is the toughest part and longest section.
It will not be a full configuration  walk through since I think you can find better ones on the web from people who have been using Bacula for longer.

Check Tape and Autochanger

$ inquire
(using name lookup)
scsidev@7.0.0:LSILOGICLogical Volume  3000|Disk, /dev/rdsk/c7t0d0s2
                                           WWNN=600508E0000000007BFBC883B38E790C
scsidev@7.2.0:LSILOGICLogical Volume  3000|Disk, /dev/rdsk/c7t2d0s2
                                           WWNN=600508E0000000000EB973AB406C0204
scsidev@10.1.0:HP      Ultrium 5-SCSI  Y6MZ|Tape, /dev/rmt/0dcbn
                                           S/N: C38CDAB000
                                           ATNN=HP      Ultrium 5-SCSI  C38CDAB000
                                           WWNN=500308C38CDAB000
                                           WWPN=500308C38CDAB001
                                           WW2N=500308C38CDAB000
                                           PORT=00000001
                                           UNKN=00000000
                                           Can Encrypt & Decrypt
scsidev@10.4.1:QUANTUM Scalar i40-i80  190G|Autochanger (Jukebox), /dev/scsi/changer/c10t500308C38CDAB001d1
                                           S/N: QUANTUMD0H0021905_LLA   
                                           ATNN=QUANTUM D0H0021905_LLA          
2 Disk, 1 Tape, 1 Autochanger (Jukebox), Total: 4

$ mtx -f /dev/scsi/changer/c10t500308C38CDAB001d1 status
  Storage Changer /dev/scsi/changer/c10t500308C38CDAB001d1:1 Drives, 29 Slots ( 5 Import/Export )
Data Transfer Element 0:Empty
      Storage Element 1:Full :VolumeTag=IEF975                          
      Storage Element 2:Full :VolumeTag=IEF974                          
      Storage Element 3:Full :VolumeTag=IEF978                          
      Storage Element 4:Full :VolumeTag=IEF977                          
      Storage Element 5:Full :VolumeTag=IEF976                         
      .... 
$ mtx -f /dev/scsi/changer/c10t500308C38CDAB001d1 load 2
Loading media from Storage Element 2 into drive 0...done

Check current information about tape drive:
$ tapeinfo -f /dev/rmt/0
Product Type: Tape Drive
Vendor ID: 'HP      '
Product ID: 'Ultrium 5-SCSI  '
Revision: 'Y6MZ'
Attached Changer API: No
SerialNumber: 'C38CDAB000'
MinBlock: 1
MaxBlock: 16777215
Ready: yes
BufferedMode: yes
Medium Type: Not Loaded
Density Code: 0x58
BlockSize: 0
DataCompEnabled: yes      << Hardware compression is enabled
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x1
DeCompType: 0x1
BOP: yes
Block Position: 0
Partition 0 Remaining Kbytes: 1470031
Partition 0 Size in Kbytes: 1470031
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions: 0
MaxPartitions: 1

Now lets alter the configuration files and since they have been populated with basic information and passwords then it may be best to edit them.

My versions are available so please look at them for information bacula-dir.conf,  bacula-fd.confbacula-sd.conf, client.conf and filesets.conf.

bacula-dir.conf:
JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = cronus-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = QUANTUMTapeLibrary         # My autochanger configuration
  #Storage = Disks                     # IF you want to save to disk (NO tape)
  Spool Data = yes                     # Spool data to disk for write to tape (Avoid shoe-shine)
  Messages = Standard
  SpoolAttributes = yes
  Pool = RemoteFile                    # Pool I will use                       
  Priority = 10
  Write Bootstrap = "/var/share/bacula/working/%c.bsr"
}

# Definition of file Virtual Autochanger device for backup to Disks
Autochanger {
  Name = Disks
  Address = cronus                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "xxxxxxxxxxxxxxxxxxxxx"
  Device = DiskChanger
  Media Type = Disks
  Maximum Concurrent Jobs = 10        # run up to 10 jobs a the same time
  Autochanger = Disks                 # point to ourself
}

# Definition of file Virtual Autochanger device for backup to Tape
Autochanger {
  Name = QUANTUMTapeLibrary
  Address = cronus                
  SDPort = 9103
  Password = "xxxxxxxxxxxxxxxxxx"
  AutoChanger = Yes
  Device     = LTO5
  Media Type = LTO
  Maximum Concurrent Jobs = 14        # run up to 14 jobs a the same time
  Autochanger = QUANTUMTapeLibrary    # point to ourself
}
Pool {
  Name = RemoteFile
  Pool Type = Backup
  #Label Format = "Remote-"             # comment out when using QUANTUMTapeLibrary
  Recycle = yes 
  AutoPrune = yes 
  Volume Retention = 365 days 
  ##Maximum Volume Bytes = 300G 
  ##Maximum Volumes = 100 
}

# Client definition files
@/opt/bacula/etc/client.conf

# FileSet resource for clients
@/opt/bacula/etc/filesets.conf

bacula-sd.conf
# Used when backup up to disk
Autochanger {
  Name = DiskChanger
  Device = FileStorage
  Description     = "Local Disks"
  Changer Command = ""
  Changer Device = /dev/null
}
Device {
  Name = FileStorage
  Media Type = Disks
  Archive Device = "/var/share/bacula/backup"  # Location of Backups Volumes
  LabelMedia = yes;                   # lets Bacula label unlabelled media
  Random Access = Yes;
  AutomaticMount = yes;               
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 5
  Maximum Volume Size = 8G            # Volume size. This should be bigger if using disk
}

# Definition of LTO-5 tape Autochanger device
Autochanger {
  Name = QUANTUMTapeLibrary
  Device          = LTO5
  Description     = "Quantum Scalar i40 Library"
  Changer Device  = /dev/scsi/changer/c10t500308C38CDAB001d1
  Changer Command = "/opt/bacula/scripts/mtx-changer %c %o %S %a %d"
}

Device {
  Name                    = LTO5
  Description             = "Quantum Scalar i40 Library LTO-5 HP"
  Media Type              = LTO
  Archive Device          = /dev/rmt/0cbn
  Autochanger             = yes
  Drive Index             = 0
  Offline On Unmount      = no
  #The below are for refernce but do not enable them.
  #Hardware End of Medium = No          # Default YES: Via tape test
  #BSF at EOM              = no         # Default NO:   But Try yes
  #Backward Space Record   = no         # Default YES:
  #Backward Space File = no             # Default YES:
  #Fast Forward Space File = No         # Default YES:  Via tape test
  #TWO EOF                 = yes        # Default NO: But Try yes
  Spool Directory         = /var/share/bacula/spooling  # Spool before writing to tape
  Maximum Spool Size      = 100G                        # Spool size
  Maximum File Size       = 10GB
  Maximum Concurrent Jobs = 8
  AutomaticMount = yes
  AlwaysOpen = yes
  RemovableMedia = yes
  RandomAccess = no
  Changer Command = "/opt/bacula/scripts/mtx-changer %c %o %S %a %d"
  Changer Device  = /dev/scsi/changer/c10t500308C38CDAB001d1
  AutoChanger = yes
}

client.conf:
# Filesrv
Client {
  Name = filesrv-fd
  Address = filesrv.dcs.bbk.ac.uk
  FDPort = 9102
  Catalog = MyCatalog
  Password = "kWz1qucm/3Rhgjk8CacZRnJStlQ/nzaf4Qt4Hf1SnncC"
  File Retention = 60 days            # 60 days
  Job Retention = 12 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
  Maximum Concurrent Jobs = 6
}

Job {
  Name = "BackupFilesrv"
  JobDefs = "DefaultJob"
  Client = filesrv-fd
  Pool = RemoteFile
  Maximum Concurrent Jobs = 6
  FileSet="SolarisClientRoot"
}
filesets.conf:
# The Solaris client does a dynamic backup of all mount zfs excluding some obvious ones. 
FileSet {
  Name = "SolarisClientRoot"
  Include {
    Options {
      signature = MD5
      compression = GZIP
    }
    Options {
      wildfile = "*.o"
      wildfile = "*.exe"
      wildfile = "core"
      exclude = yes
    }
    File = "\\|sh -c \"/usr/bin/df -nF zfs | /usr/bin/nawk ' { print \$1 } ' | /usr/bin/egrep -v '\^/rpool|\^/export|\^/dev|\^/system|\^/proc|\^/etc/mnttab|\^/syst
em/volatile|\^/tmp|\^/etc/dfs/sharetab|\^/var/tmp|\^/var/share/pkg|\^/var/share/sstore|\^/var/share/kvol' \" "
  }
  Exclude {
    File = /var/run
    File = /var/share/bacula/working
    File = /var/share/bacula/spooling
    File = /var/share/bacula/restore
    File = /var/share/bacula/backup
  }
}

FileSet {
  Name = "WindowsClientRoot"
  Include {
    Options {
      signature = MD5
      compression = GZIP
    }
    Options {
      #onefs = no
      IgnoreCase = yes
      exclude = yes
      # 
      WildDir = "[A-Z]:/home/*/Winntpro*"
      WildDir = "[A-Z]:/shome/*/Winntpro*"
      wildfile = "*.bin"
      wildfile = "*.zip"
      wildfile = "*.vhd"
      wildfile = "*.iso"
      # Not checked vv
      WildDir = "[A-Z]:/Users/*"
      # Temporary directories & files
      WildDir = "[A-Z]:/Windows/Temp"
      WildDir = "[A-Z]:/Temp"
      WildDir = "[A-Z]:/var/tmp"
      WildDir = "[A-Z]:/Windows/Internet Logs"
      WildDir = "[A-Z]:/Windows/$Nt*Uninstall*"
      # Recycle bins
      WildDir = "[A-Z]:/Recycler"
      WildDir = "[A-Z]:/$Recycle.Bin"
      # Swap files
      WildFile = "[A-Z]:/pagefile.sys"
      WildFile = "[A-Z]:/hiberfil.sys"
    }
    File = "H:/"
  }
  Exclude {
    File = C:/Windows
  }
}


Time to test configuration and do some backups:
$ export PATH=$PATH:/opt/bacula/bin
$ bacula-dir -tc /opt/bacula/etc/bacula-dir.conf
$ bacula-sd -tc /opt/bacula/etc/bacula-sd.conf
$ bacula-fd -tc /opt/bacula/etc/bacula-fd.conf

Check tape and autochanger work (LTO5 is from the baula-sd.conf): Check the output carefully and it may even recommend new settings. 
# Load tape first.
$ mtx -f /dev/scsi/changer/c10t500308C38CDAB001d1 load 2
Loading media from Storage Element 2 into drive 0...done

$ btape -v LTO5
Tape block granularity is 1024 bytes.
btape: butil.c:290-0 Using device: "LTO5" for writing.
btape: btape.c:478-0 open device "LTO5" (/dev/rmt/0cbn): OK
*test

=== Write, rewind, and re-read test ===

I'm going to write 10000 records and an EOF
then write 10000 records and an EOF, then rewind,
and re-read the data to verify that it is correct.

This is an *essential* feature ...

btape: btape.c:1161-0 Wrote 10000 blocks of 64412 bytes.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1177-0 Wrote 10000 blocks of 64412 bytes.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1219-0 Rewind OK.
10000 blocks re-read correctly.
Got EOF on tape.
10000 blocks re-read correctly.
=== Test Succeeded. End Write, rewind, and re-read test ===

btape: btape.c:1286-0 Block position test
btape: btape.c:1297-0 Rewind OK.
Reposition to file:block 0:4
Block 5 re-read correctly.
Reposition to file:block 0:200
Block 201 re-read correctly.
Reposition to file:block 0:9999
Block 10000 re-read correctly.
Reposition to file:block 1:0
Block 10001 re-read correctly.
Reposition to file:block 1:600
Block 10601 re-read correctly.
Reposition to file:block 1:9999
Block 20000 re-read correctly.
=== Test Succeeded. End Write, rewind, and re-read test ===

=== Append files test ===
This test is essential to Bacula.

I'm going to write one record  in file 0,
                   two records in file 1,
             and three records in file 2

btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:478-0 open device "LTO5" (/dev/rmt/0cbn): OK
btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1430-0 Now moving to end of medium.
btape: btape.c:633-0 Moved to end of medium.
We should be in file 3. I am at file 3. This is correct!

Now the important part, I am going to attempt to append to the tape.

btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
Done appending, there should be no I/O errors

Doing Bacula scan of blocks:
Block=19999 file,blk=0,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
1 block of 64448 bytes in file 1
End of File mark.
Block=20000 file,blk=1,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
Block=20001 file,blk=1,2 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
2 blocks of 64448 bytes in file 2
End of File mark.
Block=20002 file,blk=2,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
Block=20003 file,blk=2,2 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
Block=20004 file,blk=2,3 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
3 blocks of 64448 bytes in file 3
End of File mark.
Block=20005 file,blk=3,1 blen=64448 First rec FI=0 SessId=0 SessTim=0 Strm=0 rlen=64412
1 block of 64448 bytes in file 4
End of File mark.
Total files=4, blocks=7, bytes = 451,136
End scanning the tape.
We should be in file 4. I am at file 4. This is correct!

The above Bacula scan should have output identical to what follows.
Please double check it ...
=== Sample correct output ===
1 block of 64448 bytes in file 1
End of File mark.
2 blocks of 64448 bytes in file 2
End of File mark.
3 blocks of 64448 bytes in file 3
End of File mark.
1 block of 64448 bytes in file 4
End of File mark.
Total files=4, blocks=7, bytes = 451,136
=== End sample correct output ===

If the above scan output is not identical to the
sample output, you MUST correct the problem
or Bacula will not be able to write multiple Jobs to 
the tape.

=== Write, backup, and re-read test ===

I'm going to write three records and an EOF
then backup over the EOF and re-read the last record.
Bacula does this after writing the last block on the
tape to verify that the block was written correctly.

This is not an *essential* feature ...

btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:820-0 Wrote first record of 64412 bytes.
btape: btape.c:831-0 Wrote second record of 64412 bytes.
btape: btape.c:842-0 Wrote third record of 64412 bytes.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:858-0 Backspaced over EOF OK.
btape: btape.c:863-0 Backspace record OK.
btape: btape.c:880-0 
Block re-read correct. Test succeeded!
=== End Write, backup, and re-read test ===

=== Forward space files test ===

This test is essential to Bacula.

I'm going to write five files then test forward spacing

btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1917-0 Wrote one record of 64412 bytes.
btape: btape.c:1919-0 Wrote block to device.
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:612-0 Wrote 1 EOF to "LTO5" (/dev/rmt/0cbn)
btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1644-0 Now forward spacing 1 file.
We should be in file 1. I am at file 1. This is correct!
btape: btape.c:1656-0 Now forward spacing 2 files.
We should be in file 3. I am at file 3. This is correct!
btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1669-0 Now forward spacing 4 files.
We should be in file 4. I am at file 4. This is correct!

btape: btape.c:1687-0 Now forward spacing 1 more file.
We should be in file 5. I am at file 5. This is correct!

=== End Forward space files test ===

Ah, I see you have an autochanger configured.
To test the autochanger you must have a blank tape
 that I can write on in Slot 1.

Do you wish to continue with the Autochanger test? (y/n):y
=== Autochanger test ===

3301 Issuing autochanger "loaded" command.
Slot 1 loaded. I am going to unload it.
3302 Issuing autochanger "unload 1 0" command.
unload status=OK 0
3303 Issuing autochanger "load 1 0" command.
3303 Autochanger "load 1 0" status is OK.
btape: btape.c:478-0 open device "LTO5" (/dev/rmt/0cbn): OK
btape: btape.c:1574-0 Rewound "LTO5" (/dev/rmt/0cbn)
btape: btape.c:1581-0 Wrote EOF to "LTO5" (/dev/rmt/0cbn)

The test autochanger worked!!

### HERE I AM CHECKING that the btape can go to end of tape and write to it.
*eod
btape: btape.c:633-0 Moved to end of medium.
*wr
*rewind
btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
*eod
btape: btape.c:633-0 Moved to end of medium.
*rewind
btape: btape.c:582-0 Rewound "LTO5" (/dev/rmt/0cbn)
*quit
Start bacula and hope for the best!!
$ bacula start
$ bconsole
Connecting to Director cronus:9101
1000 OK: 103 cronus-dir Version: 9.6.2 (26 February 2020)
Enter a period to cancel a command.
* 

# Some usefull commands: List pool and volumes
* list pool=RemoteFile volumes
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
+--------+------------+---------+---------+-------------+--------------+---------+----------+-------------+
| PoolId | Name       | NumVols | MaxVols | MaxVolBytes | VolRetention | Enabled | PoolType | LabelFormat |
+--------+------------+---------+---------+-------------+--------------+---------+----------+-------------+
|      3 | RemoteFile |       4 |       0 |           0 |   31,536,000 |       1 | Backup   | *           |
+--------+------------+---------+---------+-------------+--------------+---------+----------+-------------+
+---------+------------+-----------+---------+-------------------+----------+--------------+---------+------+-----------+-----------+---------+----------+---------------------+------------+
| MediaId | VolumeName | VolStatus | Enabled | VolBytes          | VolFiles | VolRetention | Recycle | Slot | InChanger | MediaType | VolType | VolParts | LastWritten         | ExpiresIn  |
+---------+------------+-----------+---------+-------------------+----------+--------------+---------+------+-----------+-----------+---------+----------+---------------------+------------+
|       7 | IEF998     | Append    |       1 |            64,512 |        0 |   31,536,000 |       1 |   15 |         1 | LTO       |       2 |        0 | NULL                | NULL       |
|       8 | IEF974     | Append    |       1 |            64,512 |        0 |   31,536,000 |       1 |    2 |         1 | LTO       |       0 |        0 | NULL                | NULL       |
|       9 | IEF975     | Append    |       1 |   229,998,633,984 |       23 |   31,536,000 |       1 |    1 |         1 | LTO       |       2 |        0 | 2020-03-03 15:41:57 | 31,535,998 |
|      10 | IEF978     | Full      |       1 | 2,276,134,318,080 |      229 |   31,536,000 |       1 |    3 |         1 | LTO       |       2 |        0 | 2020-03-03 06:01:23 | 31,501,164 |
+---------+------------+-----------+---------+-------------------+----------+--------------+---------+------+-----------+-----------+---------+----------+---------------------+------------+

# LIST Tapes in autochanger
*status slots  storage=QUANTUMTapeLibrary
Connecting to Storage daemon QUANTUMTapeLibrary at cronus:9103 ...
3306 Issuing autochanger "slots" command.
Device "LTO5" has 29 slots.
Connecting to Storage daemon QUANTUMTapeLibrary at cronus:9103 ...
3306 Issuing autochanger "list" command.
+------+----------------------+-----------+-----------------+--------------------+
| Slot | Volume Name          | Status    | Media Type      | Pool               |
+------+----------------------+-----------+-----------------+--------------------+
+------+----------------------+-----------+-----------------+--------------------+
|    1 | IEF975               | Append    | LTO             | RemoteFile         |
+------+----------------------+-----------+-----------------+--------------------+
|    2*| IEF974               | ?         | ?               | ?                  |
+------+----------------------+-----------+-----------------+--------------------+
|    3 | IEF978               | Append    | LTO             | RemoteFile         |
+------+----------------------+-----------+-----------------+--------------------+
|    4*| IEF977               | ?         | ?               | ?                  |
+------+----------------------+-----------+-----------------+--------------------+
.....
+------+----------------------+-----------+-----------------+--------------------+
|   23*| IEF960               | ?         | ?               | ?                  |
+------+----------------------+-----------+-----------------+--------------------+
|   24*| IEF961               | ?         | ?               | ?                  |
|   25 |                      |           |                 |                    |
|   26 |                      |           |                 |                    |
|   27 |                      |           |                 |                    |
|   28 |                      |           |                 |                    |
|   29 |                      |           |                 |                    |

# Label single tape or a few in autochanger which has barcodes
*label storage=QUANTUMTapeLibrary pool=RemoteFile slot=12 barcodes
*label storage=QUANTUMTapeLibrary pool=RemoteFile slot=13-15 barcodes

# Delete an old volume and do not prompt
*delete yes volume=IEF995

# Mount tape in slot13 and then umount
*mount storage=QUANTUMTapeLibrary slot=13
*umount storage=QUANTUMTapeLibrary


No comments: