ceu-notes/1/ISO/assignments/raid/raid.tex

116 lines
4.9 KiB
TeX

\documentclass[12pt,a4paper]{article}
\usepackage[spanish]{babel}
\usepackage{graphicx}
\title{Ejercicio II: Almacenamiento RAID}
\author{Nicolás A. Ortega Froysa}
\begin{document}
\maketitle
\section{Introducción: ¿Qué es RAID?}
En la informática, aumentar las capacidades de una unidad suele ser más difícil
que simplemente usar varias unidades. Por ejemplo, es más fácil que un ordenador
use varios procesadores, que no construir un procesador más rápido. Esto es lo
que lleva a que en el almacenamiento de información a largo plazo (i.e.\ en
discos duros), para almacenar mucha información se suelen tener muchos discos.
La dificultad con este modelo está en que se complica la organización de datos,
ya que cada unidad se trata de forma separada. En esto, se han inventado varios
sistemas lógicos de almacenamiento para gestionar el espacio en varios discos,
como LVM. Pero la más conocida para almacenamiento masivo es {\bf Redundant
Array of Independent Disks}, o RAID.
El objetivo del almacenamiento con RAID es por seguridad, rendimiento, y
capacidad de almacenamiento.
\begin{itemize}
\item {\bf Seguridad}: se pueden hacer escrituras paralelas a dos discos de
la misma información para poder tener copia de seguridad.
\item {\bf Rendimiento}: al distribuir información entre varios discos se
puede paralelizar la transferencia de datos.
\item {\bf Capacidad de almacenamiento}: permite tratar a varios discos como
si fueran un solo disco.
\end{itemize}
Aunque éstos son algunas de las ventajas de usar RAID, realmente depende del
tipo de {\em nivel} que tenga.
\section{Niveles RAID}
Los sistemas configurados con RAID no funcionan todos igual, sino que se pueden
configurar de forma distinta, usando distintos niveles, e incluso combinando
éstos dependiendo de las necesidades. Dependiendo del nivel que sea, se explota
una o más de las ventajas expuestas anteriormente.
\subsection{RAID 0}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.75\linewidth]{imgs/striping.png}
\caption{Striping con tres discos.}
\label{fig:striping}
\end{center}
\end{figure}
Para poder aprovechar tanto la mejora en rendimiento de tener varios discos,
como su aumentada capacidad de almacenamiento, este nivel implementa una técnica
que se denomina {\em striping}, tal que los segmentos consecutivos de un archivo
se distribuyen entre los discos configurados (ver figura \ref{fig:striping}).
Al usar varios discos, esto significa que la capacidad máxima de esta
configuración RAID sería la suma del espacio de almacenamiento de todos sus
discos. También mejora la transferencia de datos, al poder paralelizar su
transferencia entre varios discos.
\subsection{RAID 1}
Para poder asegurarse de la seguridad de los datos guardados, este nivel
automáticamente copia la información a los demás discos haciendo {\em
mirroring}. Lo que hace es que mientras se escribe a un disco, se va escribiendo
los mismos datos en el disco de copia. Esto no causa demasiado retraso, ya que
las transmisiones son a dos discos distintos, lo cual se puede hacer en
paralelo.
\subsection{RAID 2}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.75\linewidth]{imgs/raid2.png}
\caption{Diagram of RAID 2 setup.}
\label{fig:raid2}
\end{center}
\end{figure}
Al igual que el RAID 0, hace {\em striping}, mas en vez de hacerlo a nivel de
bloques, lo hace a nivel de bits. También se suma un método de corrección de
errores con un {\em hamming code}. Mas debida a su complejidad comparada con un
sistema de paridad, apenas se usa este nivel en la práctica. Esto hace que sea
el único nivel original de RAID que no se usa actualmente. También es imposible
de hacer varias peticiones a la vez por la distribución a nivel de bit en vez de
ser por bloque, lo cual significa generalmente que para leer tan sólo un bloque
ya debe de usar todos los discos.
\subsection{RAID 3}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.75\linewidth]{imgs/raid3.png}
\caption{Diagram of RAID 3 setup.}
\label{fig:raid3}
\end{center}
\end{figure}
Muy similar al nivel anterior, RAID 3 implemente {\em striping} a nivel de
bytes, y un disco dedicado a guardar la paridad para la detección de errores. El
hecho de que su {\em striping} sea a nivel de byte significa que, al igual que
en el nivel 2, no se pueden hacer varias peticiones a la vez. Esto significa que
puede ser muy útil si se precisa una alta velocidad de transferencia de datos
consecutivos de un mismo bloque. Mas este nivel ya casi no se usa en la
práctica.
\subsection{RAID 4}
Al igual que RAID 3, este nivel implementa {\em striping} y un disco dedicado a
la paridad, pero a este nivel el {\em striping} sí que es a nivel de bloque.
\section{Derechos de Autor}
Copyright \textcopyright\ 2021 Ortega Froysa, Nicolás <nicolas@ortegas.org> \\
Este documento está licenciado con la licencia Creative Commons Attribution No
Derivatives 4.0 International.\\
Creado con \LaTeX.
\end{document}