Home » VTL Open Source sobre FC

VTL Open Source sobre FC

Se ha realizado en nuestro entorno de pruebas una VTL Open Source sobre FC. Su implementación está basada en los trabajos previos sobre mhVTL y SCST .

 

Partiendo del escenario descrito en los post  SCST 2 y SCST 3, donde se compiló un kernel vanilla y se le añadió el software SCST junto con los drivers de QLogic en modo target, configurado para que ofreciera a la SAN un disco virtual (VDISK). Se añade al servidor el proyecto mhVTL emulando una librería de cintas modelo Sun Storagetek L700 con un drive SDLT600 de QUANTUM, encargándose el módulo SCST de ofrecerlas a través de la HBA operando en modo Target.

El procedimiento de su implementación es:

1.- Crear entorno previo SCST descrito en el  post SCST 2.

2.- Instalar proyecto mhVTL

3.- Configurar mhVTL

4.- Configurar SCST para dar visibilidad a los elementos de mhVTL por fibra.

2.- Instalar proyecto mhVTL

La instalación es idéntica a la descrita en el artículo VTL Open Source sobre iSCSI. Brevemente,  descarga de las fuentes mhvtl en formato tar.gz desde la web del proyecto y realiza el siguiente procedimiento de instalación:

# useradd vtl
# passwd vtl
# mkdir /opt/mhvtl
# chown -Rf vtl:vtl /opt/mhvtl
# mkdir /etc/mhvtl
# chown -Rf vtl:vtl /etc/mhvtl
# cd /root/mhvtl-0.18-4
# make distclean
# cd kernel
# make
# make install
# cd ../
# make
# make install

3.- Configurar mhVTL

Edición del fichero /etc/mhvtl/device.conf  para definir  la librería y el drive:

# cat /etc/mhvtl/device.conf
VERSION: 4

# VPD page format:
# <page #> <Length> <x> <x+1>… <x+n>

# NOTE: The order of records is IMPORTANT…
# The 'Unit serial number:' should be last (except for VPD data)
# i.e.
# Order is : Vendor ID, Product ID, Product Rev and serial number finally
# Zero, one or more VPD entries.
#
# Each 'record' is sperated by one (or more) blank lines.
# Each 'record' starts at column 1

Library: 2 CHANNEL: 0 TARGET: 0 LUN: 0
Vendor identification: STK
Product identification: L700
Product revision level: 5500
Unit serial number: XYZZY

Drive: 1 CHANNEL: 0 TARGET: 1 LUN: 0
Library ID: 2 Slot: 1
Vendor identification: QUANTUM
Product identification: SDLT600
Product revision level: 5500
Unit serial number: ZF7584364
Max density: 0x46
VPD: b0 04 00 02 01 00

Definir el contenido de la librería en el fichero /etc/mhvtl/library_contents:

# cat /etc/mhvtl/library_contents
# Define how many tape drives you want in the vtl..
# The 'XYZZY_...' is the serial number assigned to
# this tape device.

Drive 1: ZF7584364

# Place holder for the robotic arm. Not really used.
Picker 1:

# Media Access Port
# (mailslots, Cartridge Access Port, <insert your favourate name here>)
# Again, define how many MAPs this vtl will contain.
MAP 1:
MAP 2:
MAP 3:
MAP 4:

# And the 'big' on, define your media and in which slot contains media.
# When the rc script is started, all media listed here will be created
# using the default media capacity.
Slot 1:    800843S3
Slot 2: 800844S3
Slot 3: 800845S3
Slot 4: 800846S3
Slot 5: 800847S3
Slot 6: 800848S3
Slot 7: 800849S3
Slot 8: 800850S3
Slot 9: 800851S3
Slot 10: 800852S3
Slot 11: 800853S3
Slot 12: 800854S3
Slot 13: 800855S3
Slot 14: 800856S3
Slot 15: 800857S3
Slot 16: 800858S3
Slot 17: 800859S3
Slot 18: 800860S3
Slot 19: 800861S3
Slot 20: 800862S3
Slot 21:
Slot 22:
Slot 23:
Slot 24:
Slot 25:
Slot 26:
Slot 27:
Slot 28:
Slot 29:
Slot 30:
Slot 31: CLN001L1
Slot 32: CLN002L1

4.- Configurar SCST para dar visibilidad a los elementos de mhVTL por fibra.

Levantar  servicio mhVTL:

/etc/init.d/mhvtl start

Comprobación:

# lsscsi
[2:0:0:0]    disk    ATA      WDC WD7500AACS-0 01.0  /dev/sda
[8:0:0:0]    mediumx STK      L700             5500  –
[8:0:1:0]    tape    QUANTUM  SDLT600          5500  –

Se observan el VDISK (procedente de prueba anterior) y la librería STK L700 junto con el drive QUANTUM SDLT600 creados por mhVTL.

Se configura para que los dispositivos sean visibles por la HBA:

# echo "add 8:0:1:0 1" > /proc/scsi_tgt/groups/Default/devices

# echo "add 8:0:0:0 2" > /proc/scsi_tgt/groups/Default/devices

Y se pone en modo target el host asociado como interfaz en sysfs:

# echo “1″ >/sys/class/scsi_host/host7/target_mode_enabled

Comprobación:

# cat /sys/class/scsi_host/host7/active_mode

Target

# cat /proc/scsi_tgt/scsi_tgt
Device (host:ch:id:lun or name)                             Device handler
2:0:0:0                                                     dev_disk
vm_disk                                                     vdisk_fileio
8:0:1:0                                                     dev_tape
8:0:0:0                                                     dev_changer

Desde el Host con W2K8 que opera en modo initiator se observan desde el administrador de dispositivos de la siguiente forma:

Se ha instalado la Utilidad OneCommand manager de Emulex con propósito de diagnóstico, la librería y el drive emulados se observan de la siguiente forma:

Para comprobar la conectividad del host con la VTL por FC  se han usado las utilidades mtx en su versión para Windows:

  • Estado de la librería:

c:\mtx>mtx.exe -f 3:0:0:2 status
Storage Changer 3:0:0:2:1 Drives, 36 Slots ( 4 Import/Export )
Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = 800843S3

Storage Element 1:Empty
Storage Element 2:Full :VolumeTag=800844S3
Storage Element 3:Full :VolumeTag=800845S3
Storage Element 4:Full :VolumeTag=800846S3
Storage Element 5:Full :VolumeTag=800847S3
Storage Element 6:Full :VolumeTag=800848S3
Storage Element 7:Full :VolumeTag=800849S3
Storage Element 8:Full :VolumeTag=800850S3
Storage Element 9:Full :VolumeTag=800851S3
Storage Element 10:Full :VolumeTag=800852S3
Storage Element 11:Full :VolumeTag=800853S3
Storage Element 12:Full :VolumeTag=800854S3
Storage Element 13:Full :VolumeTag=800855S3
Storage Element 14:Full :VolumeTag=800856S3
Storage Element 15:Full :VolumeTag=800857S3
Storage Element 16:Full :VolumeTag=800858S3
Storage Element 17:Full :VolumeTag=800859S3
Storage Element 18:Full :VolumeTag=800860S3
Storage Element 19:Full :VolumeTag=800861S3
Storage Element 20:Full :VolumeTag=800862S3
Storage Element 21:Empty
Storage Element 22:Empty
Storage Element 23:Empty
Storage Element 24:Empty
Storage Element 25:Empty
Storage Element 26:Empty
Storage Element 27:Empty
Storage Element 28:Empty
Storage Element 29:Empty
Storage Element 30:Empty
Storage Element 31:Full :VolumeTag=CLN001L1
Storage Element 32:Full :VolumeTag=CLN002L1
Storage Element 33 IMPORT/EXPORT:Empty
Storage Element 34 IMPORT/EXPORT:Empty
Storage Element 35 IMPORT/EXPORT:Empty
Storage Element 36 IMPORT/EXPORT:Empty

  • Información de la librería:

c:\mtx>tapeinfo.exe -f 3:0:0:2
Product Type: Medium Changer
Vendor ID: 'STK     '
Product ID: 'L700            '
Revision: '5500'
Attached Changer API: No
SerialNumber: 'XYZZY     '
Ready: yes

  • Información del drive:

c:\mtx>tapeinfo.exe -f Tape0
Product Type: Tape Drive
Vendor ID: 'QUANTUM '
Product ID: 'SDLT600         '
Revision: '5500'
Attached Changer API: No
SerialNumber: 'ZF7584364 '
MinBlock: 4
MaxBlock: 1048576
Ready: yes
BufferedMode: yes
Medium Type: Not Loaded
Density Code: 0x49
BlockSize: 0
DataCompEnabled: yes
DataCompCapable: yes
DataDeCompEnabled: yes
CompType: 0x10
DeCompType: 0x10
BOP: yes
Block Position: 0
Partition 0 Remaining Kbytes: 499
Partition 0 Size in Kbytes: 500
ActivePartition: 0
EarlyWarningSize: 0
NumPartitions: 0
MaxPartitions: 0

  • Carga de cinta de Slot 1 a drive 0:

c:\mtx>mtx.exe -f 3:0:0:2 load 1 0
Loading media from Storage Element 1 into drive 0…done

  • Descarga de drive 0 a slot 1:

c:\mtx>mtx.exe -f 3:0:0:2 unload 1 0
Unloading drive 0 into Storage Element 1…done

Como se puede observar la librería virtual opera correctamente a las peticiones descritas a través de FC.

Fuentes:

Proyecto mhvtl

Proyecto SCST

Foros de nimsa

Blog nsrd.info

One Response to “VTL Open Source sobre FC”

Responder a Pruebas con librerías de cintas sobre servidores Linux Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *