How to Set Up QUADStor (Free) VTL for IBM i [UPDATED - 2025]
A VTL, or Virtual Tape Library, is a data storage technology that emulates a traditional tape library using disk storage systems.
This tape emulation brings some advantages:
- Allows to use one device for many servers
- Using data deduplication and compression can reduce storage footprint
- Can improve backup performance (yes, I am a physical tape fan)
- Reduce media errors
- Allows to replicate your backups to a remote site
- Allows to upload your data to the cloud
- As long as data is stored in a digital format instead, you don't need to scan your tape sequencially to find one file/object
- You can save your backups to physical tapes using a small amount of tape drives.
There are different vendors who offer different VTL devices and software. Some of them are software-only solutions, other offer backup devices with different storage configurations and connection options.
When using IBM i in the Cloud and we have more than 2TB of data to backup we NEED a VTL with iSCSI.
In this article I want to show you how to use QuadStor VTL, a free software solution that allows to use iSCSI to connect to your IBM i and provides a couple of interesting options.
NOTE: We have no relation with "QUADStor Systems", who develops this solution and provides paid support to customers.
According to Quadstor.com site:
In my experience, this is an amazing solution for backing up small to mid-sized IBM i instances/LPARs.
Deduplication is not as efficient as some commercial counterparts, compression is not the best, and you need to make some manual adjustments.
On the other hand, you can have a lightweight backup solutions (starting from 8GB), you can set it up in short time, and is not so complex.
REQUIREMENTS
For this test drive we have the following requirements:
- Linux Debian 12: can run on a virtual environment. In my case I am using Proxmox.- Memory: 8 GB - 4 vCPUs- 50 GB (or larger) OS disk- 500 GB (or larger) backup disk.
- IBM i V7.1 or newer. VTL works almost out of the box when using V7.5
- The PTFs from https://ibm.co/3I1D1A2 . Prepare to IPL your IBM i.
- Network connection between your IBM i and Linux servers. If you have 10Gb connections on both sides you should get faster transfer rates.
- I suggest to include the ZLIB PTFs when using IBM i V7.4 or V7.5 https://bit.ly/ibmizlib
LETS DO IT
- First we need to install our Linux server. There are many guides and tutorials about setting up your Debian server. I could install from the NetInstall media, unmarked the desktop environment and GNOME (we don't need them) and selected the SSH and Web servers.
- Use the OS disk and leave larger backup disk.
- Use static IP addressing.
- Set your non-root user as sudoer: usermod -a -G sudo MyUsername
- Sign in to your Linux system with your standard user
- Download Quadstor VTL package from this link :
- https://bit.ly/qsvtl-deb01
wget https://bit.ly/qsvtl-deb01 -o quadstor-vtl-ext-3.0.79.4-debian12-x86_64.deb
- Install pre-req packages:
sudo apt install uuid-runtime build-essential sg3-utils apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`
- Install Quadstor VTL package:
sudo dpkg -i quadstor-vtl-ext-3.0.79.4-debian12-x86_64.deb
- Enable Apache modules
sudo a2enmod cgi
- Restart your Linux server
sudo reboot
- Create /quadstorvtl/etc/quadstor.conf file and add the following content:
EnableAuth=1
MaxVCartSize=100
EmulateHH=1
- Add your VTL user:
/quadstorvtl/bin/vtuser --add --user MyUser --p MyPassword
- Reload configuration:
/quadstorvtl/bin/vtconfig --reload
- Add disk for virtual cartridges (In this case: /dev/sdb ):
/quadstorvtl/bin/bdconfig -a -d /dev/sdb -g Default
You can also use the web UI: http://<vtl-address>/cgi-bin/vtadddisk.cgi
Download changer and drive definitions from :
- https://bit.ly/qsvtl-chgdef01
- https://bit.ly/qsvtl-drvdef01
- Import Changer and Drive definitions:http://<vtl-address>/cgi-bin/devicedef.cgi
- Create VTL using the Web UI: http://<vtl-address>/cgi-bin/listvtl.cgi
Select IBM_3584 and IBM_LTOx
- Create virtual cartridges: Select VIEW next to your VTL name -> Press Add VCartridges -> Set the amount of new cartridges to create and the first label
- Default cartridge size was set previously on quadstor.conf with parameter MaxVCartSize=100
- Get the iSCSI Target IQN from your VTL:Select View next to iSCSI
- In your IBM i : Get your Initiator IQN using STRSQL:
select distinct INITI00001 from table(qsys2.iscsi_info())
- iSCSI VTL Target configuration:
CALL QSYS2.ADD_ISCSI_TARGET( TARGET_NAME=>
'<vtl-iscsi-iqn>',
TARGET_HOST_NAME=>'<vtl-address>', INITIATOR_NAME=>
'<ibmi-initiator-iqn>'
, TARGET_PORT=>3260)
- IPL your adapter using SQL:
CALL QSYS2.CHANGE_IOP(IOP=>'ISCSI', OPTION=>'IPL')
- ... or using SST/DST:Start a Service Tool -> Hardware service manager -> Logical hardware resources -> System bus resources -> Find the Virtual IOP with a Type-Model of 298A-001 and set option 6 -> IPL I/O processor
- Check for your device using WRKDEVD TAP*
- Initialize your first cartridge:
INZTAP DEV(TAPMLB04) NEWVOL(EW0001) NEWOWNID(IBMI01) VOL(EW0001) CHECK(*NO) DENSITY(*CTGTYPE)
- Save your files. Remember: *ZLIB value is only available with V7.4 and higher. Prior to this release you can use *YES, *HIGH or *LOW:
SAVLIB LIB(*ALLUSR) DEV(TAPMLB04) VOL(EW0001) SAVACT(*LIB) SAVACTWAIT(20) SAVACTMSGQ(*WRKSTN) DTACPR(*ZLIB) COMPACT(*NO)
- See the impact in your VTL:
- You can tune the VTL and your backup procedure based on your environment, test results and using product documents.
For more information check these links:
Good luck, and have a great backup experience!