Vivencias con RAID 0

Todo lo referente a la informatica, hardware, software... no necesariamente relacionado con Windows
Avatar de Usuario
pako
Usuario Bill Gates
Usuario Bill Gates
Mensajes: 3591
Registrado: 22 Ene 2008, 13:30
Ubicación: España
Agradecido : 50 veces
Agradecimiento recibido: 277 veces
Contactar:

Vivencias con RAID 0

Mensajepor pako » 10 May 2011, 21:24

Hola,

Esto no es un tutorial, es en lo que me baso a la hora de elegir el raid 0 para lograr un mayor rendimiento, no tiene porque ser la manera correcta y lo expongo a modo debate por si alguno quiere aportar sus experiencias, pondre capturas pero no dare muchas explicaciones al respecto ya que en google o la wikipedia hay informacion detallada y tecnica sobre el Raid 0, tambien comentare pros y contras bajo mi punto de vista.

Equipo de pruebas

Placa madre: Gigabyte EP35C-DS3R
Micro: Intel Core 2 Duo E6550
Ram: 2GB DDR2 Kingston
Grafica: Ati Radeon HD2600 PRO
Discos duros:
Seagate 2x ST3200822AS (Raid 0 con 400Gb)
Seagate 1x ST3750640NS (750Gb)
Seagate 1x ST3750640NS (750Gb)

Software:
Windows 7 Ultimate x64 SP1
HD Tune Pro 4.60
HD Tach 3.0.4.0
ATTO Disk Benchmark

El equipo ya cuenta con un sistema raid 0 desde hace muchos años de dos discos de 200GB y se va a crear el nuevo raid 0 con los dos discos duros de 750GB que se usaban para almacenaje de datos.

RAID 0

Que el raid 0 da mayor rendimiento esta claro, no es justo el doble de transferencia sumando las velocidades de los dos discos duros pero se acerca, lo explicare con un ejemplo y una imagen para que quede mas claro, para el ejemplo usare estos valores:

1 mega se copia al disco duro en 1 segundo, con lo cual medio mega (0.5) se copiara en 0.5 segundos.

En un disco duro normal el mega lo copia en un segundo, en este caso de un raid 0 de dos discos duros lo hace de la siguiente manera:

Divide el mega en dos partes iguales de tamaño, copia la primera parte del archivo en el primer disco duro y la segunda parte del archivo en el segundo disco duro, con lo cual cada parte que copia al disco duro lo hace en 0.5 segundos, pero no se suman los tiempos, ya que el acceso a los dos discos duros lo hace a la vez. Asi que sin raid, 1 mega tarda un segundo y con raid 0, 1 mega lo copia en 0.5 segundos al acceder a los dos discos duros a la vez. Espero que esta animacion lo aclare del todo:

Imagen

Para la creacion del raid dependera el hardware que usemos, tanto la controladora o controladoras de la placa madre y los discos duros, asi que no hay ningun estandar para elegir un valor u otro para el tamaño del stripe, en este caso la controladora deja poner un stripe de 4kb, 8kb, 16kb, 32kb, 64kb y 128kb, lo que hay que tener en cuenta es que a un valor mas alto de stripe se consigue mayor rendimiento, basicamente es que si se elige un stripe pequeño se aumentan el numero de escrituras en el disco duro con lo cual se obtendria un peor rendimiento.

Antes como lo hacia era con el HD Tach, pero ya esta obsoleto y no se pueden obtener medidas correctas para archivos de gran tamaño, ponia el valor del stripe en el de menor tamaño (4kb) y lo pasaba:

Imagen

Y asi para todos los valores de stripe para comprobar en cual de ellos da mejor rendimiento, en un caso resulto que trabajaba mejor con un stripe de 64kb que con el de 128kb, en todas las pruebas de stripe la grafica de la imagen anterior era igual, salvo en el caso de 128kb que era la unica que dio una grafica diferente con peores velocidades, por eso decia al principio que no hay un valor predefinido, depende mucho del hardware asi que lo mejor es probarlo en cada equipo.

Hoy en dia estas pruebas las hago con ATTO o una vez instalado Windows moviendo ficheros y con cronometro en mano, suena a coñazo y lo es, pero si quieres sacar el mayor rendimiento no queda otra.

Bueno, pues tras las pruebas el mejor resultado me lo dio con el stripe de 128kb que es el que obtiene un mayor rendimiento.

Aqui algunas capturas de la velocidad del disco duro por separado(sin raid) y comparandolo una vez montado el raid 0:

Los programas estan con sus valores por defecto y en el caso del HD Tach el testeo de 32MB.

Imagen
HD Tach sin raid 66.3 MB/s, con raid 0 131.1 MB/s.
Imagen

Imagen
HD Tune sin raid 63.5 MB/s, con raid 0 123.9 MB/s.

Ahora ya tenemos en nuestro Windows en vez dos unidades 750GB una unica unidad de 1.500GB y es hora de formatear la unidad y ver que cluster elegir, Windows nos da la posibilidad de hacerlo en 512 bytes, 1024 bytes, 2048 bytes, 4096 bytes, 8192 bytes, 16 kilobytes, 32 kilobytes y 64 kilobytes, este es un dilema de mucha gente y terminan dejandolo por defecto (4k) para que Windows lo asigne y no siempre es la mejor opcion.

Como sabreis un mayor tamaño de cluster ofrece mayor rendimiento, no voy a explicarlo porque como dije ya esta hecho en la wikipedia o google, pondre un ejemplo para que se entienda y alguna captura.

Un cluster grande como pueda ser el de 64kb ofrece mayor redimiento pero sin embargo se pierde mucho espacio con el en segun que casos.

Desventaja
Si tenemos un archivo txt que ocupa solo 1kb y lo metemos en un cluster de 64kb, estamos desperdiciando los 63kb restantes.
En el caso del cluster de 4kb que es a lo que formatea Windows por defecto, estamos solo perdiendo 3kb, ya que el fichero txt solo ocupa 1kb.
En una particion con muchos archivos pequeños no es conveniente un cluster grande.

Ventaja
Imaginemos ahora un archivo txt de 64kb, ocuparia justo el tamaño del cluster, con lo cual no hay perdida de kb y para leer ese fichero el disco duro solo tendria que mover su aguja lectora a ese cluster concreto.
Mismo archivo de 64kb en un cluster de 4kb, necesitariamos 16 cluster en total de 4kb para que el fichero de 64kb entre, seria 4k+4k+4k+4k+4k+4k+4k+4k+4k+4k+4k+4k+4k+4k+4k+4k= 64kb.

La diferencia de rendimiento esta clara, con cluster de 64kb la aguja solo se mueve una vez para leer el fichero, con cluster de 4kb la aguja ha tenido que moverse 16 veces para leer el mismo fichero, en el caso que esto lo haga 20.000 veces en un dia por ejemplo:

Cluster 4kb: 16 saltos para leer 64kb x 20.000 = 320.000 saltos
Cluster 64kb: 1 salto para leer 64kb x 20.000 = 20.000 saltos

Siempre tardara menos en moverse la aguja 20.000 veces que no 320.000, sabiendo esto que cluster elegir para Windows ? para almacenaje de peliculas, musica, ficheros grandes en general esta claro que cuanto mas grande sea el cluster mejor para el rendimiento, asi que para una particion de datos con este tipo de requisitos mejor un cluster grande.

En la particion de Windows tenemos archivos de todo tipo de tamaños, asi que no es la mejor opcion un cluster grande si no queremos desperdiciar mucho espacio, aqui una prueba de instalacion de Windows 7 en un cluster de 32k y lo mismo en cluster de 64k:

Imagen

Para el que se haya dado cuenta una instalacion tiene un archivo mas porque meti yo un fichero y se me olvido borrarlo :jaja:

En ambos casos el tamaño total es de 11.3GB, pero el tamaño que ocupa en disco es distinto:

Windows 7 con cluster de 32kb: 12.7GB
Windows 7 con cluster de 64kb: 14.3GB

Estamos perdiendo 1.6GB por usar cluster de 64kb para obtener mayor rendimiento con respecto al cluster de 32kb. Si hubieramos usado el cluster por defecto de Windows (4kb) hubieramos desperdiciado menos espacio, eso en cuanto a Windows unicamente, que una vez se instalen los programas, juegos, etc... aun aumentara mas esa diferencia.

Asi que cada uno es el que tiene que ver para que va usar su equipo y si quiere un mayor rendimiento o no. En mi caso deje el cluster a 64kb ya que con las capacidades de los discos duros actuales no me supone nada perder unos gigas y todo lo realizado fue para obtener mayor rendimiento.

Tras finalizar todo tengo que decir que se nota mas rapida la carga de Windows, mover ficheros y cualquier cosa que tenga que ver con el disco duro que es el principal cuello de botella de los ordenadores, ahora veo algunas veces la ventana de Windows cuando copia ficheros que dice el tiempo que queda y la velocidad, llegar de manera estable a 105MB/s en ciertas circustancias (tamaño de ficheros, tipo de particion, etc...).

Asi que soy de la opinion que es mejor comprar dos discos duros por ejemplo de 1.000GB que uno de 2.000GB, en Windows veriamos en ambos casos una unica unidad de 2.000GB, en cuestion de precios no se nota apenas diferencia, aqui pongo precios de hoy de discos duros Seagate normales:

Seagate 1.000GB Sata 51,90 €
Seagate 2.000GB Sata 99,90 €

Se que hay muchos detractores del raid 0 siempre alegando lo mismo, que si se estropea uno de los dos discos duros se pierde la informacion del otro ya que solo esta la mitad y no vale para nada, tienen razon, pero que pasa cuando se estropea el disco duro de 2.000GB en vez de uno de 1.000GB del raid 0 ? pues si, pierdes todos los datos al igual que pasa con el raid 0, la unica diferencia es que con el raid 0 al menos te queda uno de los dos discos operativo para seguir usandolo :wink:

Y otra cosilla mas, cuando se estropea el disco de 2.000 GB sin raid si no es muy grave la averia con tesdik se puede reparar, con el raid 0 pasa lo mismo, tambien se puede reparar con tesdisk aunque sea un poco mas engorroso, hay tutoriales por google de como usar el tesdisk para raid 0 para intentar no perder la informacion en caso de problemas, si no hay raid lo mejor es darse una vuelta por aqui y leer lo que escribio nuestro amigo helheim :afirmar:

http://www.foroswindows.com/manuales-tutoriales/tutorial-sobre-testdisk-t7619.html

Y como va de vivencias, una corta del viejo RAID 0, tras muchos años con el RAID 0 de los dos discos duros de 200GB (Raid 0 - 400GB) sin el mas pequeño problema, al montar el nuevo RAID 0 (750GB) me encuentro q mi RAID 0 de 200GB segun arranca la bios me dice "Error Occurred(0)", me parecio mucha casualidad que se estropeara en el momento de hacer pruebas con el segundo RAID 0 pero no sabia porque se produjo el error, el caso es que aparece ese texto en rojo pero va igual de rapido que siempre y sin problemas.

Total que creo de nuevo el RAID 0 de los discos de 200GB y todo perefecto como siempre, ya no hago mas pruebas y al cabo de los dias otra vez con lo mismo Error Occurred(0), pero esta vez si me di cuenta que lo produjo, fue al entrar el Windows 7 en modo suspension por estar un rato sin utilizarse que viene asi por defecto en la configuracion de Windows, al intentar volver de la suspension no me permitia entrar, no se si por problemas con drivers de grafica o por que, solo veia la imagen pero no iba ni raton ni teclado, tras probar varias veces con Ctrl+Alt+Supr pantallazo azul, reseteo y tras cargar la bios, carga la controladora raid, empieza a reconocer uno a uno los 4 discos duros y al terminar vi el error.

Y para rematar pros y contras de un disco duro normal (2.000GB) frente al raid 0 (2x1.000GB) segun mi opinion:

Pros
Esta claro que rendimiento, ya sea para la carga de Windows, juegos, archivos de paginacion como pueda ser el photoshop para tratar las imagenes, etc...
Al menos al romperse un disco podemos formatear el otro y poder seguir usandolo.

Contras
El ruido, ahora al acceder al disco suenan los dos a la vez, suenan la mitad de tiempo porque practicamente es el doble de rapido pero el ruido es el doble, decir tambien que los discos duros actuales no suenan tanto como los de antes, en mi caso los discos llevan gomas para la sujeccion y que no pasen vibraciones a la caja y la caja esta insonorizada :jaja:
Podria ser otra pega el consumo, porque ahora hay que alimentar dos discos duros en vez de uno, esto no lo comprobe si es tanta diferencia...

Saludos
Si has encontrado aquí la ayuda que esperabas (o incluso si no ha sido así ;) ), ayúdanos a mantener el foro con un pequeño donativo.
¡Muchas gracias!

Volver a “Informática”

¿Quién está conectado?

Usuarios navegando por este Foro: Yahoo [Bot] y 5 invitados