martes, 8 de septiembre de 2015

Raid


INTERFACES DE CONEXIÓN DE DISCOS RÍGIDOS.


SATA: (Serial ATA) es el que actualmente utilizan las computadoras de sobremesa y laptop de última generación, es una interfaz novedosa que utiliza un bus de tipo serie para la transferencia de datos por supuesto más veloz y eficiente que el sistema IDE. Para SATA existen tres versiones de velocidad el SATA 1 tiene una tasa de transferencia de hasta 150MB/s, SATA 2 con transferencia de hasta 300MB/s que es el más vendido en el mercado y por último el SATA 3 con una tasa de transferencia de hasta 600MB/s que apenas comienza a salir al mercado, la versión SATA de discos duros es mucho más compacta que los IDE y permite conexión en caliente.
Raid

IDE: (Integrated Drive Electronics) o ATA (Advanced Technology Attachment) fue hasta el año 2004 la interfaz estándar más versátil y por lo tanto la más utilizada por los equipos, son anchos, planos y muy resistentes.



SCSI: (Small Computer System Interface) una interfaz de gran velocidad de rotación y capacidad de almacenamiento, se conocen tres tipos de especificaciones: SCSI estándar, SCSI rápido y SCSI ancho-rápido. Este disco utiliza 7 milisegundos para acceso a datos y su velocidad secuencial de transmisión de datos puede llegar a ser de 5Mbit/s en los estándares, 10Mbit/s en los rápidos y 20Mbit/s en los ancho-rápidos. Un controlador SCSI puede llegar a manejar hasta siete discos duros de este tipo con conexión tipo margarita (daisy-chain). A diferencia de los discos IDE estos pueden trabajar asincrónicamente con respecto al microprocesador incrementando la velocidad de transferencia.

SAS: (SERIAL Attached SCSI) es el sucesor del SCSI paralelo, una interfaz en serie que todavía utiliza comandos SCSI para comunicarse con dispositivos SAS. Permite la conexión y desconexión en caliente e incrementa la velocidad de transferencia al aumentar la cantidad de dispositivos conectados, lo que posibilita la transferencia constante de datos para cada dispositivo, utiliza un conector SATA, por lo consiguiente una unidad SATA puede ser utilizada por controladores SAS pero no lo contrario.

Discos duros externos de conexión USB
Cabe destacar que los discos externos USB suelen ser de conexión de tipo SATA o IDE (Los mas antiguos). De hecho es muy fácil crear discos duros externos caseros, simplemente hay que adquirir un pequeño controlador o una caja donde meteremos nuestro disco duro. Lo explicamos mucho mejor en este articulo.

Raid

Tipos de Raid:

En el nivel más simple, un RAID combina varios discos duros en una sola unidad lógica. Así, en lugar de ver varios discos duros diferentes, el sistema operativo ve uno solo. Los RAIDs suelen usarse en servidores y normalmente (aunque no es necesario) se implementan con unidades de disco de la misma capacidad. Debido al descenso en el precio de los discos duros y la mayor disponibilidad de las opciones RAID incluidas en los chipsets de las placas base, los RAIDs se encuentran también como opción en las computadoras personales más avanzadas. Esto es especialmente frecuente en las computadoras dedicadas a tareas intensivas y que requiera asegurar la integridad de los datos en caso de fallo del sistema. Esta característica no está disponible en los sistemas RAID por hardware, que suelen presentar por tanto el problema de reconstruir el conjunto de discos cuando el sistema es reiniciado tras un fallo para asegurar la integridad de los datos. Por el contrario, los sistemas basados en software son mucho más flexibles (permitiendo, por ejemplo, construir RAID de particiones en lugar de discos completos y agrupar en un mismo RAID discos conectados en varias controladoras) y los basados en hardware añaden un punto de fallo más al sistema (la controladora RAID).

Raid 0:
Número de discos requeridos: Se precisa un mínimo de dos (2) discos.


Un RAID 0 (también llamado conjunto dividido, volumen dividido, volumen seccionado) distribuye los datos equitativamente entre dos o más discos (usualmente se ocupa el mismo espacio en dos o más discos) sin información de paridad que proporcione redundancia. Es importante señalar que el RAID 0 no era uno de los niveles RAID originales y que no es redundante. El RAID 0 se usa normalmente para proporcionar un alto rendimiento de lectura ya que los datos se recuperan de dos o más discos de forma paralela, aunque un mismo fichero solo está presente una vez en el conjunto. RAID 0 también puede utilizarse como forma de crear un pequeño número de grandes discos virtuales a partir de un gran número de pequeños discos físicos. Un RAID 0 puede ser creado con discos de diferentes tamaños, pero el espacio de almacenamiento añadido al conjunto estará limitado por el tamaño del disco más pequeño (por ejemplo, si un disco de 300 GB se divide con uno de 100 GB, el tamaño del conjunto resultante será sólo de 200 GB, ya que cada disco aporta 100GB). Una buena implementación de un RAID 0 dividirá las operaciones de lectura y escritura en bloques de igual tamaño, por lo que distribuirá la información equitativamente entre los dos discos. También es posible crear un RAID 0 con más de dos discos, si bien, la fiabilidad del conjunto será igual a la fiabilidad media de cada disco entre el número de discos del conjunto; es decir, la fiabilidad total —medida como MTTF o MTBF— es (aproximadamente) inversamente proporcional al número de discos del conjunto (pues para que el conjunto falle es suficiente con que lo haga cualquiera de sus discos). No debe confundirse RAID 0 con un Volumen Distribuido (Spanned Volume) en el cual se agregan múltiples espacios no usados de varios discos para formar un único disco virtual. Puede que en un Volumen Distribuido el fichero a recuperar esté presente en un solo disco del conjunto debido a que aquí no hay una distribución equitativa de los datos (como dijimos para RAID 0), por lo tanto en ese caso no sería posible la recuperación paralela de datos y no tendríamos mejora del rendimiento de lectura.


Raid 1:

Número de discos requeridos: Se precisa un mínimo de dos (2) discos.
Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datos en dos o más discos. Esto resulta útil cuando queremos tener más seguridad desaprovechando capacidad, ya que si perdemos un disco, tenemos el otro con la misma información. Un conjunto RAID 1 sólo puede ser tan grande como el más pequeño de sus discos. Un RAID 1 clásico consiste en dos discos en espejo, lo que incrementa exponencialmente la fiabilidad respecto a un solo disco; es decir, la probabilidad de fallo del conjunto es igual al producto de las probabilidades de fallo de cada uno de los discos (pues para que el conjunto falle es necesario que lo hagan todos sus discos).
Adicionalmente, dado que todos los datos están en dos o más discos, con hardware habitualmente independiente, el rendimiento de lectura se incrementa aproximadamente como múltiplo lineal del número de copias; es decir, un RAID 1 puede estar leyendo simultáneamente dos datos diferentes en dos discos diferentes, por lo que su rendimiento se duplica. Para maximizar los beneficios sobre el rendimiento del RAID 1 se recomienda el uso de controladoras de disco independientes, una para cada disco (práctica que algunos denominan splitting o duplexing).
Como en el RAID 0, el tiempo medio de lectura se reduce, ya que los sectores a buscar pueden dividirse entre los discos, bajando el tiempo de búsqueda y subiendo la tasa de transferencia, con el único límite de la velocidad soportada por la controladora RAID. Sin embargo, muchas tarjetas RAID 1 IDE antiguas leen sólo de un disco de la pareja, por lo que su rendimiento es igual al de un único disco. Algunas implementaciones RAID 1 antiguas también leen de ambos discos simultáneamente y comparan los datos para detectar errores.
Al escribir, el conjunto se comporta como un único disco, dado que los datos deben ser escritos en todos los discos del RAID 1. Por tanto, el rendimiento de escritura no mejora.

El RAID 1 tiene muchas ventajas de administración. Por ejemplo, en algunos entornos 24/7, es posible «dividir el espejo»: marcar un disco como inactivo, hacer una copia de seguridad de dicho disco y luego «reconstruir» el espejo. Esto requiere que la aplicación de gestión del conjunto soporte la recuperación de los datos del disco en el momento de la división. Este procedimiento es menos crítico que la presencia de una característica desnapshot en algunos sistemas de archivos, en la que se reserva algún espacio para los cambios, presentando una vista estática en un punto temporal dado del sistema de archivos. Alternativamente, un conjunto de discos puede ser almacenado de forma parecida a como se hace con las tradicionales cintas.


Raid 2:
Número de discos requeridos: Se precisa un mínimo de tres (3) discos.


Un RAID 2 usa división a nivel de bits con un disco de paridad dedicado y usa un código de Hamming para la corrección de errores. El RAID 2 se usa rara vez en la práctica. Uno de sus efectos secundarios es que normalmente no puede atender varias peticiones simultáneas, debido a que por definición cualquier simple bloque de datos se dividirá por todos los miembros del conjunto, residiendo la misma dirección dentro de cada uno de ellos. Así, cualquier operación de lectura o escritura exige activar todos los discos del conjunto, suele ser un poco lento porque se producen cuellos de botella. Son discos paralelos pero no son independientes (no se puede leer y escribir al mismo tiempo)


Raid 3:
 Número de discos requeridos: Se precisa un mínimo de tres (3) discos.


Un RAID 3 divide los datos a nivel de bytes en lugar de a nivel de bloques . Los discos son sincronizados por la controladora para funcionar al unísono. Éste es el único nivel RAID original que actualmente no se usa. Permite tasas de transferencias extremadamente altas.






Raid 4:
Número de discos requeridos: Se precisa un mínimo de tres (3) discos.

Un RAID 4, también conocido como IDA (acceso independiente con discos dedicados a la paridad) usa división a nivel de bloques con un disco de paridad dedicado. Necesita un mínimo de 3 discos físicos. El RAID 4 es parecido al RAID 3 excepto porque divide a nivel de bloques en lugar de a nivel de bytes. Esto permite que cada miembro del conjunto funcione independientemente cuando se solicita un único bloque. Si la controladora de disco lo permite, un conjunto RAID 4 puede servir varias peticiones de lectura simultáneamente. En principio también sería posible servir varias peticiones de escritura simultáneamente, pero al estar toda la información de paridad en un solo disco, éste se convertiría en el cuello de botella del conjunto.

Raid 5:

Número de discos requeridos: Se precisa un mínimo de tres (3) discos. RAID 5 precisa al menos tres discos aunque las implementaciones más habituales están formadas por “array’s” con cinco unidades.

Un RAID 5 (también llamado distribuido con paridad) es una división de datos a nivel de bloques que distribuye la información de paridad entre todos los discos miembros del conjunto. El RAID 5 ha logrado popularidad gracias a su bajo coste de redundancia. Generalmente, el RAID 5 se implementa con soporte hardware para el cálculo de la paridad. RAID 5 necesitará un mínimo de 3 discos para ser implementado.

Cada vez que un bloque de datos se escribe en un RAID 5, se genera un bloque de paridad dentro de la misma división (stripe). Un bloque se compone a menudo de muchos sectores consecutivos de disco. Una serie de bloques (un bloque de cada uno de los discos del conjunto) recibe el nombre colectivo de división (stripe). Si otro bloque, o alguna porción de un bloque, es escrita en esa misma división, el bloque de paridad (o una parte del mismo) es recalculada y vuelta a escribir. El disco utilizado por el bloque de paridad está escalonado de una división a la siguiente, de ahí el término «bloques de paridad distribuidos». Las escrituras en un RAID 5 son costosas en términos de operaciones de disco y tráfico entre los discos y la controladora.



Raid 6:
Número de discos requeridos: Se precisa un mínimo de cuatro (4) discos.
Un RAID 6 amplía el nivel RAID 5 añadiendo otro bloque de paridad, por lo que divide los datos a nivel de bloques y distribuye los dos bloques de paridad entre todos los miembros del conjunto. El RAID 6 no era uno de los niveles RAID originales.
El RAID 6 puede ser considerado un caso especial de código Reed-Solomon. El RAID 6, siendo un caso degenerado, exige sólo sumas en el Campo de galois. Dado que se está operando sobre bits, lo que se usa es un campo binario de Galois. En las representaciones cíclicas de los campos binarios de Galois, la suma se calcula con un simple XOR.
Tras comprender el RAID 6 como caso especial de un código Reed-Solomon, se puede ver que es posible ampliar este enfoque para generar redundancia simplemente produciendo otro código, típicamente un polinomio en (m = 8 significa que estamos operando sobre bytes). Al añadir códigos adicionales es posible alcanzar cualquier número de discos redundantes, y recuperarse de un fallo de ese mismo número de discos en cualquier punto del conjunto, pero en el nivel RAID 6 se usan dos únicos códigos.
Al igual que en el RAID 5, en el RAID 6 la paridad se distribuye en divisiones (stripes), con los bloques de paridad en un lugar diferente en cada división.
El RAID 6 es ineficiente cuando se usa un pequeño número de discos, pero a medida que el conjunto crece y se dispone de más discos la pérdida en capacidad de almacenamiento se hace menos importante, creciendo al mismo tiempo la probabilidad de que dos discos fallen simultáneamente. El RAID 6 proporciona protección contra fallos dobles de discos y contra fallos cuando se está reconstruyendo un disco. En caso de que sólo tengamos un conjunto puede ser más adecuado que usar un RAID 5 con un disco de reserva (hot spare).
La capacidad de datos de un conjunto RAID 6 es n-2, siendo n el número total de discos del conjunto.

Un RAID 6 no penaliza el rendimiento de las operaciones de lectura, pero sí el de las de escritura debido al proceso que exigen los cálculos adicionales de paridad. Esta penalización puede minimizarse agrupando las escrituras en el menor número posible de divisiones (stripes), lo que puede lograrse mediante el uso de un sistema de archivos WAFL.



Ventajas y Desventajas

Metodo de hamming

El método Hamming es un tipo de codificación por bloques.
En el proceso de comunicación y envió de mensajes con el uso de las actuales tecnologías, existen diferentes errores al intercambiar información. En otros tiempos, las cartas podían llegar con errores ortográficos, mojadas, retrasadas o simplemente en ocasiones no llegaban a su destino. En la comunicación mediante computadoras sucede algo parecido, es decir, la tecnología no se exonera de los errores que puedan aparecer al enviar información.
Un código Hamming es un código de bloque capaz de identificar y corregir cualquier error de bit simple que ocurra dentro de él. Se identifica, como en el teorema de Hamming, por los números K y Kc, según código de Hamming se denomina por  . Este código, como el de bloques, emplea aritmética módulo 2. El código Hamming debe su nombre a su desarrollador y descubridor Richard Hamming.
Primero se debe conocer que es un error, que no es más que un dato que tiene m bits y se le agregan r bits de redundancia o de chequeo, por tanto, los bits a transmitir serán n = m + r. Existen métodos que detectan errores y otros que corrigen errores o ambos a la vez. Uno de esos métodos es el método de Hamming, el cual corrige y detecta errores de grado x. Para la detección de errores, considere un sistema de transmisión que al codificar, genera un alfabeto con un número N de secuencias  , n = 1 • • • N, y una de esas secuencias se transmite sobre el canal. Debido a los errores, se recibe  . El decodificador entonces determina que la secuencia enviada es aquella del alfabeto generado, cuya distancia Hamming entre  y   sea mínima.
La distancia de Hamming es el número de bits en que difieren dos palabras del código. Si dos palabras están separadas una distancia d, se requerirán de errores simples para convertir una en la otra. La mínima es la distancia del código. En general hay 2m mensajes válidos pero no todos los 2n lo son. La idea de similaridad es más consistente debido a la definición de la distancia Hamming.
Sean   y   dos secuencias binarias de la misma longitud i, j = 1,..., K, la distancia Hamming entre ellas es el número de símbolos en que difiere. Siendo W   el peso de Hamming de una secuencia y   el número de unos de la secuencia, la distancia Hamming dij = d  está dada por:
dij = W   ⊕  
donde ⊕ será la suma modular entre 2 secuencias de longitud iguales, no pueden ser de longitudes distintas.
HOT-SWAP

El término hot swap hace referencia a la capacidad de algunos componentes hardware para sufrir su instalación o sustitución sin necesidad de detener o alterar la operación normal de la computadora donde se alojan.
Esta denominación se otorga generalmente a componentes esenciales para el funcionamiento de la computadora. El mismo concepto tiene otras denominaciones cuando se aplica a componentes no esenciales. Hot swap puede traducirse como sustitución en caliente. Aparte del ámbito informático, en el mundo industrial se usa este término para describir la inmunidad eléctrica y de operación de los dispositivos, por ejemplo electrónica de adquisición de datos o de control que permite su sustitución en tiempo mínimo al no necesitar apagar previamente todo el sistema.
Los dispositivos más comunes de tipo hot swap son:
Fuentes de alimentación. Es habitual que una computadora cuente con dos o más fuentes de alimentación. Cuando una de ellas se estropea, es posible sustituirla sin detener el servicio.
Discos duros. En ámbitos corporativos debido a la cantidad de discos duros presentes, los mismos suelen sufrir averías con cierta frecuencia. Normalmente, estos discos se sitúan en una configuración redundante (RAID). De esta manera, es posible extraer el disco averiado y sustituirlo por otro nuevo sin sufrir pérdida de datos y no es necesario dejar fuera de línea el servidor.
Ventilador: Es habitual que una computadora o servidor cuente con más de un ventilador para evacuar el calor residual producido por sus componentes. Al ser ésta una tarea imprescindible para el correcto funcionamiento del equipo, los ventiladores suelen ser componentes hot swap. Al desconectar unos de los ventiladores, el resto trabaja con más intensidad hasta que se completa la reparación o sustitución del ventilador afectado.


Las características principales a considerar de un disco duro magnético son:
Capacidad. Generalmente los discos duros de gran tamaño suelen ser mas lentos.
Tiempo medio de acceso. Que es la suma del tiempo medio de búsqueda más el tiempo de lectura/escritura y la latencia media.
Velocidad de rotación. Cuanto mas mejor, generalmente suele ser entre 7200 a 10000 revoluciones por minuto.
Tasa de transferencia. Cuanto mas mejor.
Caché de pista.
Interfaz.
Landz. Zona donde los cabezales descansan con la computadora apagada.


RAIDs MAS EFICIENTE PARA LA CREACION DE UN "FILE SERVER"

El empleo de un RAID en un file server y su performance, radica en los requisitos que este "file server" tendra, por lo cual el RAID mas adecuado para su creacion variara.

Sin embargo he encontrado en varios sitios que cuando se habla de eficiencia respecto de un "file server" la eleccion de los RAIDs radica en algunos RAID en especifico:

RAID 3.
RAID 5
RAID 6
RAID 10

0 comentarios:

Publicar un comentario