2.7 KiB
mhvtl Installation and Configuration Guide for Ubuntu 24.04
1. Introduction
This guide provides step-by-step instructions for installing the mhvtl (Virtual Tape Library) from source on Ubuntu 24.04. The configuration files will be moved to a custom directory: /opt/calypso/conf/mhvtl.
Disclaimer: Installing mhvtl involves compiling a kernel module. This process is complex and can be risky. If your kernel is updated, you will need to recompile and reinstall the mhvtl kernel module. Proceed with caution and at your own risk.
2. Prerequisites
First, update your package lists and install the necessary build tools and libraries.
sudo apt-get update
sudo apt-get install -y git build-essential lsscsi sg3-utils zlib1g-dev liblzo2-dev linux-headers-$(uname -r)
3. Shell Environment
Ubuntu uses dash as the default shell, which can cause issues during the mhvtl compilation. Temporarily switch to bash.
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
4. Download and Compile
4.1. Download the Source Code
Clone the mhvtl repository from GitHub.
git clone https://github.com/markh794/mhvtl.git
cd mhvtl
4.2. Compile and Install the Kernel Module
cd kernel
make
sudo make install
sudo depmod -a
sudo modprobe mhvtl
4.3. Compile and Install User-Space Daemons
cd ..
make
sudo make install
5. Configuration
5.1. Create the Custom Configuration Directory
Create the new configuration directory and move the default configuration files.
sudo mkdir -p /opt/calypso/conf/mhvtl
sudo mv /etc/mhvtl/* /opt/calypso/conf/mhvtl/
sudo rm -rf /etc/mhvtl
5.2. Systemd Service Configuration
The mhvtl installation includes a systemd service file. We need to create an override file to tell the service to use the new configuration directory. The mhvtl service file typically uses an environment variable VTL_CONFIG_PATH to specify the configuration path.
sudo mkdir -p /etc/systemd/system/mhvtl.service.d
sudo bash -c 'cat > /etc/systemd/system/mhvtl.service.d/override.conf <<EOF
[Service]
Environment="VTL_CONFIG_PATH=/opt/calypso/conf/mhvtl"
EOF'
6. Starting and Verifying Services
Reload the systemd daemon, start the mhvtl services, and check their status.
sudo systemctl daemon-reload
sudo systemctl enable mhvtl.target
sudo systemctl start mhvtl.target
sudo systemctl status mhvtl.target
You can also use lsscsi -g to see if the virtual tape library is recognized.
7. Reverting Shell
After the installation is complete, you can revert the shell back to dash.
sudo dpkg-reconfigure dash
Select "No" when asked to use dash as the default shell.