strip/block size y otros temas de RAID (largo)

Horst H. von Brand vonbrand en inf.utfsm.cl
Mar Dic 30 16:58:15 CLST 2008


Aldrin Martoq <amartoq en dcc.uchile.cl> wrote:
> Hola Victor, muy largo lo que escribiste, tratare de aportar un poco ;)

;-)> 

> On Tue, 2008-12-30 at 12:21 -0300, Victor Hugo dos Santos wrote:

[...]

> Esto es mas lento porque en el fondo tienes un puro disco con varios
> platos,

No. RAID significa leer y escribir varios cada vez (para lo de "R").

>         esto influye en el seek time y se encolan si tienes varias
> aplicaciones "distintas" corriendo al mismo tiempo.

No. Si tienes varios platos (y cabezales) independientes, tienes mejor
rendimiento. RAID los interconecta (la "A"), y el rendimiento se va al
suelo.

> La solucion fue respaldar todo, rehacer el arreglo en 2 arreglos RAID-5
> y dejar unas aplicaciones usando 1 grupo de discos y otras aplicaciones
> usando el otro grupo de discos. La cola de lecturas/escrituras disminuyo
> enormemente, y ahora las lucecitas eran a un lado o al otro.

No es la mejor configuracion, entonces: Claramente le sacas el maximo
provecho a los discos si estan trabajando /todo/ el tiempo, no la mitad si
y la mitad no.

> Varios:
> - recuerda que los discos de un lote son mas propensos a fallar una vez
> que fallo el primero: apenas falle un disco comienza a buscar
> reemplazos!
> http://lwn.net/Articles/237924/
> - luego: cuando tienes esta cantidad de espacio, busca donde dejar los
> respaldos (data y APLICACIONES).

Esa es la idea de RAID (la "I", originalmente de "inexpensive": juntar
montones de discos chicos y baratos para obtener capacidades (y confiabilidad)
de disco inmenso y exageradamente caro).

[...]

> > aca me entra las siguientes dudas:
> > * ahora, el strip size de los volumenes esta configurado en 64 K (con
> > Write-Back y Adaptive Read Ahead habilitados tambien), pero cuales
> > serian los mejores valores para:
> >  - particion "/" en general
> >  - base de datos oracle y postgresql (considerar instalación por
> > defecto, sin cambios significativos)

> Creo que todo esto lo sabriamos si tuvieramos DTrace, asi no tendriamos
> que adivinar...

... pero se requeriria 5 veces la maquina por Slowlaris... ;-)

[Recuerden que en Linux solia ser que lanzar un _proceso_ era mas rapido
 que lanzar una _hebra_ en Solaris, en la misma maquina!]

> Por ejemplo, podrias sacar la distribucion del taman~o del block usado
> _en tu aplicacion_, que es lo que importa al final:
> 
> http://wikis.sun.com/display/DTrace/io+Provider#ioProvider-Examples

Cuidado, eso cuando mucho puede dar una indicacion generica; nadie te dice
que no hayan ajustado esos (y quien sabe que otros) parametros segun el
sistema en el cual corre.

> Podrias intentarlo con systemtap o por ultimo strace y nos cuentas ;)

No creo que strace(1) ayude mucho aca?
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile 2340000       Fax:  +56 32 2797513


Más información sobre la lista de distribución Linux