Installation of prerequisite packages

RHEL/CentOS

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

On RHEL/CentOS 8, the following additional packages
yum install compat-openssl10 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 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

SLES 115

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 iotop sysstat lsscsi apache2 gzip xz-utils postgresql libpq-dev psmisc linux-headers-`uname -r`
apt-get install firmware-qlogic (for FC access)

a2enmod cgi

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/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