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: > bien, estoy mirando algunos documentos de como mejorar la peformance > de accesos a los discos duros: > 1 > http://thias.marmotte.net/archives/2008/01/05/Dell-PERC5E-and-MD1000-performance-tweaks.html > 2 http://kbase.redhat.com/faq/docs/DOC-2893 > 3 http://wiki.centos.org/HowTos/Disk_Optimization > 4 http://insights.oetiker.ch/linux/raidoptimization/ > > y tengo algunas dudas "existenciales" que tal vez alguno pueda > ayudarme a entender > Obs.: > 1 - El SO es un RHEL 5.2 > 2 - no tengo problemas de performance en estes momentos, pero quiero > descubrir hasta donde puedo llegar (en mejoria) manteniendo los datos > seguros. > 3 - los 4 servidores que tengo para pruebas, son > PowerEdge 2950 ( 2 x Intel(R) Xeon(R) CPU X5460 @ 3.16GHz) y 32768 MB > Controladora PERC 6/i Integrated (con bateria) con 6 (4 en el canal 0 > y 2 en el canal 1) discos Seagate Cheetah NS SAS (3Gb/s 400-GB y 16 MB > de cache) > 4 - dichos equipos estarian destinados a trabajar con BD (oracle y postgresql) En mi experiencia, LVM es LENTO, segun las ultimas pruebas que hice (un tarro parecido al que muestras). Cambia alguna particion (/var ?) y haz alguna prueba sencilla y nos avisas, pues no tengo numeros! > bien.. en estes momentos tengo un solo RAID-10 creado en la > controladora que alberga todos los 6 discos y me genera un unico > volume de 1,116.00 GB > y dentro del sistema operativo tengo las siguientes particiones y LVM En mis pruebas, separar el arreglo "fisico" similar al _USO_ que tendra en el sistema operativo ayuda bastante. La primera vez hice lo mismo: un puro arreglo RAID-6 con 8 discos, al final era mas lento porque tenia varias aplicaciones escribiendo en el disco y si bien el arreglo _era_ muy rapido, tenias lecturas/escrituras que estaban encoladas. Se veia a simple vista: todas las lucecitas constantemente moviendose de TODOS los discos. Esto es mas lento porque en el fondo tienes un puro disco con varios platos, esto influye en el seek time y se encolan si tienes varias aplicaciones "distintas" corriendo al mismo tiempo. 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. 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). > despues de leer varios documentos en internet... pienso que el mejor seria: > - crear en la controladora un volume de discos para las particiones > "/boot" y "swap" (~ 5GB) > - crear en la controladora un volume de discos para la particion "/" (~ 20 > GB) > - crear en la controladora un volume de discos para las particiones > de datos "/var/data" con todo el espacio que sobre de los discos (unos > 1.1TB ~) Separalos en base al USO. Yo tenia varias maquinas virtuales, lo que hice fue poner unas en 1 arreglo y otras en el otro arreglo; alternadas segun cuando se usan. Me parece que RAID-5 seria lo mejor para performance/confiabilidad. Te recomiendo separar en dos grupos de 3 y 3 discos, en cada grupo crea mas de un arreglo RAID (cada arreglo lo veras como un disco sdX). Luego en la marcha, segun el uso, puedes mover un arreglo entre un grupo y el otro. Algo asi: grupo 1 grupo 2 |D1 D2 D3| |D4 D5 D6| | sda | | sde | | sdb | | sdf | | sdc | | sdg | +--------+ +--------+ Entonces, puedes dejar por ejemplo: sda / sde /backup sdb /database1 sdf /database2 sdc swap sdg /test > 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... 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 Podrias intentarlo con systemtap o por ultimo strace y nos cuentas ;) -- Aldrin Martoq <amar...@dcc.uchile.cl> http://aldrin.martoq.cl/videopodcast/ http://aldrin.martoq.cl/techblog/
signature.asc
Description: This is a digitally signed message part