[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Alineando el raid triping con el host i/o



Buenas Lista,

Leyendo por ahí me he enterado de que, por desgracia y en favor de la
compatiblidad con el sistema DOS, al particionar discos con fdisk por
defecto no se tiene en cuenta la alineación de la partición con los
bloques del disco, repercutiendo muy negativamente en el tiempo de
acceso a disco(hay que leer más bloques de los estrictamente
necesarios).

El problema que tengo es que no consigo asimilar del todo la
información que he encontrado:

[1]http://ldn.linuxfoundation.org/blog-entry/aligning-filesystems-ssd%E2%80%99s-erase-block-size
[2]http://insights.oetiker.ch/linux/raidoptimization/
[3]http://www.nuclex.org/blog/personal/80-aligning-an-ssd-on-linux
[4]http://media.netapp.com/documents/tr-3747.pdf
[5]http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/index.html?ca=dgr-lnxw074KB-Disksdth-LX
[6]http://aulix.com/partition-alignment
[7]http://serverfault.com/questions/34729/how-can-i-set-the-disk-partition-alignment-using-linux-tools
[8]http://www.ocztechnologyforum.com/forum/showthread.php?54379-Linux-Tips-tweaks-and-alignment&p=373226#post373226
[9]http://wiki.centos.org/HowTos/Disk_Optimization

y me siento un poco inseguro de ponerlo en práctica en mi array de
discos iSCSI, con varisos grupos de discos en RAID 1 o 5. Así que con
vuestro permiso os cuento lo que 'tengo entendido' y si véis algún
error en 'mi teoria' estaré encantado de que me lo señaleis :)

Pues bién, lo que tengo entendido esque en mi caso, simples RAIDs por
HW con ext3 encima. debo realizar dos alineaciones: Alineación de la
partición y alineación del sistema de ficheros.


1) Alineación de la particion [8].
Entiendo que tengo que conseguir que el tamaño del cilindro sea
multiplo del 'raid striping' ¿es así?, esto se consige mediante
cambios en la geometria del disco (Cylinder-Head-Sector).
Además la primera partición no debe empezar en el primer cilindro ,
sino en el segundo, ya que los primeros bytes del disco se usan para
guardar info de la partición y si lo usamos va a quedar todo
desalineado.

Así pués, creo que si tenemos un 'raid striping' de 128K deberiamos
decirle al fdisk que nuestro disco tiene 16 Heads y 16 Sectors/track.
Con esto tendriamos cilindros de 128K (16*16*512B=131072B=128KB)¿no?
Luego al crear la partición le decimos que esta empieza en el cilindro
número 2.

Nota: otra alternativa mucho más simple a todo esto seria no usar
ninguna partición y formatear directamente el dispositivo (ej:
/dev/sda en vez de /dev/sda1), pero he tenido malas experiéncias con
discos formateados así, a veces no me montan a la primera y luego
tampoco encuentro los UIDDs.

Pregunta adicional: Veo que en varios documentos (p.ej: [2] y [1]) se
hablan del LVM, Lo que no tengo claro es si lo usan por algo que tiene
o no tiene que ver con alinear los discos, ¿que pensais?



2) Alinear el sistema de ficheros (ext3 en mi caso) con el disco.

Esta parte creo que la tengo bastante clara, y todo gracias a los
chicos de CentOS y su manual [9]. Pero lo voy a comentar igualmente :)

Por ejemplo, supongamos 4 discos en RAID5, Entonces para alinear el
sistema de ficheros con el raid striping necesitamos calcular 2
parametros, el stride size y el stride-width.

El stride size se calcula dividiendo el raid striping (tamaño de los
chunks) por el tamaño de bloque del sistema de ficheros. Por ejemplo,
yo tengo un raid striping de 128K, y por defecto los bloques en linux
són de 4K, entonces: Stride Size=128KB/4KB=32.

Para el Stride width necesitamos multiplicar el stride size y el
numero de 'data-bearing disks'(eso són el numero de discos útilies, en
raid5 són N-1, ya que para almacenar la paridad perdemos un disco. (En
raid1 serian N/2)). Pues como mi raid5 es de 4 discos el Data-bearing
disks=3 el Stride width=32×3=96

Con esto ya podemos crear el sistema de ficheros alineado con nuestro
raid striping:
mkfs.ext3 -b 4096 -E stride=32 -E stride-width=96




Muchas gracias por los que os molestais en ayudarme!! Ayudar en este
tipo de cosas, con tantos números y conceptos, acostumbra a llevar
mucho trabajo!! os lo agradezco de verdad :)

saludos!!
--
Marc


Reply to: