# Gestion de almacenamiento jerárquico

Gestión de Almacenamiento Jerárquico (HSM - Hierarchichal Storage Management) es una estrategia de almacenamiento que automáticamente promueve la mejor utilización de datos a través de los recursos de alto costo y medios de almacenamiento de bajo costo. Éste provee en forma automática la optimización de almacenamiento haciendo que toda la información se encuentre en línea o casi en línea. El HSM existe porque los dispositivos de almacenamiento de alta velocidad son muy caros (por Byte), como el Disco Duro, a comparación con los sistemas de baja velocidad como Disco ópticos, o Cinta magnéticas. Aunque sería ideal que todos los datos se manejaran en dispositivos de alta velocidad, el precio es demasiado alto comparado con los dispositivos de baja velocidad.
El sistema de Gestión de Almacenamiento Jerárquico almacena la mayor parte de los datos en los dispositivos más lentos, y luego copia los datos en unidades de disco más rápidos para acceder fácilmente a ellos. El HSM convierte las unidades de disco rápidas en Cachés para los dispositivos de almacenamiento masivos lentos. El sistema HSM supervisa si se utilizan los datos camino y hace mejores conjeturas en cuanto a que los datos de forma segura se pueden mover a los dispositivos más lentos y que los datos deben permanecer en los dispositivos rápidos.

## Historia

HSM (originalmente DFHSM, ahora DFSMShsm) fue el primero implementado por IBM en sus computadoras centrales para reducir el costo de almacenamiento de datos, y para simplificar la recuperación de los datos de los medios de comunicación más lentas. El usuario no tendría que saber donde se almacenaron los datos y cómo recuperarlos; el equipo podría recuperar los datos automáticamente. La única diferencia para el usuario fue la velocidad a la que fue devuelto datos.
La eliminación de archivos desde un nivel más alto de la jerarquía (por ejemplo, disco magnético) después de haber sido trasladado a un nivel más bajo (por ejemplo, medios ópticos) a veces se llama 'aseo de archivos' .

## Casos de uso

HSM se utiliza a menudo para almacenamiento en profundidad de archivo de datos, que se celebrará a largo plazo y bajo costo. Robots de cintas automatizadas pueden tomar grandes cantidades de datos de manera eficiente con bajo consumo de energía.
Algunos productos de software HSM permiten al usuario colocar porciones de archivos de datos en caché de disco de alta velocidad y el resto en la cinta. Esto se utiliza en aplicaciones que transmitir vídeo a través de Internet - la parte inicial de un video se entrega inmediatamente del disco mientras un robot encuentra, monta el resto del archivo para el usuario final. Este sistema reduce en gran medida el costo de disco para grandes sistemas de provisión de contenidos.

## Arquitectura y Funcionamiento

Convierte los discos de acceso rápido en caché para los dispositivos de almacenamiento masivo (lento), monitorea el modo en que los datos son usados y hace suposiciones sobre qué dato puede ser movido de manera segura a un dispositivo de lento procesamiento y que dato debe permanecer en los dispositivos de alto procesamiento. El criterio para mover estos datos es relativamente sencillo, los datos que son usados frecuentemente son almacenados en una unidad de disco, si no son usados en un tiempo determinado son movidos eventualmente a una cinta. Si el usuario usa el archivo el cual se encuentra en la cinta, este es movido automáticamente al almacenamiento en disco. Por lo cual lo que se está usando de manera continua tiende a estar en los niveles más altos de la jerarquía, mientras que lo que se está usando de manera no-frecuente son almacenados en el almacenamiento secundario o terciario según el tiempo.
La meta del HSM es mejorar el uso de los costos asociados con el almacenamiento de los datos. Se busca optimizar entre el costo de almacenamiento de diferentes datos y la reducción en la performance del personal debido al mayor tiempo de acceso de los medios más baratos.
Un sistema HSM permite:
* Hacer más eficiente el almacenamiento primario.
* Reducir el costo total de los medios de almacenamiento.
* Simplificar la administración del almacenamiento, con la consiguiente reducción del costo agregado de operación.
El paso de un medio a otro se llama migración. Este proceso responde a criterios que se fijan en la configuración con base en una cantidad de características como por ejemplo umbrales (los datos se pasan solamente cuando la unidad llega a cierto nivel de su capacidad).
En un escenario típico HSM, archivos de datos que se utilizan con frecuencia se almacenan en unidades de disco, pero son finalmente migrados a la cinta si no se utilizan durante un cierto período de tiempo, típicamente unos pocos meses. Si un usuario rehúsa un archivo que está en la cinta, se mueve automáticamente al almacenamiento en disco. La ventaja es que la cantidad total de datos almacenados puede ser mucho mayor que la capacidad de almacenamiento disponible en el disco, pero ya que solo los archivos raramente utilizados están en la cinta, la mayoría de los usuarios no suelen notar ningún tipo de ralentización.
Un sistema HSM de plenas características hace que los procesos de migración y recuperación de datos sean completamente automáticos y transparentes.

## Costos de almacenamiento

Los costos mencionados a continuación son aproximados con base en un estudio realizado el año 2017. Estos son los costos de almacenamiento representados en pesos mexicanos:
* $ 0,0016 por Megabyte para almacenamiento en disco duro.
* $ 0,003/MB para el disco óptico (CD).
* $ 0,002/MB para almacenamiento en cinta magnética.

## Jerarquía de Memoria

La jerarquía de memoria es simple se divide en 5 secciones, en donde la más alta es la que más velocidad tiene y es la más cara (por byte).
* Registro del Procesador.
* Memoria Caché
* Memoria RAM
* Disco Duro (Almacenamiento secundario)
* Copia de Seguridad (Cinta magnética, disco duro extraíble, almacenamiento en red).
Para entender un poco mejor, la jerarquía piramidal está seccionada también en tres partes, almacenamiento primario, secundario y terciario. Almacenamiento primario: Es el que tiene la velocidad más alta, son volátiles. Almacenamiento secundario: Es el siguiente nivel de la jerarquía, no volátil, tiempo de acceso moderado, también llamado almacenamiento en línea (Ej. Memorias Flash, discos magnéticos). Almacenamiento terciario: Es el nivel más bajo de la jerarquía, no volátil, tiempo de acceso lento, también llamado almacenamiento fuera de línea. (Ej. Cinta magnética, almacenamiento óptico).

## Gestión de memoria

Los lenguajes de programación actuales generalmente asumen la existencia de únicamente dos niveles de memoria: memoria primaria y memoria secundaria (normalmente en disco). En lenguaje ensamblador, ensamblador en línea, y lenguajes como C y C++, se pueden direccionar datos directamente a los registros de la CPU.
Para aprovechar de forma óptima las ventajas de la jerarquía de memoria es necesaria la cooperación entre programadores, compiladores y fabricantes de hardware:
* Programadores: deben ser responsables del movimiento entre memoria principal y disco mediante el uso de ficheros.
* Hardware: el movimiento de datos entre la memoria principal y los niveles de caché es realizado por algoritmos de hardware.
* Compiladores: son responsables de optimizar el código de modo que el uso de los registros y la caché sea eficiente.

## Niveles HSM

Las características más destacadas en que se diferencian los productos HSM son el número de niveles jerárquicos soportados, la configuración, métodos para interactuar con el sistema operativo, soporte a unidades ópticas y de cinta de terceros y, soporte o integración con el backup. Algunos productos incluyen compresión en los archivos migrados.
Un intento de clasificación fue realizado hace tiempo por la empresa Strategic Research, dando lugar a cinco niveles funcionales que por supuesto no tienen nada que ver con los niveles jerárquicos antes mencionados. Estos niveles son:
* Nivel 1: Características bidireccionales, migración automática y recuperación transparente de archivos. Todos los productos HSM deben satisfacer al menos este nivel.
* Nivel 2: Umbrales múltiples predefinidos que permite un balance dinámico de los medios de almacenamiento. Este nivel es adecuado para empresas que tienen requerimientos de disco muy variables, tales como los propios de una operatoria comercial, además de otra técnica o de ingeniería.
* Nivel 3: Provee administración transparente de tres o más niveles de almacenamiento. Los umbrales entre niveles diferentes se balancean dinámicamente. Agrega administración de volúmenes y medios, incluyendo cola de tareas y optimización del rendimiento de los dispositivos. Es para empresas que trabajan con varios tipos de almacenamiento.
* Nivel 4: Permite la clasificación de archivos, por ejemplo, por el tipo, tamaño, ubicación, o propiedad. Además, el administrador puede establecer diferentes reglas de migración para cada clasificación. Puede operar en plataformas diferentes.
* Nivel 5: Organización basada en objetos, con registros estructurados y no estructurados, preservando las relaciones entre aquellos.

## Requisitos para implementar HSM

Desde que la informática distribuida es sumamente heterogénea, las organizaciones deben asegurarse que ciertos elementos básicos de administración de almacenamiento básicos estén en el lugar adecuado antes de que HSM sea utilizado. Éstos incluyen:
Una sólida estrategia de backup y archivado, HSM no es un reemplazo para el backup o el archivo. Antes de que HSM se despliegue, se recomienda que las organizaciones tengan implementada una sólida estrategia para backup y archivo, para protección de los datos por una red heterogénea.
Un análisis apropiado del tamaño de las redes y edad de los datos, típicamente las grandes redes con una cantidad inmoderada de datos antiguos, son los candidatos ideales por desplegar HSM. Mientras es difícil de cuantificar la cantidad de datos antiguos, se recomienda que las organizaciones desplieguen HSM si los datos son más antiguos que un año, los cuales liberarán un sube una importante cantidad de los recursos de almacenamiento de red.
El compromiso de los usuarios finales, es indispensable que el personal de Sistemas, obtenga el máximo apoyo posible de la comunidad del personal de usuarios finales antes de desplegar HSM por la organización. El componente de migración de archivo de HSM es transparente al usuario final. Los usuarios finales se irritarían a menudo si encuentran que sus datos se han migrado a un lugar diferente sin su conocimiento. Esto se exacerba cuando ellos intentan acceder un archivo migrado y toma mucho más tiempo que el usual para accederlo, debido al proceso de-migración del archivo. Los usuarios también deben estar participando en la administración y archivo de sus datos usando las herramientas que el sistema le provee.
Para asegurarse una estrategia de administración de almacenamiento integrada exitosa, las organizaciones deben tener en la cuenta los diversos problemas antes de seleccionar una solución de HSM. Los factores claves a tener en cuenta incluyen: