Installation of prerequisite packages

RHEL/CentOS

yum install httpd gcc perl kernel-devel sg3_utils iotop sysstat lsscsi

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 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 for the quadstor service to start

QLogic Firmware

The FC target-mode driver has issues with the 8.06 firmware installed by linux-firmware-20170606-56.gitc990aae.el7.noarch on RHEL/CentOS Linux release 7.3.1611 (Core)
The recent 8.07 firmware is recommended which can be got from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.... .

Firmware can also be updated using the following links
http://www.quadstor.com/vtlnext/firmware.tgz
http://www.quadstor.com/vtlnext/firmware2400.tgz

FIRMWARE UPGRADE PROCEDURE

On the VTL system as root user

1. tar xvzf firmware.tgz (For the qla/qle24xx cards use tar xvzf firmware2400.tgz)

2. sh firmware/copyfirmware.sh

3. Reboot

4. grep "fw=" /var/log/dmesg This should be fw=8.07.00 or greater

SLES 11 SP2 and above

zypper install apache2 gcc perl kernel-default-devel sg3_utils sysstat iotop

Debian 9/10/11

apt-get install uuid-runtime build-essential sg3-utils iotop sysstat lsscsi apache2 psmisc sysstat iotop firmware-qlogic linux-headers-`uname -r`
a2enmod cgi (if running cgi-scripts need to be manually enabled)

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

/sbin/chkconfig --add httpd (RHEL/CentOS)
/sbin/chkconfig --add apache2 (SLES 11)

CentOS 7/8, Debian 9/10/11, SLES 12/15
systemctl enable httpd

Installation/Upgrading of QUADStor on RHEL/CentOS 5.6/5.7, SLES 11 SP1 and Debian squeeze 6.04

  • Login to the target system as root
  • Uninstall any previous versions of the software
On RHEL/CentOS/SLES
sh# rpm -e quadstor.xxxx  - where the version can be got by
sh# rpm -qa | grep quadstor


On Debian systems
sh# dpkg -r quadstor-virt (Older versions would require dpkg -r quadstor-itf followed by dpkg -r quadstor-core)
/quadstor/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, VDisk 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
sh# rpm -i quadstor-virt-xxxx.rpm

On Debian Systems
sh# dpkg -i quadstor-virt-xxxx.deb

Older packages would require the following steps instead
On RHEL/CentOS/SLES
sh# rpm -ivh quadstor-core-xxx.rpm
sh# rpm -ivh quadstor-itf-xxx.rpm

On Debian Systems
sh# dpkg -i quadstor-core-xxx.deb
sh# dpkg -i quadstor-itf-xxx.deb

quadstor package installation might fail if the required /lib/modules/<kernel version>/build symlink is missing or is invalid. Usually a kernel upgrade might not create the symlink until a reboot. For example you might get the following error when installing the quadstor-itf package

make -C /lib/modules/2.6.32-279.el6.x86_64/build SUBDIRS=/quadstor/src/export modules
make: *** /lib/modules/2.6.32-279.el6.x86_64/build: No such file or directory.  Stop.
make: *** [default] Error 2
ERROR: Building kernel modules failed!

In such a case reboot the system and try installing the quadstor-itf package again.

cd /lib/modules/2.6.32-279.el6.x86_64/
ln -s ../../../usr/src/kernels/2.6.32-279.el6.x86_64/ build
ls -l build (to ensure that you have correctly linked)

In the above example the kernel version is 2.6.32-279.el6.x86_64 which can be got by `uname -r`

Some RHEL/CentOS installs (CentOS 6.3) might not create the build symlink correctly. In such a cases do the following steps

yum ugrade
reboot
Install quadstor-core if not installed
Install quadstor-itf

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

sh# /sbin/chkconfig --del quadstor

To start the service manually

sh# /etc/rc.d/init.d/quadstor start (On RHEL/CentOS)
sh# /etc/init.d/quadstor start (On SLES, Debian)

To stop the service

sh# /etc/rc.d/init.d/quadstor stop (On RHEL/CentOS)
sh# /etc/init.d/quadstor stop (On SLES, Debian)
If the system already has other iscsi target software services running, ensure that they are not started on system startup and while starting the quadstor 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 quadstor service would have started automatically

SELinux Considerations

While the package installation and quadstor 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