Installing a Virtual Tape Library

From Proxmox Backup Server
Revision as of 13:37, 13 August 2024 by A.zeidler (talk | contribs) (→‎Installing the QUADStor VTL: Describe the VTL download/install steps in a less static way. Also because only the latest version is available for download.)
Jump to navigation Jump to search

Introduction

Proxmox Backup Server includes support for tape backup, allowing you to save 'Datastores' to tape, and manage tape libraries and tape pools.

Since testing backup and restore with real tape hardware takes a lot of time, it can be a good idea to use a faster Virtual Tape Library (VTL) for evaluation and for testing of the correct allocation and retention policies matching your use case.

One example of such a VTL is the QUADStor VTL. This tutorial will guide you through the installation and configuration of a QUADStor VTL, and also show you how to integrate it into Proxmox Backup Server.

Installing the QUADStor VTL

This tutorial assumes the use of an offical Debian 12 (Bookworm), for example, running as a virtual machine on a Proxmox VE host.

Two disks are needed. One for the Debian OS installation (for example 16 GiB), and a larger one to store virtual tapes on it. A disk of at least 220 GiB allows you to fully utilize the capacity of two LTO-1 (100 GB) tapes. While real LTO-1 is not supported hardware by Proxmox Backup Server, it is still convenient for testing purposes due to its low capacity, compared to modern types like LTO-8 with 12 TB.

For our example, Debian has the static IP address '10.20.1.59'.

The following instructions are performed in the Debian VM and are based on the official QUADStor documentation.

  1. Install supporting packages:
    apt update
    apt install uuid-runtime build-essential sg3-utils apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`
    a2enmod cgi
    systemctl restart apache2
  2. Look up the current Debian package version number on the QUADStor website and set it as a variable. For example:
    version=3.0.79.15
  3. Download and install the package, this may take a while:
    wget -c https://www.quadstor.com/vtldownloads/quadstor-vtl-ext-$version-debian12-x86_64.deb
    apt install ./quadstor-vtl-ext-$version-debian12-x86_64.deb
  4. Run systemctl enable --now quadstorvtl.service and wait for its completion to verify that no errors occur.
  5. Finally, reboot the VM: reboot

You can now access the VTL configuration interface over HTTP using your web browser. In our example, we visit http://10.20.1.59.

Configuring the VTL

The following configurations are performed in the QUADStor web interface and are the minimum required ones. Details can be found in the official QUADStor documentation.

1. Go to the tab 'Physical Storage'
The table should show the empty disk, click on 'Add' and submit the 'Default' 'Storage Pool'.
2. Go to 'Device Definitions'
You need a 'Changer' and 'Drive' definition. Their exact properties should not be that important for our virtualization purpose. If in doubt, you can also download and import the templates changer-definitions.txt and drive-definitions.txt from https://www.quadstor.com/uscripts/.
3. Go to 'Virtual Libraries'
Add a Virtual Tape Library (VTL) by setting your desired properties. For example:
Field Value Note
VTL Name my-tape-lib
Changer Definition IBM_3584
Drive Definition IBM_LTO1 for example LTO1 to virtualize a capacity of 100 GB
Number of VDrives 2 concurrently usable tapes
Number of VSlots 20 to park tapes
Number of IE Ports 4 for tape import/export
4. Finally, click 'Add VCartridge'
Specify how many tapes should be inserted into the VSlots now (for example, 2). The 'Label/Prefix' (for example, tape00) must have 6 characters, including a zero for the auto-numbering scheme.

The newly created VTL can now be added to a Proxmox Backup Server instance.

Adding the VTL to Proxmox Backup Server

The following commands must all be executed on the Proxmox Backup Server.

Making devices available over iSCSI

  1. Since the VTL will be added to Proxmox Backup Server via iSCSI, make sure that the open-iscsi package is installed:
    apt install open-iscsi
  2. To automatically log in to the iSCSI targets on boot, carry out the following steps:
    1. open the iSCSI config (editor /etc/iscsi/iscsid.conf) and change node.startup = manual to node.startup = automatic
    2. then restart iscsid by executing systemctl restart open-iscsi.service
  3. Now discover the changer and drive iSCSI targets via iscsiadm. Please do not forget to adapt the IP address if you chose a different one for your QUADStor VTL VM.
    iscsiadm -m discovery -t st -p 10.20.1.59
    The resulting output should look like this:
    10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader
    10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1
    10.20.1.59:3260,1 iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2
  4. To populate /dev/tape/ with all discovered devices, run iscsiadm -m discovery -l -p 10.20.1.59. Alternatively, you can also log in manually:
    iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.autoloader
    iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive1
    iscsiadm -m node -l --targetname iqn.2006-06.com.quadstor.vtl.my-tape-lib.drive2

Adding the Changer and Drives to Proxmox Backup Server

In the web interface of your Proxmox Backup Server:

  1. Go to 'Tape Backup' -> 'Changers'
    Click on 'Add', give the changer a name (for example, autoloader), and select its path in the drop-down list.
  2. Go to 'Tape Backup' -> 'Drives'
    1. Click on 'Add', give the drive a name (for example, drive1), select the changer and keep the 'Drive Number' '0'. The correct 'Path' can be chosen by comparing the serial numbers with those in the QUADStor web interface, under 'Virtual Libraries'.
    2. When adding a second drive, proceed with 'Drive Number' '1'.

The VTL can now be used like a normal library in Proxmox Backup Server.