# 🎮 VTL CLI Management Tool ## 📋 Overview A comprehensive command-line interface tool for managing the Virtual Tape Library system. The `vtl` command provides easy access to all VTL operations from anywhere in the system. --- ## 🚀 Installation The tool is installed globally and accessible from any directory: **Location:** `/usr/local/bin/vtl` **Source:** `/builder/adastra-vtl/scripts/vtl` **Installation:** ```bash sudo cp /builder/adastra-vtl/scripts/vtl /usr/local/bin/vtl sudo chmod +x /usr/local/bin/vtl ``` --- ## 📖 Usage ### Basic Syntax ```bash vtl [options] ``` ### Quick Start ```bash # Check system status vtl status # Start all services vtl start # Restart MHVTL only vtl restart-mhvtl # View help vtl help ``` --- ## 🎯 Commands ### System Status #### `vtl status` (or just `vtl`) Show comprehensive system status dashboard **Output includes:** - ✅ Services status (mhvtl, apache2, tgt) - ✅ Component status (vtltape, vtllibrary) - ✅ SCSI devices (library, drives) - ✅ Network services (Web UI, iSCSI) - ✅ Overall health score **Example:** ```bash $ vtl status ╔════════════════════════════════════════════════════════════╗ ║ VTL System Status Dashboard ║ ╚════════════════════════════════════════════════════════════╝ 📊 Services Status: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● mhvtl running (Virtual Tape Library) ● apache2 running (Web UI Server) ● tgt running (iSCSI Target) 🔧 Components: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✓ vtltape 4 processes ✓ vtllibrary running 💾 SCSI Devices: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✓ Library detected (ADASTRA HEPHAESTUS-V - /dev/sg6) ✓ Tape Drives 4 detected └─ HP Ultrium 6-SCSI → /dev/sg2 └─ HP Ultrium 6-SCSI → /dev/sg3 └─ HP Ultrium 6-SCSI → /dev/sg4 └─ HP Ultrium 6-SCSI → /dev/sg5 🌐 Network Services: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✓ Web UI http://localhost/mhvtl-config/ ✓ iSCSI Targets 2 configured 💚 Overall Health: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ● System Status: HEALTHY (6/6 checks passed) ✓ All components operational ``` --- ### Service Management #### `vtl start` Start all VTL services (mhvtl, apache2, tgt) ```bash $ vtl start Starting VTL Services... Starting mhvtl... ✓ Starting apache2... ✓ Starting tgt... ✓ ✓ All services started ``` #### `vtl stop` Stop all VTL services ```bash $ vtl stop Stopping VTL Services... Stopping mhvtl... ✓ Stopping apache2... ✓ Stopping tgt... ✓ ✓ All services stopped ``` #### `vtl restart` Restart all VTL services and show status ```bash $ vtl restart Restarting VTL Services... Restarting mhvtl... ✓ Restarting apache2... ✓ Restarting tgt... ✓ ✓ All services restarted [Shows status dashboard] ``` --- ### Individual Service Management #### MHVTL Service ```bash vtl start-mhvtl # Start MHVTL only vtl stop-mhvtl # Stop MHVTL only vtl restart-mhvtl # Restart MHVTL and show status ``` #### Web UI (Apache) ```bash vtl start-web # Start Apache only vtl stop-web # Stop Apache only vtl restart-web # Restart Apache only ``` #### iSCSI Target (TGT) ```bash vtl start-iscsi # Start TGT only vtl stop-iscsi # Stop TGT only vtl restart-iscsi # Restart TGT only ``` --- ### Device Information #### `vtl devices` List all SCSI devices ```bash $ vtl devices SCSI Devices: [0:0:0:0] disk QEMU QEMU HARDDISK 2.5+ /dev/sda /dev/sg0 [2:0:0:0] cd/dvd QEMU QEMU DVD-ROM 2.5+ /dev/sr0 /dev/sg1 [3:0:0:0] mediumx ADASTRA HEPHAESTUS-V 0107 - /dev/sg6 [3:0:1:0] tape HP Ultrium 6-SCSI 0107 - /dev/sg2 [3:0:2:0] tape HP Ultrium 6-SCSI 0107 - /dev/sg3 [3:0:3:0] tape HP Ultrium 6-SCSI 0107 - /dev/sg4 [3:0:4:0] tape HP Ultrium 6-SCSI 0107 - /dev/sg5 ``` --- ### Logs and Diagnostics #### `vtl logs [service]` Show logs for a specific service ```bash # MHVTL logs vtl logs mhvtl # Apache logs vtl logs apache2 # TGT logs vtl logs tgt # Default (mhvtl) vtl logs ``` **Example:** ```bash $ vtl logs mhvtl Logs for mhvtl: Dec 09 17:10:11 vtl-dev start-mhvtl.sh[65776]: Starting vtltape for drive 11... Dec 09 17:10:11 vtl-dev /usr/bin/vtltape[65804]: main(): Started /usr/bin/vtltape Dec 09 17:10:13 vtl-dev start-mhvtl.sh[65776]: Starting vtllibrary for library 10... Dec 09 17:10:13 vtl-dev systemd[1]: Started mhvtl.service ``` --- ### Utility Commands #### `vtl web` Show Web UI URL ```bash $ vtl web Web UI URL: http://localhost/mhvtl-config/ ``` #### `vtl version` Show version information ```bash $ vtl version VTL Management Tool Version: 1.0.0 MHVTL: vtltape version 1.7.2 ``` #### `vtl help` Show help message ```bash $ vtl help VTL Management Tool v1.0.0 Usage: vtl [options] Commands: [Full help output] ``` --- ## 🎨 Features ### Color-Coded Output - 🟢 **Green** - Running/Healthy - 🔴 **Red** - Stopped/Error - 🟡 **Yellow** - Warning/Degraded - 🔵 **Blue** - Headers/Sections - 🔵 **Cyan** - Titles ### Health Scoring System calculates health based on: - Services running (mhvtl, apache2, tgt) - Components active (vtltape, vtllibrary) - Devices detected (library, drives) **Health Levels:** - **100%** (6/6) - 🟢 HEALTHY - All systems operational - **66-99%** (4-5/6) - 🟡 DEGRADED - Some components need attention - **0-65%** (0-3/6) - 🔴 CRITICAL - Multiple components offline ### Smart Status Display - Shows device details (vendor, model, device path) - Counts processes and targets - Provides actionable information - Auto-refreshes after service operations --- ## 📊 Common Workflows ### Daily Health Check ```bash # Quick status check vtl status # Or just vtl ``` ### Troubleshooting ```bash # Check status vtl status # View logs vtl logs mhvtl # Restart problematic service vtl restart-mhvtl # Check status again vtl status ``` ### After Configuration Changes ```bash # Restart MHVTL to apply changes vtl restart-mhvtl # Verify devices vtl devices # Check overall status vtl status ``` ### Starting System ```bash # Start all services vtl start # Wait a few seconds, then verify vtl status ``` ### Stopping System ```bash # Stop all services vtl stop # Verify stopped vtl status ``` --- ## 🔧 Integration ### Use in Scripts ```bash #!/bin/bash # Check if VTL is healthy if vtl status | grep -q "HEALTHY"; then echo "VTL is operational" else echo "VTL needs attention" vtl restart fi ``` ### Monitoring ```bash # Add to cron for periodic checks */5 * * * * /usr/local/bin/vtl status > /var/log/vtl-status.log ``` ### Systemd Integration Already integrated via systemd services. The `vtl` command manages these services. --- ## 📁 File Locations | Item | Location | |------|----------| | **CLI Tool** | `/usr/local/bin/vtl` | | **Source** | `/builder/adastra-vtl/scripts/vtl` | | **Config** | `/etc/mhvtl/device.conf` | | **Web UI** | `/var/www/html/mhvtl-config/` | | **Logs** | `journalctl -u mhvtl` | --- ## 🎯 Quick Reference ```bash # Status & Info vtl # Show status (default) vtl status # Show status (explicit) vtl devices # List SCSI devices vtl web # Show Web UI URL vtl version # Show version vtl help # Show help # All Services vtl start # Start all vtl stop # Stop all vtl restart # Restart all # MHVTL Only vtl start-mhvtl # Start MHVTL vtl stop-mhvtl # Stop MHVTL vtl restart-mhvtl # Restart MHVTL # Web UI Only vtl start-web # Start Apache vtl stop-web # Stop Apache vtl restart-web # Restart Apache # iSCSI Only vtl start-iscsi # Start TGT vtl stop-iscsi # Stop TGT vtl restart-iscsi # Restart TGT # Logs vtl logs # MHVTL logs vtl logs mhvtl # MHVTL logs vtl logs apache2 # Apache logs vtl logs tgt # TGT logs ``` --- ## ✅ Summary The `vtl` command provides: - ✅ **Single command** for all VTL operations - ✅ **Beautiful dashboard** with color-coded status - ✅ **Health monitoring** with scoring system - ✅ **Service management** (start/stop/restart) - ✅ **Device listing** and information - ✅ **Log viewing** for troubleshooting - ✅ **Global access** from any directory - ✅ **Easy to use** with intuitive commands **No more complex systemctl commands or multiple tools - just `vtl`!** 🚀 --- **Version:** 1.0.0 **Date:** December 9, 2025 **Status:** ✅ Production Ready