Installation Webmanagement Console GUI für MHVTL

MHVTL Webmanagement console GUI

Im letzen Beitrag habe ich die Installation von MHVTL, einer virtuellen Tape Library Software für Linux, beschrieben.

Die Bedienung dieser Software erfolgt über das init-Skript /etc/init.d/mhvtl und die Kommandozeilenbefehle vtlcmd und mktape. Das ist zwar funktional aber nicht unbedingt intuitiv.

Über das MHVTL Forum wurde eine webbasierte Lösung MHVTL Webmanagement Console GUI vorgestellt. Bei der Software wurde auf Funktionalität und einfache Bedienung Wert gelegt, Sicherheitsaspekte spielten eine geringe Rolle. Über einen Einsatz der Lösung sollte also jeder selbst entscheiden. Für mein privates Testlab nutze ich es gern.

Was leistet MHVTL Webmanagement console GUI im Detail?

  • start/stop MHVTL daemon
  • div. Statusanzeigen
  • Konfiguration der VTL(s)
  • Bedienung der VTL(s)
  • Konfiguration iSCSI target (für Remote-Zugriff auf VTL via LAN/iSCSI)
  • Durchführung von Updates

Voraussetzungen

Installation der Pakete git-core, lsscsi, mtx, mt_st, sysstat, sg3_utils und tgt:

os01:~/mhvtl-gui # zypper se lsscsi
Loading repository data...
Reading installed packages...

S | Name   | Summary                             | Type
--+--------+-------------------------------------+--------
i | lsscsi | List all SCSI devices in the system | package
os01:~/mhvtl-gui # zypper se mtx
Loading repository data...
Reading installed packages...

S | Name                 | Summary                                                             | Type
--+----------------------+---------------------------------------------------------------------+--------
  | libdmtx-devel        | Software for reading and writing Data Matrix barcodes               | package
i | libdmtx0             | Software for reading and writing Data Matrix barcodes               | package
  | mtx                  | A Program for Controlling the Robotic Mechanism in DDS Auto Loaders | package
  | texlive-delimtxt     | Read and parse text tables                                          | package
  | texlive-delimtxt-doc | Documentation for texlive-delimtxt                                  | package
os01:~/mhvtl-gui # zypper install mtx
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  mtx

1 new package to install.
Overall download size: 71.6 KiB. After the operation, additional 276.0 KiB will be used.
Continue? [y/n/?] (y): y
Retrieving package mtx-1.3.12-16.1.1.x86_64                                                      (1/1),  71.6 KiB (276.0 KiB unpacked)
Retrieving: mtx-1.3.12-16.1.1.x86_64.rpm .......................................................................................[done]
(1/1) Installing: mtx-1.3.12-16.1.1 ............................................................................................[done]
os01:~/mhvtl-gui # zypper se mt-st
Loading repository data...
Reading installed packages...
No packages found.
os01:~/mhvtl-gui # zypper se mt_st
Loading repository data...
Reading installed packages...

S | Name  | Summary                             | Type
--+-------+-------------------------------------+--------
  | mt_st | mt-st Controls Magnetic Tape Drives | package
os01:~/mhvtl-gui # zypper install mt_st
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  mt_st

1 new package to install.
Overall download size: 27.6 KiB. After the operation, additional 69.2 KiB will be used.
Continue? [y/n/?] (y): y
Retrieving package mt_st-0.9b-114.1.1.x86_64                                                     (1/1),  27.6 KiB ( 69.2 KiB unpacked)
Retrieving: mt_st-0.9b-114.1.1.x86_64.rpm ......................................................................................[done]
(1/1) Installing: mt_st-0.9b-114.1.1 ...........................................................................................[done]
os01:~/mhvtl-gui # zypper se sysstat
Loading repository data...
Reading installed packages...

S | Name         | Summary                                         | Type
--+--------------+-------------------------------------------------+--------
  | sysstat      | Sar and Iostat Commands for Linux               | package
  | sysstat-isag | Interactive System Activity Grapher for sysstat | package
os01:~/mhvtl-gui # zypper install sysstat
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  sysstat

1 new package to install.
Overall download size: 246.7 KiB. After the operation, additional 996.0 KiB will be used.
Continue? [y/n/?] (y): y
Retrieving package sysstat-10.0.5-6.1.2.x86_64                                                   (1/1), 246.7 KiB (996.0 KiB unpacked)
Retrieving: sysstat-10.0.5-6.1.2.x86_64.rpm ....................................................................................[done]
(1/1) Installing: sysstat-10.0.5-6.1.2 .........................................................................................[done]
os01:~/mhvtl-gui #
os01:~/mhvtl-gui # zypper se sg3_utils
Loading repository data...
Reading installed packages...

S | Name            | Summary                                                  | Type
--+-----------------+----------------------------------------------------------+--------
i | sg3_utils       | A collection of tools that send SCSI commands to devices | package
  | sg3_utils-devel | A collection of tools that send SCSI commands to devices | package

os01:~/mhvtl-gui # zypper se git-core
Loading repository data...
Reading installed packages...

S | Name     | Summary        | Type
--+----------+----------------+--------
i | git-core | Core git tools | package
os01:~/mhvtl-gui # rpm -qa|grep git-core
git-core-1.8.1.4-1.1.1.x86_64
>> git >=  1.7.4.1  required fpr liveupdate

os01:~/mhvtl-gui # zypper se tgt
Loading repository data...
Reading installed packages...

S | Name                           | Summary                                                                     | Type
--+--------------------------------+-----------------------------------------------------------------------------+--------
  | istgt                          | Userspace iSCSI Target                                                      | package
  | libQtGTL-devel                 | Header Files for LibQtGTL                                                   | package
  | libQtGTL0_1                    | Qt4 Wrapper Classes and Widgets for OpenGTL                                 | package
i | libwebkitgtk-1_0-0             | Library for rendering web content, GTK+ Port                                | package
  | libwebkitgtk-1_0-0-32bit       | Library for rendering web content, GTK+ Port                                | package
i | libwebkitgtk-3_0-0             | Library for rendering web content, GTK+ Port                                | package
  | libwebkitgtk-3_0-0-32bit       | Library for rendering web content, GTK+ Port                                | package
  | libwebkitgtk-devel             | Library for rendering web content, GTK+ Port                                | package
  | libwebkitgtk2-lang             | Languages for package libwebkit                                             | package
  | libwebkitgtk3-devel            | Library for rendering web content, GTK+ Port                                | package
  | libwebkitgtk3-lang             | Languages for package libwebkit3                                            | package
  | nagios-plugins-mrtgtraf        | Check incoming/outgoing transfer rates of a router                          | package
  | python-SpiceClientGtk          | Gtk client and libraries for SPICE remote desktop servers - python-bindings | package
  | python-webkitgtk               | Python bindings for WebKit/Gtk                                              | package
  | python-webkitgtk-devel         | Python bindings for WebKit/Gtk -- Development Files                         | package
  | tgt                            | Generic Linux target framework (tgt)                                        | package
  | typelib-1_0-SpiceClientGtk-2_0 | Gtk client and libraries for SPICE remote desktop servers - gi-bindings     | package
  | typelib-1_0-SpiceClientGtk-3_0 | Gtk client and libraries for SPICE remote desktop servers - gi-bindings     | package
os01:~/mhvtl-gui # zypper install tgt
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW packages are going to be installed:
  perl-Config-General tgt

2 new packages to install.
Overall download size: 232.7 KiB. After the operation, additional 657.1 KiB will be used.
Continue? [y/n/?] (y): y
Retrieving package perl-Config-General-2.50-10.1.1.x86_64                                        (1/2),  68.8 KiB (154.7 KiB unpacked)
Retrieving: perl-Config-General-2.50-10.1.1.x86_64.rpm .........................................................................[done]
Retrieving package tgt-1.0.28-6.1.1.x86_64                                                       (2/2), 163.9 KiB (502.4 KiB unpacked)
Retrieving: tgt-1.0.28-6.1.1.x86_64.rpm ........................................................................................[done]
(1/2) Installing: perl-Config-General-2.50-10.1.1 ..............................................................................[done]
(2/2) Installing: tgt-1.0.28-6.1.1 .............................................................................................[done]

Ausschalten von Sicherheitsfunktionen:

  • deaktivieren von SE-Linux (via yast)
  • Anpassung der sudo-Konfiguration, so dass vom Webserver aus Kommandos unter root-Berechtigungen gestartet wrden dürfen

Aus der sudo-Konfiguration entfernen:
Zeile „Defaults requiretty“ in /etc/sudoers
Der sudo-Konfiguration hinzufügen:

echo "wwwrun ALL=(ALL) NOPASSWD: ALL" >>/etc/sudoers

Download MHVTL Console/GUI via git Versionsverwaltung:

os01:~ # mkdir mhvtl-gui
os01:~ # cd mhvtl-gui
os01:~/mhvtl-gui # git init
Initialized empty Git repository in /root/mhvtl-gui/.git/
os01:~/mhvtl-gui # git pull http://github.com/niadev67/mhvtl-gui.git
remote: Counting objects: 2264, done.
remote: Compressing objects: 100% (573/573), done.
remote: Total 2264 (delta 1648), reused 2130 (delta 1514)
Receiving objects: 100% (2264/2264), 834.76 KiB | 398 KiB/s, done.
Resolving deltas: 100% (1648/1648), done.
From http://github.com/niadev67/mhvtl-gui
 * branch            HEAD       -> FETCH_HEAD

Installation

Kopieren ins Webserver documentroot Verzeichnis:

os01:/srv/www/htdocs # cd /root
os01:~ # pwd
/root
os01:~ # cp -r mhvtl-gui /srv/www/htdocs/

Konfiguration

Bei der openSUSE Installation wurde bereits das Pattern „Web/LAMP Server“ ausgewählt. Bei Bedarf muß noch der Webserver apache2 und die Programmiersprache PHP5 nachinstalliert werden.

Über yast > system > system services runlevel kann der automatische Start des Webservers eingestellt werden.

Nun noch die Apache2 Webserver Konfiguration ergänzen:

os01:~ # vi /etc/apache2/httpd.conf
#MHVTL
Alias /mhvtl "/srv/www/htdocs/mhvtl-gui"
<Directory "/srv/www/htdocs/mhvtl-gui">
   Options None
   AllowOverride None
   Order allow,deny
   Allow from all

Bedienung

Aufruf von http://localhost/mhvtl/ bzw. http://127.0.0.1/mhvtl/ im Browser (über Netzwerk ist der hostname bzw. die IP-Adresse des Servers einzugeben) und dann Anmeldung via Passwort mhvtl (Änderung über Datei /srv/www/htdocs/mhvtl-gui/go.php)

MHVTL Webmanagement Console GUI - Login

MHVTL Webmanagement Console GUI – Login, Screenshot: Otmar Meier, unter CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)

MHVTL Webmanagement Console GUI

MHVTL Webmanagement Console GUI, Screenshot: Otmar Meier, unter CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)

  • Console: start/stop MHVTL daemon, Zustandsanzeige MHVTL und Linux
  • Setup: Konfiguration der VTL(s) und der virt. Bänder
  • Operator: Bedienung der VTL(s)
  • iSCSI (tgt): Konfiguration iSCSI target
  • Utility: Verschiedenes, u.a. Auflistung der konfigurierten Devices, Bearbeitung von Bändern, Liveupdate

iSCSI target

Die Einrichtung und Bedienung von iSCSI target auf der Shell wird im MHVTL Forum beschrieben.

Über MHVTL Webmanagement Console GUI lässt sich die iSCSI target Konfiguration auch bequem grafisch erledigen.

Zunächst aktiviert man iSCSI target. Mit Quickstart wird für jede VTL eine iSCSI target und für jedes Bandlaufwerk und jeden Controller eine iSCSI LUN erstellt. Zugriff wird jedem Host gewährt.

MHVTL Webmanagement Console GUI - iSCSI target aktivieren

MHVTL Webmanagement Console GUI – iSCSI target aktivieren, Screenshot: Otmar Meier, unter CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)

MHVTL Webmanagement Console GUI - iSCSI target quickstart

MHVTL Webmanagement Console GUI – iSCSI target quickstart, Screenshot: Otmar Meier, unter CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)

MHVTL Webmanagement Console GUI - iSCSI target Konfiguration

MHVTL Webmanagement Console GUI – iSCSI target Konfiguration, Screenshot: Otmar Meier, unter CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)

Natürlich lässt sich diese Konfiguration bei Bedarf anpassen.

Hier nochmals die Kontrolle via Shell:

os01:/ # lsscsi -g
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0   /dev/sg0
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda   /dev/sg1
[3:0:0:0]    mediumx STK      L700             0104  /dev/sch0  /dev/sg10
[3:0:1:0]    tape    IBM      ULT3580-TD5      0104  /dev/st0   /dev/sg2
[3:0:2:0]    tape    IBM      ULT3580-TD5      0104  /dev/st1   /dev/sg3
[3:0:3:0]    tape    IBM      ULT3580-TD4      0104  /dev/st2   /dev/sg4
[3:0:4:0]    tape    IBM      ULT3580-TD4      0104  /dev/st3   /dev/sg5
[3:0:8:0]    mediumx STK      L80              0104  /dev/sch1  /dev/sg11
[3:0:9:0]    tape    STK      T10000B          0104  /dev/st4   /dev/sg6
[3:0:10:0]   tape    STK      T10000B          0104  /dev/st5   /dev/sg7
[3:0:11:0]   tape    STK      T10000B          0104  /dev/st6   /dev/sg8
[3:0:12:0]   tape    STK      T10000B          0104  /dev/st7   /dev/sg9
os01:/ # tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2011-04.com.nia:os01:mhvtl:stgt:1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: passthrough
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg10
            Backing store flags:
        LUN: 2
            Type: passthrough
            SCSI ID: IET     00010002
            SCSI SN: beaf12
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg2
            Backing store flags:
        LUN: 3
            Type: passthrough
            SCSI ID: IET     00010003
            SCSI SN: beaf13
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg3
            Backing store flags:
        LUN: 4
            Type: passthrough
            SCSI ID: IET     00010004
            SCSI SN: beaf14
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg4
            Backing store flags:
        LUN: 5
            Type: passthrough
            SCSI ID: IET     00010005
            SCSI SN: beaf15
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg5
            Backing store flags:
    Account information:
    ACL information:
        ALL
Target 2: iqn.2011-04.com.nia:os01:mhvtl:stgt:2
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00020000
            SCSI SN: beaf20
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: passthrough
            SCSI ID: IET     00020001
            SCSI SN: beaf21
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg11
            Backing store flags:
        LUN: 2
            Type: passthrough
            SCSI ID: IET     00020002
            SCSI SN: beaf22
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg6
            Backing store flags:
        LUN: 3
            Type: passthrough
            SCSI ID: IET     00020003
            SCSI SN: beaf23
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg7
            Backing store flags:
        LUN: 4
            Type: passthrough
            SCSI ID: IET     00020004
            SCSI SN: beaf24
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg8
            Backing store flags:
        LUN: 5
            Type: passthrough
            SCSI ID: IET     00020005
            SCSI SN: beaf25
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Thin-provisioning: No
            Backing store type: sg
            Backing store path: /dev/sg9
            Backing store flags:
    Account information:
    ACL information:
        ALL

Die LUN 0 ist jeweils der VTL Controller, die restlichen LUNs sind die Bandlaufwerke.

Fazit

Mittels MHVTL Webmanagement Console GUI lässt sich MHVTL einfach konfigurieren und bedienen.

Die Konfiguration von iSCSI target wird zum Kinderspiel. Damit lassen sich eingerichtete VTLs nun auch über LAN ansprechen. Das ist vor allem praktisch wenn die Backupsoftware nicht unter Linux läuft, man aber eine VTL benötigt.

In Test- und Laborumgebungen kann man ggf. über die sicherheitsbedenkliche Konfiguration hinwegsehen. ansonsten kann MHVTL inkl. iSCSI target auch sicher via Shell konfiguriert werden.

Dieser Beitrag wurde unter howto, Labor abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.