Sistemas de ficheros: ext3 o XFS?

El escenario era el siguiente:
Servidor Intel Xeon con cuatro núcleos de 2Ghz cada uno, 8Gb de ram y un arreglo de discos SCSI en Raid5 (300Gb). La funcionalidad del servidor es ser un host de máquinas virtuales. El diléma era qué filesystem usar, estába entre ext3 y XFS entonces me puse a googlear y encontre varios benchmarks y comentarios interesante al respecto, donde se comparaban esos dos o más sistemas de ficheros. Mis necesidades eran encontrar un sistema de ficheros que sea rápido y que trabaje bien con ficheros de gran tamaño (>=1Gb).
Navegando y navegando, me encontré con un benchmark en el sitio debian-administrator que me ayudó en parte a decidir lo que debía hacer.
En dicho benchmark se analizaron los siguientes puntos:

* Operations on a large file (ISO image, 700MB) Copy ISO from a second disk to the test disk
* Recopy ISO in another location on the test disk
* Remove both copies of ISO

* Operations on a file tree (7500 files, 900 directories, 1.9GB) Copy file tree from a second disk to the test disk
* Recopy file tree in another location on the test disk
* Remove both copies of file tree

* Operations into the file tree List recursively all contents of the file tree and save it on the test disk
* Find files matching a specific wildcard into the file tree

* Operations on the file system Creation of the filesystem (mkfs) (all FS were created with default values)
* Mount filesystem
* Umount filesystem

Según ese artículo, el fs que mejor trabaja con ficheros de gran tamaño es xfs. Se hicieron dos tipos de pruebas, comparando jfs, xfs, ext3 y reiserfs. En la primera ganó xfs y ext3, en la segunda xfs y jfs.

The initial copy of the large file took longer on Ext3 (38.2 secs) and ReiserFS (41.8) when compared to JFS and XFS (35.1 and 34.8). The recopy on the same disk advantaged the XFS (33.1 secs), when compared to other FS (Ext3 = 37.3, JFS = 39.4, ReiserFS = 43.9). The ISO removal was about 100 times faster on JFS and XFS (0.02 sec for both), compared to 1.5 sec for ReiserFS and 2.5 sec for Ext3! All FS took comparable amounts of CPU to copy (between 46 and 51%) and to recopy ISO (between 38% to 50%). The ReiserFS used 49% of CPU to remove ISO, when other FS used about 10%. There was a clear trend of JFS to use less CPU than any other FS (about 5 to 10% less). The number of minor page faults was quite similar between FS (ranging from 600 – XFS to 661 – ReiserFS).
Conclusion : For quick operations on large files, choose JFS or XFS. If you need to minimize CPU usage, prefer JFS.
Operations on a file tree (7500 files, 900 directories, 1.9GB)
[…]
Conclusion : For quick operations on large file tree, choose Ext3 or XFS. Benchmarks from other authors have supported the use of ReiserFS for operations on large number of small files. However, the present results on a tree comprising thousands of files of various size (10KB to 5MB) suggest than Ext3 or XFS may be more appropriate for real-world file server operations. Even if JFS minimize CPU usage, it should be noted that this FS comes with significantly higher latency for large file tree operations.

Todo indicaba que debia usar XFS, pero la realidad era otra.

La virtualización debería haber sido con Xen pero las condiciones no lo permitian, tuve que usar VMWare (lamentablemente). Teniendo los recursos de hardware para hacer paravirtualización me tuve que quedar con virtualización por software. La idea era migrar servidores que estaban en otro servidor fisico, ya instalados, configurados y puestos en producción usando VMWare, entonces tuve que seguir usando esa tecnología. Como ya casi todos saben, VMWare es muy malo (leeento) virtualizando máquinas Linux, lo que, luego de una breve conversa con un colega de Freenode, me llevó a una conclusión: Da lo mismo que fs use, ya que estoy usando VMWare … No podré aprovechar los beneficios de xfs, pero tampoco saldré perjudicado por ext3, entonces usé ext3.

8 comentarios

  1. Plop.

    Que te obliga a usar vmware?

    XFS es un filesystem excelente.

  2. @vostorga: XFS = eXcelent FileSystem :P.

    Me obliga usar VMWare el hecho de que ya hay maquinas creadas en VMWare y facilita la administracion de remota. Se deben administrar como 10 maquinas virtuales y la ultima version de vmware incluye una interfáz web donde puedes hacer lo que quieras con las VMs, incluso abrir una VM en un popup con firefox (luego de instalar un plugin). En fin, son cosas que escapan a mi, por mi: Xen!

  3. Existe una alternativa libre a este administrador de VM via web lo uso en el curro: te paso el enlace
    pve.proxmox.com el unico problema es que te lo monta todo todo todo segun la receta del que se lo curro.

  4. Zerial

    junio 18, 2009 a las 1:13 pm

    @vladimir_: Gracias. lo probare

  5. todo bien che, pero no sirve de nada esta entrada
    me hiciste gastar energía eléctrica, tiempo …

  6. Zerial

    junio 21, 2009 a las 10:00 pm

    @ignacio: En mi blog publico las cosas que voy aprendiendo y descubriendo, el I+D que debo hacer aveces para algunos temas, etc etc. Trato de compartir mi experiencia, es simplemente eso, es un blog personal. A algunas personas les sirve y a otras no. Lamentablemente a ti no te sirvio y gracias por comentarlo 🙂 Pero lamentablemente no puedo devolverte ese tiempo y esa energía eléctrica que te hice perder.

    Saludos!

  7. Hay estos Argentinitos, son tan mal agradecidos de todo, gracias saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.