viernes, 8 de mayo de 2015

Tema 7 de teoría: Almacenamiento de datos

El sistema de almacenamiento de datos resulta clave en un sistema web de altas prestaciones, ya que es la parte del sistema donde se guarda la información, ya sea en una BD o en archivos.

Así pues, hay que diseñarlo teniendo en mente ciertos requisitos en cuanto a escalabilidad. Como vimos en un tema anterior, podemos mejorar las prestaciones de los sistemas de almacenamiento:
ampliación vertical (adquirir un mejor hardware más rápido y actualizado)
ampliación horizontal (replicar el almacenamiento entre varios servidores); puede resultar más efectivo en cuanto a la escalabilidad

Factores a tener en cuenta al diseñar la arquitectura de BD:
  • El número de sesiones concurrentes en la BD puede afectar al rendimiento de la granja web completa (conexiones costosas).
  • Una gran cantidad de accesos a la BD por cada petición HTTP puede sobrecargar la conexión de red entre los servidores web y de BD.
  • Las búsquedas que devuelvan resultados muy grandes afectarán al rendimiento de CPU, almacenamiento y red.
  • El tamaño total de la BD determinará el espacio para almacenamiento, y el tiempo necesario para hacer copias de seguridad y restaurarlas.
  • Conviene utilizar hardware redundante para los servidores.
Una BD se podrá escalar en el futuro si desde el principio se instaló hardware con capacidad de ampliación (CPU, memoria, etc) y se configuró el software de forma adecuada. En ese sentido, se recomienda una arquitectura de BD basada en un cluster.


Todos los datos (archivos o BD) están almacenados en algún tipo de soporte. Una configuración muy adecuada para este tipo de dispositivos es el RAID.

RAID (conjunto redundante de discos independientes) es un sistema de almacenamiento que usa múltiples discos duros entre los que se distribuyen o replican los datos, ofreciendo mayor integridad, mayor tolerancia a fallos, mayor rendimiento y mayor capacidad. La idea es combinar varios dispositivos en un conjunto que ofrece mayor capacidad, fiabilidad y velocidad que un solo dispositivo de última generación más caro.

Un RAID por hardware es mucho más rápido que uno configurado por software, pero éste es mucho más flexible, ya que permite, p.ej., construir RAID de particiones en lugar de discos completos.

Hay diversos métodos de almacenamiento, llamados niveles, con diferente complejidad:
  • RAID 0: Conjunto dividido
  • RAID 1: Conjunto en espejo
  • RAID 5: Conjunto dividido con paridad distribuida
  • RAID 10 o RAID 1+0: División de espejos
Las configuraciones RAID tienen las siguientes ventajas (en general):
  • Permite acceder a los datos aunque falle un disco.
  • Puede mejorar el rendimiento de ciertas aplicaciones (para archivos grandes mantiene tasas de transferencia altas).
Sin embargo, hay que tener en cuenta que:
  • No protege los datos (p.ej. por virus).
  • No simplifica la recuperación de un desastre.
  • No mejora el rendimiento para todas las aplicaciones.
  • No facilita el traslado del almacenamiento a un sistema nuevo.

Finalmente, en el tema hemos visto tres tipos de sistemas de almacenamiento especializado: SSA, NAS, SAN.

Arrays de almacenamiento compartido: SSA
  • Dispositivos con unas especificaciones y herramientas propietarias de cierta empresa.
  • Posee una interfaz para conectar los discos a las controladoras (normalmente SCSI).
  • Número limitado de puertos para hacer la conexión entre servidores y almacenamiento.
  • Se suele usar para disponer del almacenamiento necesario para archivos y BD en clusters.


Área de almacenamiento en red: SAN
  • Conjunto de dispositivos interconectados (discos, cintas, etc.) y servidores conectados a un canal de comunicación e intercambio de datos común (concentrador de alta velocidad).
  • Algunos de los dispositivos pueden ser SSA y NAS.


Almacenamiento conectado a la red: NAS
  • Conjunto de discos organizados en un dispositivo de red con IP y que puede conectarse a una red Ethernet.
  • Utilizando algún protocolo, como Internetwork Packet Exchange (de Microsoft), NetBEUI (de Microsoft), Network File System (NFS, de Sun) o IPE (de Novell).
  • Aparece como otro servidor más en la red.


En cuanto a los ejercicios que vamos planteando en los temas de teoría, en este tema hemos planteado los siguientes ejercicios:
Ejercicio T7.1:
¿Qué tamaño de unidad de unidad RAID se obtendrá al configurar un RAID 0 a partir de dos discos de 100 GB y 100 GB?
¿Qué tamaño de unidad de unidad RAID se obtendrá al configurar un RAID 0 a partir de tres discos de 200 GB cada uno?

Ejercicio T7.2:
¿Qué tamaño de unidad de unidad RAID se obtendrá al configurar un RAID 1 a partir de dos discos de 100 GB y 100 GB?
¿Qué tamaño de unidad de unidad RAID se obtendrá al configurar un RAID 1 a partir de tres discos de 200 GB cada uno?

Ejercicio T7.3:
¿Qué tamaño de unidad de unidad RAID se obtendrá al configurar un RAID 5 a partir de tres discos de 120 GB cada uno?

Ejercicio T7.4:
Buscar información sobre los sistemas de ficheros en red más utilizados en la actualidad y comparar sus características. Hacer una lista de ventajas e inconvenientes de todos ellos, así como grandes sistemas en los que se utilicen.
Configurar en una máquina virtual un servidor NFS. Montar desde otra máquina virtual en la misma subred la carpeta exportada y comprobar que ambas pueden acceder a la misma para lectura y escritura.
Como ya indicamos, la entrega de los ejercicios de clase se realiza en el repositorio personal que cada cual mantenéis en github.com, en una carpeta que podéis llamar "ejercicios_de_clase".


Tutoriales con los que aprender a configurar dispositivos RAID bajo Linux, Windows y OS-X:
Instalación Ubuntu server con RAID1
http://www.youtube.com/watch?v=DS4uKJ9pfnk
Instalación ubuntu server 12.04 LTS precise pangoline con RAID 1 software
http://www.youtube.com/watch?v=y17EfNs0TBc

Como crear un RAID 1 en Windows
http://www.youtube.com/watch?v=g5I-1IXgwRo
Raid 1 - Sincronización espejo en Windows Server 2008
http://www.youtube.com/watch?v=k92yKphhKYE

Instalación y configuración RAID de dos discos duros en un Mac PRo
http://www.youtube.com/watch?v=O5VuJSRjLT8
Xserve RAID Install
http://www.youtube.com/watch?v=WxsQ2Y1iW7w

No hay comentarios:

Publicar un comentario