Configuration file

The main configuration file is /quadstorvtl/etc/quadstor.conf where parameters which can customize the behavior of the VTL devices and daemon can be specified. This file does not exist by default and has to be created the first time a configuration parameter needs to be specified. A Parameter is specfied as

ParameterName=ParameterValue

For example

MaxVCartSize=1

Special characters such as #, % etc are not allowed. A line starting with a # is ignored. Tabs, spaces etc are not allowed unless the configuration parameter specially allows for them.

After adding or changing a parameter, the daemon can be asked to reload parameter values from the configuration file by the following command

/quadstorvtl/bin/vtconfig --reload

Configuration parameters

VTL Device Parameters

UseFreeSlot

UseFreeSlot=1 specifies that for a new vcartridge a free storage slot is first used. This is the default and will require a library inventory/rescan to detect the new vcartridge
UseFreeSlot=0 specfies that a new vcartridge is first placed in a free import/export port. A backup application then will prompt for placing tapes in the mail slots before moving the vcartridge into the library

MaxVCartSize

This value specifies the custom size of the vcartridge. When a new vcartridge is to be created and this parameter is specified, the new size of the vcartirdge will be the parameter value. For example if MaxVCartSize=10 the size of the vcartridge created will be 10GB

EWSize

EWSize (early warning size) is the size of the gap to the end of tape. This size is specified in MB and the default is 800 MB. For example EWSize=2048 changes the early warning size to 2GB and when the remaining capacity on tape is less than 2GB a SCSI UNIT ATTENTION is sent for a write command which gives an indication to the backup application that the end of tape is nearing. Most applications use this an indication to stop writing to the current tape and move to the next

EmulateHH

With EmulateHH=1 or EmulateHH=2, for IBM Ultrium drives the product strings in a SCSI INQUIRY command indicate a half-height drive. This value needs to be set if the host is an IBM OS/400 iSeries system

EmulateOEM

With EmulateOEM=1, for IBM Ultrium drives the product strings in a SCSI INQUIRY command indicate a IBM Ultrium OEM drive. This is mostly for backup application testing

DeleteThreads

The default number threads for delete/erase operations is 3. When deleting or erasing a vcartridge, mostly metadata is read or written and these operations can involve a high amount of random IO. To minimize the impact of this on regular backups/restores the number of delete/erase operations is kept low to three. This can be changed by specifying DeleteThreads to a new value such as DeleteThread=6 which implies upto 6 delete/erase operations in parallel

Debug, Logging

CmdDebug

With CmdDebug=1 SCSI command cdb, parameter and response are sent to the system logs. This does not include SCSI READ/WRITE data With CmdDebug=2, additionally the FC LUN 0 cdb, parameter and response are sent to the system logs CmdDebug=1 or CmdDebug=2 can generate a large number of messages and should only be enabled when debug data needs to be sent to vtlsupport

LibraryDebug

LibraryDebug=1 when tracing of commands sent to a physical library, drive is required

AccessDebug

AccessDebug=1 is useful to trace the applicable FC rule when an initiator tries to access a VTL device. The volume of messages generated by this option is low

ExtendedLogging

ExtendedLogging=1 sends messages to /quadstorvtl/etc/quadstor.log each time a vcartridge is mounted or unmounted and the total bytes written/read during each mount. Warning or errors during read/write are also sent to quadstor.log

DebugTapePosition

DebugTapePosition=1 logs a message every time the position on tape is changed with commands such as SCSI REWIND, LOCATE, SPACE etc. This parameter when set can generate a large number of messages

Replication Parameters

MaxReplicationJobs

By default up to three auto-replication jobs can be running simulataneously. This can be changed by MaxReplicationJobs=<new value> For example MaxReplicationJobs=5 implies up to 5 auto-replication jobs can be running at the same time

MaxRetryCount

When a replication job ends with an error status, the job is by default tried up to three times. This retry count includes the first time the job is run also. This value can be changed to increase or decrease the number of times the same job is run.

RepSyncBlock, RepSyncSize, RepSyncSock

These parameters can be changed to increase or decrease the speed of replication


RepSyncBlock indicates the number of blocks or sub-blocks that need to be sent across in one transaction.
RepSyncSize is the size of the data sent in one transaction. The value specified is in MB
RepSyncSock is the number of sockets that are sending data in parallel


The default values are
RepSyncBlock: 256
RepSyncSize: 1
RepSyncSock: 1