Installation of prerequisite packages

RHEL/CentOS

yum install httpd make gcc perl kernel-devel e2fsprogs-libs sg3_utils iotop sysstat tar xz postgresql-libs postgresql-server chkconfig

On RHEL/CentOS 8, the following additional packages
yum install compat-openssl10 elfutils-libelf-devel policycoreutils policycoreutils-python-utils libpq-devel

On RHEL/AlmaLinux/Rocky 9, the following additional packages
yum install elfutils-libelf-devel policycoreutils policycoreutils-python-utils libpq-devel 

Ensure that the kernel-devel package version matches the installed kernel version
To get the kernel-devel package version
rpm -qa | grep kernel-devel
To get the running kernel version
uname -r

If the kernel-devel version is ahead of the installed kernel then do the following additional steps
yum upgrade kernel
reboot
yum upgrade kernel-devel

Secure Boot

Secure boot systems are not supported yet. The VTL service will fail to start since the compiled modules are not signed. To check if secure boot is enabled,

grep "Secure boot enabled" /var/log/messages

Secure boot needs to be disabled in the BIOS for the VTL service to start.

SLES 15

zypper install apache2 gcc perl kernel-default-devel sg3_utils sysvinit-tools xz postgresql-server postgresql-server-devel

Debian 10/11/12

apt-get install uuid-runtime build-essential sg3-utils apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`
apt-get install firmware-qlogic (for FC access)

a2enmod cgi 

NOTE 1:  firmware-qlogic package maybe unavailable from the apt-get install command unless you   add  ‘non-free’  to the /etc/apt/sources list.

Enable httpd startup

Run the following chkconfig commands to start httpd/apache2 on system startup

systemctl enable httpd

Change firewall rules to accept TCP connections to port 80 for accessing the GUI. For example to allow any host to access the GUI

On CentOS 6
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo service iptables save
On CentOS 7
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload

Installation or Upgrading the VTL software

  • Login to the target system as root
  • Uninstall any previous version of the software by (in the same order listed)
On RHEL/CentOS/SLES 12/15

sh# rpm -e quadstor-xxxx  - where the version can be got by
sh# rpm -qa | grep quadstor
On Debian systems

Extended Edition:
sh# dpkg -r quadstor-vtl-ext
/quadstorvtl/pgdata contains the configuration database of the software. This data is maintained even after an uninstall of the software and is required during upgrades. If this data were to manually removed all previous configuration such as configured storage, VTL information etc is lost. Refer to http://www.quadstor.com/support/131-recovering-from-a-lost-or-damaged-database.html to recover from a lost or damage database

 

  • Install the packages by running the following commands (in the same order listed)

 

On RHEL/CentOS/SLES 12/15:
sh# rpm -ivh quadstor-vtl-xxx.rpm

On Debian Systems
dpkg -i quadstor-vtl-xxx.deb

By default quadstorvtl services are automatically started during system startup.If you wish to start the service manually then run the following command

sh# /sbin/chkconfig --del quadstorvtl

To start the service manually

sh# service quadstorvtl start

To stop the service

sh# service quadstorvtl stop
If the system already has other iscsi target software services running, ensure that they are not started on system startup and while starting the quadstorvtl service
After an install and if a reboot was not initiated you will need to manually start the quadstor service. However if after the install the system was rebooted quadstorvtl service would have started automatically. On CentOS 8 if the service fails to start try with SELINUX permissive instead of enforcing in /etc/selinux/config. Restart the system after changing to SELINUX=permissive

SELinux Considerations

While the package installation and quadstorvtl start script takes care of on SELinux enabled environment the following need to be done if you have SELinux enabled

/usr/sbin/setsebool -P httpd_enable_cgi 1
/usr/sbin/semanage permissive -a httpd_t
On RHEL/CentOS 6.x you need to install policycoreutils-python package (yum install policycoreutils-python) to install semanage utility

Fibre Channel driver installation

A reboot is required to load the new FC driver if LUNs are to be accessed via the FC interface

On SLES 15 "allow_unsupported_modules" needs to be changed from "0" to "1" in /etc/modprobe.d/10-unsupported-modules.conf