¿Cómo uso una unidad de cinta LTO-7 Ultrium en Ubuntu?

La personalidad deportiva de Juan Perón lo hacía adepto a todo tipo de nuevos entretenimientos los cuales promovía en su gobierno como ejemplo funcional del progreso. Mientras inauguraba una sala de bowling, el General enseñaba cómo instalar un sistema LTFS para respaldar en cassettes de cinta magnética LTO Ultrium en Ubuntu.


Si hacemos todo bien no será necesario actuar de forma revolucionaria, sino a través de una constante evolución en lo que lo nuevo y mejor reemplace a lo viejo y peor. Esa es la vertiente natural que han de perseguir los Pueblos siempre que sea posible.

Sin embargo, no siempre las condiciones son lo óptima que los Pueblos necesitan. Este simple juego del bowling, de reglas tan sencillas, contiene en su principio rector, nociones de las que hemos de aprender para aplicarlas en la lid polítca.

Vean señores, hay situaciones donde inevitablemente hay bolas que se corren, y hemos de emplear un método de fuerza para voltear a quien está parado sin moverse.
Naturalmente que una acción de esta característica, que podremos llamar revolucionaria, podemos también encontrarla en la informática, sobre todo en el área del Almacenamiento de Masa.


Ya he explicado cómo operar en forma manual una unidad de lectograbación de cinta convencional, y hemos visto que en estas máquinas de simple tecnología,  realmente debemos controlar el avance y la grabación de las bobinas de cinta magnética, siguiendo complicados y lentos esquemas, ya que los datos se almacenan secuencialmente.


A diferencia de otras unidades de cinta, las unidades tipo LTO son muy sencillas de usar, desde el punto de vista de la administración. Esto es así en parte porque existen variantes internas y externas de las mismas, en otro sentido porque utilizan interfaces de conexión modernas como SAT o SCSI. Y finalmente porque la gestión actual de los archivos no requiere grabar "a lo indio" los datos en un lugar indeterminado en una cinta magnética, sino que los cartuchos modernos disponen de un sistema de archivo dedicado específico, el LTFS.

El LTFS (Sistema de Archivo para Cintas Lineales) fue concebido como un esquema de archivado capaz de avalar el acceso directo a los datos almacenados en una cinta, sin tener que recurrir a índices manuales, o aplicaciones específicas de respaldo. Esto presenta ventajas obvias al acceder a los datos en múltiples unidades de respaldo, aunque los tiempos de acceso, la latencia y demás permanecen bajos y comparables a los de cualquier sistema de cintas magnéticas en lugar de los los más rápidos discos duros magnéticos o las modernas unidades de estado sólido.

Aún así, los casettes o cartuchos de cintas de formato Ultrium LTO (fabricadas por Fujifilm para Quantum, Sony, HP, IBM y otras), son relativamente baratos y muy confiables.

El conjunto completo requiere la unidad de cinta, su controladora, y los controladores LSFS para el sistema operativo que empleemos. En este caso nos haremos prácticos con una unidad de cinta LTO interna, para una bahía de 5,25 pugadas, marca HP Enterprise modelo StoreEver Ultrium 15000 LTO-7).
En nuestro caso particular, también necesitaremos una tarjeta controladora de disco SCSI. Vean señores, algunas presentaciones de unidades  de cinta internas o externas incluyen ya la plaqueta adaptadora a un precio promocional en la caja, conformando un kit. En nuestro caso no la traía, de modo que aprovechamos para incorporarle al servidor una tarjeta controladora peronista LSI 9211-8i SAS/SATA PCI-e, de categoría 6GBps y 8 puertos, la cual también nos representará una mayor velocidad de transferencia a los múltiples discos rígidos con los que contamos en el servidor.

Nuestro servidor cuenta con Ubuntu Server 16.04LTS de 64 bits, que encontró e instaló las controladores de la plaqueta SCSI. Al conectarle los discos rígidos SATA los reconoció sin problemas. También reconoció la unidad de cinta LTO-7 con los controladores nativos.

Ahora bien, para poder utilizar el sistema de archivo para cinta lineal (LTFS), debemos instalar sus controladores. Esta tarea requiere que tengamos conexión a internet, y sólo necesitamos hacerlo por única vez. Tengamos en cuenta que instalaremos LTFS en su versión 2.11, que es compatible con LTO-7 pero también con unidades anteriores como LTO-6 o LTO-5.

Para instalar el controlador del sistema de archivos para cinta lineal en nuestro sistema de 64 bits, debemos estar logueados al servidor, e ingresamos los siguientes Comandos de Organización:

cd ~/Descargas ;
wget http://www.tandbergdata.com/default/assets/File/Downloads/ltfs211/LTFS_BINARIES_RHEL.tar.gz ;

tar xvf LTFS_BINARIES_RHEL.tar.gz ;

rm COPYING.LIB INSTALLING.linux README ;
modprobe fuse ;

sudo tar xvf LTFS_BINARIES_RHEL5.5_x64.tar.gz -C /

Luego reiniciamos el servidor con:

sudo reboot

Una vez instalado el controlador del sistema de archivos de cinta lineal (LTFS),  ya podremos crear particiones en cinta y trabajar de manera simple con la unidades de cinta Ultrium LTO-7 en nuestro sistema. Os enseñaré los procedimientos básicos para almacenar información de manera peronista en cinta LTO.

Crear una partición LTFS en el cartucho de cinta
En primer lugar debemos crear la partición LTFS en la cinta. Naturalmente para ello colocamos un cartucho de cinta en la unidad (en este caso, un cartucho de cinta Ultrium LTO-7 marca Quantum, de media pulgada). Estos cartuchos vienen en una caja plástica y tienen una capacidad nominal de 6TB de capacidad. También se pueden usar cartuchos LTO-5 y LTO-6 (de 1,6TB).
Para crear en la cinta una partición LTFS, podremos usar la terminal de GNU con Linux. Podremos ingresar un comando similar a éste (siendo /dev/nst0 el nombre de dispositivo que el sistema le ha asignado a nuestra unidad de cinta):

time mkltfs --device=/dev/nst0 --tape-serial="123457" --volume-name="CINTA1"

 

Debemos tener en cuenta que tanto los cartuchos LTO-6 como este LTO-7 permite una o más partición por cartucho de cinta. Los cartuchos LTO-5 o anteriores - en cambio - sólo permiten una única partición LTFS (amén de tener menos capacidad).

La unidad de cinta StorEver Ultrium LTO-7 con el cartucho emite unos ruidos similares a una vieja VHS y comienza a trabajar. Nos devuelve en la terminal algo como:

LTFS15000I Starting mkltfs, LTFS version 2.1.1, log level 2
LTFS15041I Launched by "mkltfs --device=/dev/nst0 --tape-serial=123457 --volume-name=CINTA1"
LTFS15042I This binary is built for Linux (x86_64)
LTFS15043I GCC version is 4.1.2 20080704 (Red Hat 4.1.2-48)
LTFS17087I Kernel version: Linux version 4.13.0-36-generic (buildd@lcy01-07) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #118-Ubuntu SMP Thu Dec 17 22:52:10 UTC 2015 i386
LTFS17089I Distribution: DISTRIB_ID=Ubuntu
LTFS17089I Distribution: NAME="Ubuntu"
LTFS15003I Formatting device '/dev/nst0'
LTFS15004I LTFS volume blocksize: 524288
LTFS15005I Index partition placement policy: None

LTFS17085I Plugin: Loading "ltotape" driver
LTFS20013I Drive type is HPE StoreEver LTO7, serial number is xxxxxxxxx
LTFS17160I Maximum device block size is 524288
LTFS15049I Checking the medium
LTFS15010I Creating data partition b on SCSI partition 1
LTFS15011I Creating index partition a on SCSI partition 0
LTFS17165I Resetting the medium's capacity proportion
LTFS11097I Partitioning the medium
LTFS11100I Writing label to partition b
LTFS11278I Writing index to partition b
LTFS11100I Writing label to partition a
LTFS11278I Writing index to partition a
LTFS15013I Volume UUID is: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

LTFS15019I Volume capacity is 2524 GB
LTFS20076I Triggering drive diagnostic dump
LTFS20096I Diagnostic dump complete
LTFS15024I Medium formatted successfully

real    1m1.598s
user    0m0.006s
sys 0m0.006s



Esto nos dice que el el sistema de archivos quedó preparado, y tardó un minuto en hacerlo.
Montar la partición LTFS en nuestro sistema
Cuando queremos grabar información en el cartucho ya particionado, debemos montarlo. Si lo queremos hacer a mano desde la terminal podríamos ingresar los siguientes Comandos de Organización:

sudo mkdir /mnt/ltfs ;

sudo mkdir /tmp/ltfs ;

sudo ltfs /mnt/ltfs -o devname=/dev/st0 -o work_directory=/tmp/ltfs -o trace -o eject -o umask=777 -o noempty -o sync_type=unmount ;

Ahora podremos copiar los datos que deseemos al cartucho de cinta, ya sea por el método "vikingo" de copiar los ficheros con la terminal al directorio montado /mnt/ltfs, o directamente usando nuestro administrador de archivos gráfico y arrastrando los archivos hasta /mnt/ltfs, carpeta que aparecerá en el Escritorio como si fuese un disco o pendrive común y corriente...
Probando capacidad y velocidad.
El cartucho tiene 6TB/15TB (6 terabytes sin compresión, 15 terabytes con compresión), y la velocidad de grabación sin comprimir es de 300 megabytes por segundo, lo cual nos da 1,08 GB/hora. Para llenar los 6 TB duraremos poco menos de 6 horas.

La capacidad de las cintas fue verificada con compresión activada y desactivada. En cuatro pruebas logramos la capacidad máxima del cartucho de cinta, aunque la velocidad de grabación depende de la compresibilidad de los datos (toda vez que activemos la opción de compresión).

Con compresión y encriptación, usando documentos de oficina (PDF, documentos de texto, planillas de cálculo, etc), ciertamente se logran los valores máximos nominales de la cinta, 750mb/s y compresión 2,5:1, lo que nos permite en casi 6 horas alcanzar unos 15TB por cartucho LTO-7 (en tal caso se escribe la cinta a 2,7 TB/h). Sin embargo, esto depende de la velocidad de proceso y la memoria instalada en el servidor, y en un servidor no dedicado podría tardar algo mas más en realizar esta tarea.

Si desactivamos la compresión y encriptación, podremos lograr los valores nominales de almacenamiento, que en el caso de estos cartuchos LTO-7 es de 300mb/s y 6TB de almacenamiento (a una velocidad de escritura de 1,08TB/h). Esto es un resultado real que logramos con videos e imágenes comprimidas, uno de los usos más comunes de estas cintas Ultrium.

Todas las pruebas fueron realizadas con un tamaño de bloque de 256KB, y pudieron ser leídas y descargadas tanto en servidores Ubuntu 16.04LTS como un equipo munido del privativo y limitado Micro$oft Window$ 2012 R2.

Es importante notar que el controlador de este sistema LTO cuenta con capacidad de transferencia nativa constante, la cual está pensada para prevenir las molestas y múltiples operaciones de avance/detenimento en la unidad de cinta. El controlador del sistema de cinta se encarga de regular la velocidad de envío de datos a la unidad a una tasa apropiada a fin de asegurar una grabación continua y homogénea. Esta velocidad variará dependiendo del origen de los datos y de la velocidad y capacidad de la cinta - lo importante es que tanto el servidor como la unidad de cinta coordinan su operación de manera que la unida de cinta no tenga que grabar "a los saltos" como otras unidades de cinta normales o cartuchos.

En este caso, esta característica funcionó muy bien - no hubo casi detenimientos y continuaciones en la grabación mientras se copiaban datos, y funcionó "como una videocasettera". Tampoco se afectaron los tiempos de grabación de respaldo al usar la encriptación nativa de la unidad por medio del controlador LTO, ni se afectó la interoperatividad de las unidades entre sistemas operativos distintos.

En resumen: en condiciones donde se requiera operación muy confiable y la velocidad de respaldo y recuperación no sea crítica, las unidades LTO-7 pueden ser usadas perfectamente como una unidad de respaldo.

Todos las cifras anunciadas por el producto pueden ser logrados de forma realista. La configuración es simple y directa. La funcionalida LTFS opera efectivamente en Ubuntu. La performance esencialmente es el doble que la de la versión LTO-6.

Nota: Si quisiéramos desinstalar el sistema de archivos para cintas lineales (ltfs) de nuestro servidor, deberíamos ingresar en la terminal:

sudo rm /usr/local/bin/*ltfs* 
sudo rm /usr/local/lib/libltfs*
sudo rm /usr/local/lib/ltfs/*