Nota: esta guía no tiene por finalidad explicar como configurar un sistema RAID, sino que entender su funcionamiento, requisitos, ventajas y desventajas.
DESCUBRIENDO COMO FUNCIONA NUESTRO DISCO DURO
Para entender que es un disco duro y cual es su mecánica de funcionamiento, podemos hacer la siguiente comparación: imagina varios platos de metal sujetos por un eje central. Entre cada plato, leyendo cada cara existe un brazo con una bobina (elemento electromagnético) que en su extremo que emite pulsos magnéticos (el llamado cabezal del disco duro).
Estos platos pueden girar a diferentes velocidades que se miden en RPM, estas pueden ser 5400, 7200, 10000 y hasta 15000 revoluciones por minuto, girando siempre en el sentido contrario a las manecillas del reloj. Las cabezas de lectura o sea las bobinas en los extremos de los brazos, emiten pulsos eléctricos moviéndose desde el borde hacia el centro y viceversa.
Estos pulsos eléctricos pueden cargar positiva o negativamente los pequeños elementos que componen cada uno de los platos. Esto sirve para representar la información en código binario (ceros y unos), y «almacenarla» en el disco duro. Es decir nuestra querida información no es más que pequeños elementos cargados eléctricamente los cuales van formando la información.
En la figura se pueden apreciar los platos, el eje central, y las cabezas de escritura/lectura
Uno de los aspectos que más limitan el rendimiento de nuestros discos duros son sus componentes mecánicos, los cuales tienen un límite físico que no es fácil de superar. Por ejemplo las RPM de los platos estarían llegando a su límite entre 10000 y 15000 RPM, aunque los dispositivos con tales características obviamente son muchos más caros. Por otra parte tenemos el movimiento mecánico del brazo o cabezal, el cual se mueve desde afuera hacia adentro también con una velocidad que no es fácil de seguir aumentando.
Cada uno de los platos que forman el disco duro están divididos de la forma que se muestra en la figura. El número de pistas es fijo pero el número o tamaño de sectores puede ser establecido por el usuario.
En esta imagen se puede apreciar un esquema de disco con dos platos y dos cabezales. También se puede apreciar un cluster, que vendría siendo la una unidad de asignación que se crea cuando le damos formato al disco (Cluster = Conjunto de sectores).
Cuando deseamos leer datos en el disco duro, el sistema operativo debe recuperar la ubicación del archivo (donde este comienza) y el disco debe «moverse» de acuerdo a la ubicación física donde esta el archivo, es decir al cilindro correspondiente, luego a la pista y por ultimo el cluster o sectores señalados. Para el proceso de escritura seria lo mismo, solo que en vez de detectar la polaridad de los sectores, al escribir se deben cargan negativa o positivamente. Todo lo descrito anteriormente es hecho a una velocidad realmente alta, durando tales operaciones tan solo algunos milisegundos. (Dependiendo del volumen de datos obviamente)
Características de los discos duros
La capacidad o tamaño (GB): La capacidad de un disco hace referencia a la cantidad de información que puede grabarse o almacenar. Esta se mide en Bytes, generalmente en GigaBytes. Los tamaños más comunes hoy en día van desde los 80, 120, 160, 200, 250, 500 GigaBytes (y sigue en aumento).
Velocidad de Rotación (RPM): Es la velocidad a la que gira el disco duro, más exactamente, la velocidad a la que giran el/los platos del disco, que es donde se almacenan magnéticamente los datos. La regla es: a mayor velocidad de rotación, más alta será la transferencia de datos, pero también mayor será el ruido y mayor será el calor generado por el disco duro. Estas generalmente van desde las 5400 a las 10000 RPM, siendo la más común la de 7200rpm.
Tiempo de Acceso (Access Time, medido en milisegundos): Es el tiempo medio necesario que tarda la cabeza del disco en acceder a los datos que necesitamos. Realmente es la suma de varias velocidades: • El tiempo que tarda el disco en cambiar de una cabeza a otra cuando busca datos.
• El tiempo que tarda la cabeza lectora en buscar la pista con los datos saltando de una a otra.
• El tiempo que tarda la cabeza en buscar el sector correcto dentro de la pista.
Average Seek Time 8.5ms
Average Latency 4.17ms
Access time = 12,67 ms
Memoria CACHE (FRAME BUFFER):
Todos los discos duros incluyen una memoria buffer, en la que almacenan los últimos sectores leídos; ésta, que hoy en día va desde los 2MB hasta los 16 MB, es súper importante de cara al rendimiento, e incluso imprescindible para poder mantener altas cuotas de transferencia.
Se la denomina caché cuando incluyen ciertas características de velocidad; concretamente, los procesos se optimizan cuando el sistema vuelve de una operación de copiado de datos a la unidad sin esperar a que ésta haya finalizado. También utilizan otra técnica diferente consistente en que la unidad informa de la finalización de una operación de escritura en el momento de recibir los datos, antes de comenzar a grabarlos en el disco. De esta manera no se producen estados de espera; tras todo lo comentado hasta este momento, podemos decir, resumiendo, que un caché amplio en un disco duro es absolutamente imprescindible.
Tasa de transferencia (Transfer Rate):
Este número indica la cantidad de datos un disco puede leer o escribir en la parte más exterior del disco o plato en un periodo de un segundo. Normalmente se mide en Mbits/segundo.
Interfaz (Interface) – IDE – SCSI – SATA I/II:
Cuando hablamos de interfaz generalmente nos referimos al método de «conexión» del dispositivo. Las más comunes para los discos duros son la IDE E-IDE (con diferentes velocidades de transferencia, hasta 133MB/s), las SCSI (las más caras) y las más reciente interfaz SATA – SATA II, alcanzando esta ultima velocidad de transferencia de 300MB/s como máximo.
• DISCO DURO IDE/EIDE:
En este conjunto englobaríamos todos aquellos dispositivos que utilizan el Standard ATA para comunicarse con el sistema que lo gestiona. Es el más usado en PC's normales, debido a que tiene un equilibrio adecuado entre precio y prestaciones.
La especificación ATA, debido a que el cable paralelo alcanzó su límite físico, se mejoró aumentando sus prestaciones y velocidad de transferencia de datos, dando lugar al Serial ATA.
Interfaz IDE (arriba) y SATA/SATAII (abajo):
•DISCO DURO SCSI: Acrónimo de Small Computer Systems Interface. La tecnología SCSI (o tecnologías, puesto que existen multitud de variantes de la misma) ofrece una tasa de transferencia de datos muy alta entre el ordenador y el disco duro SCSI.
En el estándar SCSI se contemplan varios tipos de conectores los SCSI de 8 bits admiten hasta 7 dispositivos y suelen usar cables de 50 pines, mientras que los SCSI de 16 bits o Wide, pueden tener hasta 15 dispositivos y usan cables de 68 pines. La denominación «SCSI-3» se usa de forma ambigua, generalmente refiriéndose al tipo Ultra SCSI de 8 bits, aunque a veces también se utiliza para los Ultra SCSI de 16 bits (o «UltraWide SCSI») y Ultra-2.
Los dispositivos SCSI son más caros que los equivalentes con interfaz ATA y además necesitaremos una tarjeta controladora SCSI para manejarlos, ya que sólo las placas base más avanzadas y de marca incluyen una controladora SCSI integrada.
Algunos tipos de conectores SCSI (un poco antiguos)
Tipos de SCSI
(Haz Click en la foto para agrandarla)
Tecnología RAID – Historia y Niveles
La tecnología RAID (Rebundant Array of Inexpensive/Independent Disk), en español, arreglo redundante de discos independientes o económicos, busca subsanar algunos de los problemas comunes presente en los sistemas de almacenamiento tradicionales, y lograr importantes mejoras a un bajo costo. Las principales finalidades de un sistema RAID SON:
• Mejorar la tolerancia a fallos y errores
• Aumentar la integridad de los datos
• Mejorar el rendimiento
• Ofrecer una alternativa económica frente a los sistemas SCSI
En palabras sencillas, un arreglo se puede tomar como un conjunto de elementos, en este caso un conjunto de discos organizados en forma ordenada.
Esquema de un RAID0
En la actualidad existen una gran cantidad de niveles RAID, cada uno con sus características, ventajas y desventajas que veremos más adelante. Es importante aclarar que el RAID es un técnica de software que busca los objetivos antes descritos, esta puede viene implementada en controladoras RAID presentes hoy en día en la mayoría de las placas madres. Además el RAID no es exclusivo para las unidades SATA, comenzó con los discos tradicionales IDE e incluso con las controladoras actuales se pueden mezclar en RAID discos IDE y SATA al mismo tiempo.
Algunos de los niveles o tipos de RAID más conocidos son:
• RAID0
• RAID1
• RAID2
• RAID3
• RAID4
• RAID5
• RAID6
• RAID7
• RAID53
• RAID0+1
De estos, los más utilizados por los usuarios domésticos o normales son los niveles 0,1,5,0+1 o por lo menos los más conocidos, los demás están enfocados específicamente a empresas y tareas especificas como servidores o estaciones de trabajo o simplemente están fuera del alcance de la mayoría por el alto costo que tiene su implementación.
Para mayor claridad explicare a fondo los RAID´s más utilizados y conocidos (0, 1,0+1) y de los demás daré una pequeña reseña de cómo funcionan.
Otro concepto no estrictamente dentro de la tecnología RAID es el JBOD, tecnología que nos permitirá mezclar varios discos de distintos tamaños y características sin implementar ningún nivel de RAID. Este tiene como principal objetivo «unir» discos pequeños que en la práctica no serian utilizables. Esta característica también esta disponible en la mayoría de las controladoras RAID de hoy en día. Por eso queda claro su nombre JBOD («Just a Bunch of Disks») algo así como «simplemente un montón de discos».
NIVELES DE RAID
RAID0 o Disk Striping (particionamiento de disco)
En un RAID0 se puede obtener un alto rendimiento gracias a la utilización de varios discos en paralelo (mino dos unidades), la gracias de este tipo de RAID es que se utilizan los distintos discos simultáneamente ya sea para leer o escribir, de lo cual se puede señalar que teóricamente el rendimiento debería ser el doble, triple, etc, etc, según la cantidad de disco que utilicemos.
Por ejemplo, supongamos que deseamos escribir un archivo de 50 megas en el disco duro. En un sistema normal esos 50 MB son copiados secuencialmente al disco duro y demoran un tiempo X dependiendo del disco y del sistema en si. En un RAID0 compuesto de dos discos, se copian simultáneamente «fragmentos» del archivo en los dos discos, 25MB en cada uno, por lo tanto esto demoraría un tiempo X/2 en las mejores situaciones.
La capacidad de un RAID0 seria = tamaño_disco_más_pequeño X n, n= número de discos que conforman el RAID0.
Uno de los temas más polémicos es que si los discos DEBEN ser de iguales características o no. La respuesta rotunda es no, si los discos son de diferentes tamaños se aplicara la formula de arriba para sacar el tamaño del RAID y si tienen características distintas cada uno funcionara independientemente, por ejemplo (siguiendo el anterior), si uno es más rápido y termina antes de escribir sus 25Mb deberá «esperar» que el otro termine. Como pueden ver lo ideal es que sean iguales aunque en los discos modernos no creo que haya tantos problemas y además el rendimiento final depende mucho de la controladora.
Ventajas
• Fácil de implementar
• Poca perdida de espacio (depende de la configuración)
• Alto rendimiento
Desventajas
• No es un RAID 100%, ya que no provee sistema de recuperación de errores o tolerancia de fallos, un error en un disco y muere el arreglo completo
RAID1 o disk Mirroring (disco espejo)
El RAID1 es bastante similar al 0 en su funcionamiento, salvo que en vez de copiar/leer los archivos desde los distintos discos (trozos de archivo) , este copia o lee el archivo ENTERO en los distintos discos. Es decir si deseamos grabar el mismo archivo de 50Mb del ejemplo anterior, este se copia en todos los discos que conforman el RAID1 simultáneamente, por lo cual el rendimiento es bastante similar al de 1 solo disco.
La capacidad del arreglo resultante será igual a la del disco más pequeño dentro del RAID1. Este sistema funciona con dos discos, actuando uno de ellos como espejo.
Este tipo de RAID es recomendado para entornos donde la infamación es muy delicada.
Ventajas
• 100% tolerante a fallos, si falla un disco queda disponible el otro sin pausas en el sistema
• Alta disponibilidad del sistema, igual que el anterior si falla un disco quedara disponible el otro.
Desventajas
• Sistema caro
• Capacidad de almacenamiento reducida, «se pierde» un disco completo.
• Puede ser un poco lento en ciertos entonos de trabajo
RAID 0+1
Combinación de los arrays anteriores que proporciona velocidad y tolerancia a fallos simultáneamente. El nivel de RAID 0+1 fracciona los datos para mejorar el rendimiento, pero también utiliza un conjunto de discos duplicados para conseguir redundancia de datos. Al ser una variedad de RAID híbrida, RAID 0+1 combina las ventajas de rendimiento de RAID 0 con la redundancia que aporta RAID 1. Sin embargo, la principal desventaja es que requiere un mínimo de cuatro unidades y sólo dos de ellas se utilizan para el almacenamiento de datos. Las unidades se deben añadir en pares cuando se aumenta la capacidad, lo que multiplica por dos los costes de almacenamiento.
El RAID 0+1 tiene un rendimiento similar al RAID 0 y puede tolerar el fallo de varias unidades de disco. Una configuración RAID 0+1 utiliza un número par de discos (4, 6, 8) creando dos bloques. Cada bloque es una copia exacta del otro, de ahí RAID 1, y dentro
de cada bloque la escritura de datos se realiza en modo de bloques alternos, el sistema RAID 0. RAID 0+1 es una excelente solución para cualquier uso que requiera gran rendimiento y tolerancia a fallos, pero no una gran capacidad. Se utiliza normalmente en entornos como servidores de aplicaciones, que permiten a los usuarios acceder a una aplicación en el servidor y almacenar datos en sus discos duros locales, o como los servidores web, que permiten a los usuarios entrar en el sistema para localizar y consultar información. Este nivel de RAID es el más rápido, el más seguro, pero por contra el más costoso de implementar.
Esquema RAID0+1
Nota: los sistemas RAID2 al 7 son muy poco utilizados y enfocados a estaciones de trabajo y no disponibles en la mayoría de las controladoras actuales para equipos de escritorio, a continuación de definen brevemente para que los conozcamos.
RAID2
El esquema de redundancia en el RAID de nivel 2 es un código de Hamming, donde la unidad de separación es un bit simple. Dividir al nivel de bit tiene la implicación de que en un conjunto de discos con N discos de datos, la unidad más pequeña de datos de transferencia para una lectura es un conjunto de N bloques.
El RAID de nivel 2 es implementado en contadas ocasiones.
RAID3
Sistemas de disco en paralelo con disco de paridad para corrección de errores. Conocido también como Striping con paridad delicada.
Utiliza también un disco de protección de información separado para almacenar información de control codificada con lo que se logra una forma mas eficaz de proporcionar redundancia de datos. Este control de información codificada o paridad proviene de los datos almacenados en los discos y permite la reconstrucción de información en caso de fallas. Se requieren como mínimo 3 discos y se utiliza la capacidad de un disco para la información de control.
Los datos se dividen fragmentos que se transfieren a los discos que funcionan en paralelo, lo que permiten enviar mas datos de una sola vez, y aumentar en forma sustancial la velocidad general de transferencia de datos. Esta ultima característica convierte a este nivel en idóneo para que estas aplicaciones que requieran la transferencia de grandes ficheros contiguos hacia y desde el ordenador central.
RAID4
Sistemas de discos independientes con disco de control de errores.
En el nivel 4 de RAID los bloques de datos pueden ser distribuidos a través de un grupo de discos para reducir el tiempo de transferencia y explotar toda la capacidad de transferencia de datos de la matriz de disco. El nivel 4 de RAID es preferible al nivel 2 de RAID para pequeños bloques de datos , por que en este nivel , los datos son distribuidos por sectores y no por bits. Otra ventaja del nivel 4 de RAID frente a los niveles 2 y 3 es que al mismo tiempo puede estar activa mas de una operación de lectura escritura sobre el conjunto de discos .
Cada disco graba un bloque de datos distinto, y un disco adicional graba un código de corrección de errores. Si falla un disco, su información se puede recomponer; solo perdemos la capacidad de un disco, pero éste está muy saturado.
El nivel 4 de RAID tiene división a nivel de bloques y el acceso al arreglo de discos es paralelo, pero no simultaneo. Posee un bit delicado a paridad y corrección de errores. La operación de escritura se realiza en forma secuencial y la lectura en paralelo,
RAID5
igual que el anterior, pero el disco que graba el código de corrección se va alternando. Rápido, seguro, y sólo pierde la capacidad de un disco…pero se necesitan al menos 3 discos.
RAID6
Este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y las caídas de disco. Hay pocos ejemplos comerciales en la actualidad.
RAID7
Este tipo incluye un sistema operativo incrustado de tiempo real como controlador, haciendo las operaciones de caché a través de un bus de alta velocidad y otras características de un ordenador sencillo. Tiene un tiempo de acceso cercano a cero.
Conclusiones y cometarios
Claro esta que estos sistemas no están exentos de problemas o inconvenientes, cada uno tiene sus ventajas y desventajas expuestas en esta guía. Uno de los problemas o inconvenientes más grande es la obligación de formatear cuando deseamos crear un nuevo RAID, por ejemplo agregar otro disco y dejarlos en RAID. Personalmente pensaba que se podía crear el RAID0 sin formatear, quedando afectos a este los datos o archivos que se crearan después de la configuración del RAID, pero por lo visto no es así.
Debemos tener en cuenta que la mayoría de las placas actuales traen más de una controladora SATA/IDE con distintas capacidades para RAID, cada una de las cuales nos ofrecerá un rendimiento diferente e incluso el utilizar algún puerto Sata en particular nos podría limitar cuando queramos hacer overclock a nuestro procesador.
Mucho se ha discutido y se discute en los foros sobre cual seria la configuración optima de un sistema RAID o configuración de discos simplemente. Algunos están a favor de los Raptors para el sistema operativo y otro disco más grande o RAID0 para programas y datos. En realidad configuraciones pueden haber miles pero todas van a dependen de la cantidad de dinero que poseas pero independiente de eso la idea es sacar el mayor provecho a tu inversión, frente a los cual no encuentro que valga la pena un sistema con discos Raptors por su excesivo precio y poca capacidad (aunque siempre es cosa de gusto y de cada uno).
Una configuración bastante buena puede ser la siguiente (cambiar los discos dependiendo de cada placa)
RAID0 = DISCO DURO HITACHI 82.3GB SATAII 2X$38.460 = 76920 Con esto tenemos 160 gigas para el sistema operativo y programas, bueno igual tenemos bastante espacio para casi cualquier cosa y a un precio súper económico.
SATAII/SATA/ = DISCO DURO MAXTOR 160 GB SATA $54.942 Este disco lo podemos dejar como respaldo de las cosas más importantes y en general tendrá un buen rendimiento aunque este trabajando solo, respaldando nuestras cosas evitamos perderlas si se llega a producir un error con el RAID0
En total tenemos una configuración súper buena por $131.862, las marcas y modelos es gusto de cada uno, es simplemente para dar un ejemplo.
Bueno eso seria todo, espero que les sirva la información. Seria interesante crear un post con los usuarios que tienen un sistema RAID montado para conocer sus experiencias. Por otro lado esta guía no abarco como configurar un sistema RAID con alguna placa en específico pero creo que no deberían tener mayores problemas, ya que la mayoría de las configuraciones se hacen desde la Bios y debería ser bastante sencillo bastando con seleccionar el tipo de RAID y algunos parámetros como tamaño de cluster y sectores.
Espero que les haya gustado Saludos, Janobox.
Colaborador MadboxPC