Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Optimizando particiones
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
pacho2
Developer
Developer


Joined: 04 Mar 2005
Posts: 2599
Location: Oviedo, Spain

PostPosted: Mon Jun 26, 2006 3:14 pm    Post subject: [HOWTO] Optimizando particiones Reply with quote

Puesto que en este tema no estoy muy ducho, agradeceré enormemente las contribuciones que queráis hacer.

El proposito de este hilo es que vayamos contando las opciones que consideremos "mejores" (bien por rendimiento, o bien por seguridad) para:
1. Montar las particiones
2. Crear las particiones

Se analizarán, en principio, los siguientes sistemas de archivos: ReiserFS, EXT2, EXT3, XFS y JFS (si queréis añadir alguno no tenéis más que pedirlo).

(este hilo esta en permanente desarrollo)
......


Saludos y gracias


____________________

EN CONTRUCCIÓN

____________________

0. Sistemas de archivos
- EXT2

EXT2 (second extended filesystem o "segundo sistema de archivos extendido") fue el sistema de archivos estándar en el sistema operativo GNU/Linux por varios años y continúa siendo ampliamente utilizado. Fue diseñado originalmente por Rémy Card. EXT2 no implementa Journaling

El ext2 tiene un tamaño de i-nodo fijo entre 1 y 4K, independientemente del tamaño de la partición. El tamaño del i-nodo se selecciona al crear el sistema de archivos y es seleccionable por el usuario. El ext2 tiene una unidad similar al cluster, llamada bloque, y que es, por lo general de 1K, especificable por el usuario e independiente del tamaño de la partición, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeños.

- EXT3

EXT3 (third extended filesystem o "tercer sistema de archivos extendido") es un sistema de archivos con Journaling. Posee la ventaja de permitir migrar del sistema de archivos EXT2 sin necesidad de reformatear el disco.

La única diferencia entre EXT2 y EXT3 es el registro por diario. Un sistema de archivos EXT3 puede ser montado y usado como un sistema de archivos EXT2.

EXT3 utiliza un árbol binario balanceado (árbol AVL).

- ReiserFS

ReiserFS es un sistema de archivos de propósito general, diseñado e implementado por un equipo de la empresa Namesys, liderado por Hans Reiser. Actualmente es soportado por Linux y existen planes de futuro para incluirlo en otros sistemas operativos. Es el sistema de archivos por defecto en varias distribuciones, como Slackware, SuSE, Xandros, Yoper, Linspire, Kurumin Linux, FTOSX y Libranet.

Posee Journaling. Podemos aumentar el tamaño del sistema de ficheros mientras lo tenemos montado y desmontado (online y offline). Para disminuirlo, únicamente se permite estando offline (desmontado). Namesys nos proporciona las herramientas para estas operaciones, e incluso, podemos usarlas bajo un gestor de volúmenes lógicos como LVM o EVMS. Tail packing (para agrupar los ficheros muy pequeños).

ReiserFS almacena metadatos sobre los ficheros, entradas de directorio y listas de inodos en un único árbol B+ cuya clave principal es un identificador único. Los bloques de disco asignados a los nodos del árbol son los "bloques internos formateados" y los bloques de las hojas son los "bloques de hojas formateados". Todos los bloques restantes son los "bloques sin formatear", que contienen los datos de los ficheros. Los directorios con muchas entradas, ya sean directas o indirectas, que no caben en un sólo nodo, se reparten con el nodo vecino de la derecha. La asignación de bloques se lleva a cabo mediante un bitmap de espacio libre almacenado en localizaciones fijas.

En contraste, EXT2 y otros sistemas de ficheros, usan una fórmula fija para calcular localizaciones de inodos, por lo que limitan el número de archivos que pueden almacenar. Otros también almacenan los directorios como una simple lista de entradas, lo que provoca que las búsquedas y modificaciones sean operaciones lineales temporalmente y degradan el rendimiento el directorios con muchos contenidos. El árbol B+ en ReiserFS evita estos problema

- XFS

XFS es un sistema de archivos con journaling de alto rendimiento creado por SGI (antiguamente Silicon Graphics Inc.) para su implementación de UNIX llamada IRIX. Como características principales: Journaling, implementación paralelizada, que escala con el número de CPU's, direccionamiento de 64 bits.

- JFS

JFS es un sistema de archivos con respaldo de transacciones desarrollado por IBM y usado en sus servidores. JFS utiliza un método interesante para organizar los bloques vacíos, estructurándolos en un árbol y usa una técnica especial para agrupar bloques lógicos vacíos. JFS fue desarrollado para AIX. La primera versión para Linux fue distribuida en el verano de 2000. La versión 1.0.0 salió a la luz en el año 2001.

JFS, al igual que ReiserFS, sigue el principio de metadata only. En vez de una completa comprobación sólo se tienen en cuenta las modificaciones en los metadatos provocadas por las actividades del sistema. Esto ahorra una gran cantidad de tiempo en la fase de recuperación del sistema tras una caída. Las actividades simultáneas que requieren más entradas de protocolo se pueden unir en un grupo, en el que la pérdida de rendimiento del sistema de ficheros se reduce en gran medida mediante múltiples procesos de escritura.

JFS abarca diversas estructuras de directorios. En pequeños directorios se permite el almacenamiento directo del contenido del directorio en Inode. En directorios más grandes se utiliza Btrees, que facilitan considerablemente la administración del directorio.

- Reiser4

Se trata de la versión más reciente del sistema de archivos ReiserFS, implementada desde cero. Entre sus ventajas se encuentran:
* Soporte eficiente de gran cantidad de archivos pequeños.
* Manejo de directorios con cientos de miles de archivos.
* Infraestructura flexible que permite extensiones.
* Transacciones atómicas en la modificación del sistema de archivos.
* Manejo eficiente del diario por la vía de logs.
* Estructura del archivos dinámicamente optimizada.
* Integración de metadatos en el espacio de nombres del sistema de archivos.

Pero aún esta en fase experimental y no tiene soporte oficial en el kernel.

- FAT
http://es.wikipedia.org/wiki/FAT

- NTFS

http://es.wikipedia.org/wiki/NTFS

........

1. Algunas opciones para montar las particiones

noatime -> Es una opción muy utilizada y cuyo uso no supone ningún peligro. Al montar una partición con esta opción haremos que los tiempos de acceso a un fichero no se actualicen siempre.

Es importante recordar que si empleamos esta opción deberemos añadir la opción --ctime a su fichero de configuración (ver link)

nodiratime -> Lo mismo que noatime aplicado a los directorios.

data (por aj2r) -> Puede tomar tres valores y nos permite ajustar hasta cierto punto la forma en que actúa el journaling:
  • data=writeback. En este modo no se hace journalling de los datos, sólo de los metadatos. Aunque con esta opción se consigue el mejor rendimiento, si se produce un apagón repentino es probable que los últimos ficheros modificados se corrompan.
  • data=ordered (modo predeterminado). En este modo sólo se hace journalling de los metadatos, pero agrupa de forma lógica metadatos y bloques de datos en unidades llamadas transacciones. A la hora de escribir los metadatos al disco, primero se escriben los datos asociados. Este modo solventa la corrupción de datos y sin requerir el journalling de todos los datos. En general es un poco menos eficiente que writeback, pero significativamente más rápidp que un journalling completo.
  • data=journal. En este método se realiza journal de todos los datos y metadatos. Todos los datos son escritos primero en el "journal" y luego en su localización final.


notail (Para ReiserFS) (por a2jr) -> ReiserFS agrupa los restos de todos los ficheros en un mismo bloque, lo que permite utilizar más racionalmente el espacio disponible a cambio de un aumento del tiempo utilizado en operaciones del disco (porque siempre tiene que hallar un trozo adecuado de memoria en el que colocar este resto). La opción notail desactiva esta característica de ReiserFS otorgando una ligera (yo, pacho2, diría "ligerísima" ;) ) mejora en el rendimiento (en lo que a rapidez se refiere) a costa de ocupar algo más de disco.



.........


Last edited by pacho2 on Thu Jun 29, 2006 8:37 pm; edited 6 times in total
Back to top
View user's profile Send private message
aj2r
l33t
l33t


Joined: 11 Sep 2005
Posts: 705
Location: Granada/Andalucí­a/España

PostPosted: Mon Jun 26, 2006 3:45 pm    Post subject: Reply with quote

Pues voy a hacer la primera contribución, y si me equivoco en lo que digo corregidme :P
Para reiserfs, a la hora de montarlo, existe la opción notail, que lo hace un poco más rápido y menos consumidor de CPU a cambio de no realizar el empaquetado de colas, una de las características que más me gustan de reiserfs y que hace que sea el sistema de ficheros que mejor aprovecha el espacio físico (aunque reiser4 lo hace aún mejor).
Para reiserfs y ext3 existe la opción de montaje data que puede tomar tres valores:

    data=writeback
    En el modo data=writeback, no se hace journalling de los datos, sólo de los metadatos. Aunque con esta opción se consigue el mejor rendimiento, si se produce un apagón repentino es probable que los últimos ficheros modificados se corrompan.
    data=ordered (modo por defecto)
    En este modo sólo se hace journalling de los metadatos, pero agrupa de forma lógica metadatos y bloques de datos en unidades llamadas transacciones. A la hora de escribir los metadatos al disco, primero se escriben los datos asociados. Este modo solventa la corrupción de datos y sin requerir el journalling de todos los datos. En general es un poco menos eficiente que writeback, pero significativamente más rápidp que un journalling completo.
    data=journal mode
    En este método se realiza journal de todos los datos y metadatos. Todos los datos son escritos primero en el "journal" y luego en su localización final.
Back to top
View user's profile Send private message
pacho2
Developer
Developer


Joined: 04 Mar 2005
Posts: 2599
Location: Oviedo, Spain

PostPosted: Mon Jun 26, 2006 6:32 pm    Post subject: Reply with quote

Muchas gracias por tu contribución :)

Saludos
Back to top
View user's profile Send private message
aj2r
l33t
l33t


Joined: 11 Sep 2005
Posts: 705
Location: Granada/Andalucí­a/España

PostPosted: Mon Jun 26, 2006 8:16 pm    Post subject: Reply with quote

Añadir que reiserfs no sólo mete en un mismo nodo hoja varias colas(tails) sino que también las comprime, y por eso principalmente consume más CPU y tiempo y consigue tan buenos resultados.

EDITO-> Una opción muy interesante para ext3 es ala hoar de dar formato a la partición usar la opción -O dir_index, que lo que hace básicamente es que se usen b-trees con tablas de referencia (hashed b-trees) para acelerar las búsquedas en directorios grandes. Puede aplicarse a una partición ya formateada con datos dentro haciendo
Code:
tune2fs -O dir_index /dev/hdXX
e2fsck -D /dev/hdXX
y reiniciando.
Se nota la diferencia a costa de perder un poco de espacio.

VUELVO A EDITAR-> Se me ocurre que podrías poner además al principio una breve descripción de los sistemas de ficheros, si quieres puedes copiar lo que tengo al principio de mi benchmark :wink:
Back to top
View user's profile Send private message
LinuxBlues
l33t
l33t


Joined: 26 Mar 2005
Posts: 892

PostPosted: Tue Jun 27, 2006 2:04 pm    Post subject: Reply with quote

aj2r wrote:
Code:
tune2fs -O dir_index /dev/hdXX
e2fsck -D /dev/hdXX

Si no añades -Df a e2fsck el sistema de ficheros se queda sin modificar, a no ser que le toque revisión en el siguiente montaje. Cuidado con esto: pruébalo y verás. Muchas gracias por tu apoyo aj2r.
Back to top
View user's profile Send private message
aj2r
l33t
l33t


Joined: 11 Sep 2005
Posts: 705
Location: Granada/Andalucí­a/España

PostPosted: Tue Jun 27, 2006 2:22 pm    Post subject: Reply with quote

LinuxBlues wrote:
Muchas gracias por tu apoyo aj2r.

No se merecen :)

Por cierto LinuxBlues ¿podrías explicar por aquí lo de que reiserfs en los núcleos 2.6 usa bloques de 128kB, y cómo hacer para que use 4kB y si se no ta la diferencia?
Back to top
View user's profile Send private message
pacho2
Developer
Developer


Joined: 04 Mar 2005
Posts: 2599
Location: Oviedo, Spain

PostPosted: Tue Jun 27, 2006 2:25 pm    Post subject: Reply with quote

LinuxBlues wrote:
aj2r wrote:
Code:
tune2fs -O dir_index /dev/hdXX
e2fsck -D /dev/hdXX

Si no añades -Df a e2fsck el sistema de ficheros se queda sin modificar, a no ser que le toque revisión en el siguiente montaje. Cuidado con esto: pruébalo y verás. Muchas gracias por tu apoyo aj2r.


Gracias por el apunte :-)

aj2r wrote:
LinuxBlues wrote:
Muchas gracias por tu apoyo aj2r.

No se merecen :)

Por cierto LinuxBlues ¿podrías explicar por aquí lo de que reiserfs en los núcleos 2.6 usa bloques de 128kB, y cómo hacer para que use 4kB y si se no ta la diferencia?


Cuantos más colaboremos mejor :-)

Saludos y muchas gracias a los dos ;)
Back to top
View user's profile Send private message
LinuxBlues
l33t
l33t


Joined: 26 Mar 2005
Posts: 892

PostPosted: Tue Jun 27, 2006 2:42 pm    Post subject: Reply with quote

aj2r wrote:
Por cierto LinuxBlues ¿podrías explicar por aquí lo de que reiserfs en los núcleos 2.6 usa bloques de 128kB, y cómo hacer para que use 4kB y si se no ta la diferencia?


Estás en plenas pruebas de sistemas de ficheros, he aquí la puerta de entrada a mi casa:
/etc/fstab wrote:

/dev/hdb3 /home reiserfs noatime,nodiratime,nolargeio=1,data=writeback 0 0


Estoy por jurar que el data=writeback es redundante ya que reiserfs sólo usa caché de metadatos, pero de lo contrario el kernel me lo monta en ordered data mode :?
Back to top
View user's profile Send private message
aj2r
l33t
l33t


Joined: 11 Sep 2005
Posts: 705
Location: Granada/Andalucí­a/España

PostPosted: Tue Jun 27, 2006 2:47 pm    Post subject: Reply with quote

LinuxBlues wrote:

Estoy por jurar que el data=writeback es redundante ya que reiserfs sólo usa caché de metadatos, pero de lo contrario el kernel me lo monta en ordered data mode :?


Creo que ya he escrito antes por aquí la diferencia entre ordered y writeback. Ordered es prácticamente tan seguro como un journal completo de los datos, mientras que writeback en un apagón o cuelgue del sistema probablemente hará que surjan inconsistencias en el sistema de ficheros. Los dos hacen sólo journalling de los metadatos, pero el algoritmo de escritura en disco es diferente.
Back to top
View user's profile Send private message
pacho2
Developer
Developer


Joined: 04 Mar 2005
Posts: 2599
Location: Oviedo, Spain

PostPosted: Tue Jun 27, 2006 3:27 pm    Post subject: Reply with quote

LinuxBlues wrote:
aj2r wrote:
Por cierto LinuxBlues ¿podrías explicar por aquí lo de que reiserfs en los núcleos 2.6 usa bloques de 128kB, y cómo hacer para que use 4kB y si se no ta la diferencia?


Estás en plenas pruebas de sistemas de ficheros, he aquí la puerta de entrada a mi casa:
/etc/fstab wrote:

/dev/hdb3 /home reiserfs noatime,nodiratime,nolargeio=1,data=writeback 0 0


Estoy por jurar que el data=writeback es redundante ya que reiserfs sólo usa caché de metadatos, pero de lo contrario el kernel me lo monta en ordered data mode :?


Entonces lo de los bloques de 128kb u 4kb, se "regula" con la opción nolargeio?

¿tiene alguna ventaja que use los de 4kb en lugar de 128kb? ¿alguna desventaja?

Saludos y gracias por la información
Back to top
View user's profile Send private message
aj2r
l33t
l33t


Joined: 11 Sep 2005
Posts: 705
Location: Granada/Andalucí­a/España

PostPosted: Tue Jun 27, 2006 4:21 pm    Post subject: Reply with quote

pacho2 wrote:

Entonces lo de los bloques de 128kb u 4kb, se "regula" con la opción nolargeio?

Así es, con nolargeio=1 se usan bloques de 4kB

pacho2 wrote:

¿tiene alguna ventaja que use los de 4kb en lugar de 128kb? ¿alguna desventaja?


Según tengo entendido, el principal motivo de usar 128kB es para poder manejar particiones de tamaños superiores, el inconveniente por el que alguien podría querer desactivarlo es que a la hora de posicionarte en un fichero (seek) y leer de él, obviamente no es lo mismo leer 128kB que 4kB cada vez que te posiciones y leas. Si me equivoco corregidme.
Back to top
View user's profile Send private message
Kensai
Guru
Guru


Joined: 09 Mar 2004
Posts: 568
Location: Puerto Rico

PostPosted: Sun Aug 20, 2006 6:10 pm    Post subject: Reply with quote

# tune2fs -O dir_index /dev/hdx#
# tune2fs -O has_journal -o journal_data /dev/hdx#
# tune2fs -m 1 /dev/hdx#

En verdad no se explicarlas todas pero dan el mejor performance y estabilidad. La ultima cambia el numero de blockes reservados a 1.
_________________
Gentoo: Gigabyte: nFORCE 2: nVIDIA GeForce 6600: AMD Athlon XP 3200+
Perspective of a Thinking Human Being
Back to top
View user's profile Send private message
MarcosLuis
Tux's lil' helper
Tux's lil' helper


Joined: 25 May 2006
Posts: 87
Location: Cuba

PostPosted: Fri Oct 06, 2006 3:51 pm    Post subject: Reply with quote

LinuxBlues wrote:
aj2r wrote:
Por cierto LinuxBlues ¿podrías explicar por aquí lo de que reiserfs en los núcleos 2.6 usa bloques de 128kB, y cómo hacer para que use 4kB y si se no ta la diferencia?


Estás en plenas pruebas de sistemas de ficheros, he aquí la puerta de entrada a mi casa:
/etc/fstab wrote:

/dev/hdb3 /home reiserfs noatime,nodiratime,nolargeio=1,data=writeback 0 0


Estoy por jurar que el data=writeback es redundante ya que reiserfs sólo usa caché de metadatos, pero de lo contrario el kernel me lo monta en ordered data mode :?


Porqué en vez de montar la partición en /mnt/ como se hace normalmente la montas en /home ? Esto es recomendable? Otra cosa: cuando uno agrega al fstab data=writeback no tiene que hacer mas nada en otro fichero?
Esta modificacion no afecta otros ficheros del sistema ? Cuales son?
Saludos
_________________
Ing. Marcos Ortiz Valmaseda
Gentoo 2008.0 r1 User
PostgreSQL 8.3.7 User && PostgreSQL 8.4 Beta Tester
Linux user # 418229
ASUS P5GD-VM1 Intel Pentium 4 Processor a 3.00 GHz 1GB RAM DDR2
Back to top
View user's profile Send private message
pacho2
Developer
Developer


Joined: 04 Mar 2005
Posts: 2599
Location: Oviedo, Spain

PostPosted: Fri Oct 06, 2006 7:22 pm    Post subject: Reply with quote

Creo que la monta en home porque su /dev/hdb3 es su partición para home (eso depende de cada instalación ;-))
Back to top
View user's profile Send private message
MarcosLuis
Tux's lil' helper
Tux's lil' helper


Joined: 25 May 2006
Posts: 87
Location: Cuba

PostPosted: Fri Oct 06, 2006 8:41 pm    Post subject: otra cosa Pacho Reply with quote

Cuando tu vas a opmizar con data=writeback, no habia que ageagar estas lineas al /boot/grub/menu.lst
noaltoptions=quiet splash rootflags=data=writeback
altoptions=(recovery mode) single rootflags=data=writeback
despues en la consola: #tune2fs -o journal-data_writeback /dev/hda3
y reinicio después para aplicar los cambios.
Esto yo lo hice en Ubuntu, en Gentoo hay que hacerlo tambien?
_________________
Ing. Marcos Ortiz Valmaseda
Gentoo 2008.0 r1 User
PostgreSQL 8.3.7 User && PostgreSQL 8.4 Beta Tester
Linux user # 418229
ASUS P5GD-VM1 Intel Pentium 4 Processor a 3.00 GHz 1GB RAM DDR2
Back to top
View user's profile Send private message
LinuxBlues
l33t
l33t


Joined: 26 Mar 2005
Posts: 892

PostPosted: Sun Oct 08, 2006 8:40 pm    Post subject: Re: otra cosa Pacho Reply with quote

MarcosLuis wrote:
#tune2fs -o journal-data_writeback /dev/hda3


Con respecto a lo de grub es innecesario, [supongo que te referías a la partición root (/)] dado que con este comando estás aplicando el journaling en modo writeback por defecto, y se aplicará cada vez que montes la partición. (Consulta dmesg si tienes dudas).

De cualquier modo si estás hablando de tune2fs, supongo que estás hablando de una partición ext3, en cuyo caso, curiosamente, el modo más rápido de hacerlas operar es con data=journal (por increíble que parezca, dado que en teoría deberá escribir los datos dos veces). Consulta este artículo de Daniel Robbins:

http://www-128.ibm.com/developerworks/linux/library/l-fs8.html#4


En cuanto a ext3 estoy pensando en escribir un apartado en este mismo hilo del foro, dado que he descubierto que tiene features no documentadas. Últimamente me ha dado por estudiar ext4 y estoy descubriendo muchas cosas acerca de ext3, usando bajo RedHat tune2fs -l /dev/hdXY (L minúscula), he visto la gran cantidad de features que se le puede añadir a ext3.

Bueno, no prometo nada, cada vez visito menos estos foros... Quizá más adelante publique una guía que vaya mucho más allá del dir_index. De momento no voy a decir absolutamente nada de las cosas que he descubierto acerca de ext3 porque he de hacer muchas pruebas y sé que proporcionar información incompleta puede ocasionar pérdidas de datos muy dolorosas para cualquiera... Por ello no diré nada más. Si alguna vez me pongo a sacar las conclusiones de todos mis tests, lo haré también en este hilo del foro.
Back to top
View user's profile Send private message
MarcosLuis
Tux's lil' helper
Tux's lil' helper


Joined: 25 May 2006
Posts: 87
Location: Cuba

PostPosted: Sun Oct 08, 2006 11:06 pm    Post subject: Reply with quote

Buenos LinuxBlues vamos a estar esperando con ansiedad tus pruebas y tus features, ya que , por lo menos en ambas distros que tengo,uso como FS Ext3,asi que cuando más rápido puedas publicar la guia te lo voy a agradecer.
Saludos
_________________
Ing. Marcos Ortiz Valmaseda
Gentoo 2008.0 r1 User
PostgreSQL 8.3.7 User && PostgreSQL 8.4 Beta Tester
Linux user # 418229
ASUS P5GD-VM1 Intel Pentium 4 Processor a 3.00 GHz 1GB RAM DDR2
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum