Strange message during installation (quotas involved)

Hello,

I’m installing a new HESTIA VPS, using the Ubuntu 18.04 Hetzner Cloud image. The installation completed and HESTIA v1.0.5 seems to be working fine. Just one glitch though with the following message (full Log at the end):

(*) Configuring fail2ban access monitor…
mount: /: mount point not mounted or bad option.

This is the installation command that I used:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh

bash hst-install.sh --nginx yes --apache yes --phpfpm no --multiphp yes --named yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota yes --exim yes --dovecot yes --spamassassin no --clamav no --mysql yes --postgresql no --interactive yes --hostname $(hostname -f) --email REMOVED --password REMOVED --port REMOVED --api yes

Before HESTIA installation I made the following configurations:

Location and Locale

ln -fs /usr/share/zoneinfo/Europe/Athens /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
sed -i ‘s/# el_GR.UTF-8 UTF-8/el_GR.UTF-8 UTF-8/g’ /etc/locale.gen
locale-gen
update-locale
echo ‘export LC_CTYPE=“el_GR.UTF-8”’ >> ~/.bash_profile
echo ‘source .bashrc’ >> ~/.bash_profile

Quotas

apt -y install quota
find /lib/modules/uname -r -type f -name ‘quota_v.ko*’ | egrep ‘.*’ && [ $? -eq 0 ] || apt -y install linux-image-extra-virtual
Add the options usrquota,grpquota to /etc/fstab
mount -o remount /
quotacheck -ugm /
quotaon -v /

Contents of /etc/fstab

UUID=8025da92-654c-4566-af13-33d0a582deaf /               ext4    discard,errors=remount-ro,usrquota,grpquota 0       1
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0

Full Hestia installation log

Welcome to the Hestia Control Panel installer!

Please wait a moment while we update your system's repositories and
install any necessary dependencies required to proceed with the installation...

  _   _           _   _        ____ ____
 | | | | ___  ___| |_(_) __ _ / ___|  _ \
 | |_| |/ _ \/ __| __| |/ _` | |   | |_) |
 |  _  |  __/\__ \ |_| | (_| | |___|  __/
 |_| |_|\___||___/\__|_|\__,_|\____|_|

                      Hestia Control Panel
                                    v1.0.5


====================================================================


The following server components will be installed on your system:

   - NGINX Web / Proxy Server
   - Apache Web Server (as backend)
   - Multi-PHP Environment
   - Bind DNS Server
   - Exim Mail Server
   - Dovecot POP3/IMAP Server
   - MariaDB Database Server
   - Vsftpd FTP Server
   - Firewall (Iptables) + Fail2Ban Access Monitor

====================================================================


Would you like to continue with the installation? [Y/N]: y
Installation backup directory: /root/hst_install_backups/240920191054
Installation log file: /root/hst_install_backups/hst_install-240920191054.log

Adding required repositories to proceed with installation:

(*) NGINX
(*) PHP
(*) MariaDB
(*) Hestia Control Panel

Updating currently installed packages, please wait.../
Now installing Hestia Control Panel and all required dependencies.
NOTE: This process may take 10 to 15 minutes to complete, please wait...                                                                                    -
(*) Configuring system settings...
(*) Configuring Hestia Control Panel...
(*) Generating default self-signed SSL certificate...
(*) Adding SSL certificate to Hestia Control Panel...
(*) Configuring NGINX...
(*) Configuring Apache Web Server...
(*) Configuring Multi-PHP for Apache...
(*) Configuring PHP...
(*) Configuring Vsftpd server...
(*) Configuring MariaDB database server...
(*) Installing phpMyAdmin version v4.9.0.1...
(*) Configuring Bind DNS server...
(*) Configuring Exim mail server...
(*) Configuring Dovecot POP/IMAP mail server...
(*) Configuring Roundcube webmail client...
(*) Configuring fail2ban access monitor...
mount: /: mount point not mounted or bad option.


====================================================================



Congratulations!

You have successfully installed Hestia Control Panel on your server.

Ready to get started? Log in using the following credentials:

    Admin URL:  [REMOVED]
    Username:   admin
    Password:   [REMOVED]

Thank you for choosing Hestia Control Panel to power your full stack web server,
we hope that you enjoy using it as much as we do!

Please feel free to contact us at any time if you have any questions,
or if you encounter any bugs or problems:

E-mail:  [email protected]
Web:     https://www.hestiacp.com/
Forum:   https://forum.hestiacp.com/
GitHub:  https://www.github.com/hestiacp/hestiacp

Note: Automatic updates are enabled by default. If you would like to disable them,
please log in and navigate to Server > Updates to turn them off.

Help support the Hestia Contol Panel project by donating via PayPal:
https://www.hestiacp.com/donate
--
Sincerely yours,
The Hestia Control Panel development team

Made with love & pride by the open-source community around the world.

(!) IMPORTANT: You must logout or restart the server before continuing.

 Do you want to logout now? [Y/N]

Quota to blame?

When I skip the installation of quotas on the OS and use the HESTIA installation command line --quota no the error does not appear.

When I install and configure quota before HESTIA, on the OS level quota works as expected. But then the error appears during installation.

Am I doing something wrong with quotas, or … ?

Digging a bit more on this, I found that if quotas is selected on the command line, the installer is calling $HESTIA/bin/v-add-sys-quota

v-add-sys-quota when run, is trying (among other things) to add the relevant options in /etc/fstab (which in my case I had already added before HESTIA installation).

So I guess I should not add/configure quotas before HESTIA installation and let the script do its magic.

One note though… As far as I know, for quota to be enabled, certain kernel modules need to be present. I cant find any checks in v-add-sys-quota that make sure those modules are installed. But I’m not an expert on this either.

Check for quota kernel modules and install if needed

I have prepared this one-line command that checks for the modules and if not found, installs the relevant package

find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*' | egrep '.*' && [ $? -eq 0 ] || apt -y install linux-image-extra-virtual

A quick note here… If your kernel is updated from apt upgrade, make sure you reboot first to activate the new kernel and then run the above command to install the kernel modules.

Testing & Results

I have run lots of checks and the sum-up of the results is:

  1. Install quota kernel modules before installing Hestia and then let the installer add and configure quota. Result:PASS with messages:

    /dev/sda1 [/]: group quotas turned on
    /dev/sda1 [/]: user quotas turned on

  2. Don’t check about quota kernel modules before Hestia installation and let the installer add and configure quota. Result: FAIL with errors:

    quotaon: using //aquota.group on /dev/sda1 [/]: No such process
    quotaon: Quota format not supported in kernel.
    quotaon: using //aquota.user on /dev/sda1 [/]: No such process
    quotaon: Quota format not supported in kernel.
    Error: quota can’t be enabled in /

Conclusion

If there is need for quota, let the Hestia installation script manage it for you. Just make sure beforehand that you have the kernel modules installed.

Hi @Felix

Thanks for your detailed report, I’ll rework the v-add-sys-quota script and add your suggested kernel validation.