Btrfs ¿Usarlo o no usarlo? [Experiencia Personal]

53
16067

Se me ocurrió hacer un post sobre Btrfs, un sistema de archivos que se supone que en el futuro va a reemplazar a ext4, el cual por ahora viene siendo el más rápido y más usado, además de que su desfragmentación es casi nula, salvo que tengáis un disco con más del 95% de espacio lleno.

btrfs


Pero, entonces ¿en qué planea mejorar Btrfs?

Btrfs es un sistema de archivos desarrollado por Oracle, con la participación de Red Hat, SUSE, Intel, entre otras. Al respecto, cabe destacar que SUSE está haciendo especial hincapié en que ya está listo para su uso en el área empresarial, y ya lo ofrece cono predeterminado en su distribución SUSE Entreprise.
¿Por qué tanto hincapié en su uso? Esto se debe a muchas mejoras que trae Btrfs, muchas de las cuales son totalmente originales e innovan mucho en el área de sistemas de archivos. Btrfs se trata de un sistema de archivos copy-on-write que busca estabilidad, incluso si algo falla, y la facilidad de reparación y administración del sistema.

Las principales características Btrfs disponibles en este momento son:

  • Almacenamiento de archivos basado Extensión
  • 2 ^ 64 bytes == 16 EiB tamaño máximo de archivo
  • Espacio eficiente de embalaje de archivos pequeños
  • Espacio eficiente directorios indexados
  • Asignación dinámica de inodos
  • Instantáneas de escritura, de sólo lectura instantáneas
  • Subvolúmenes ( raíces del sistema de archivos interno separadas)
  • Sumas de verificación sobre los datos y metadatos (CRC32C)
  • Compresión (zlib y LZO)
  • Soporte de múltiples dispositivos integrados
  • La división de archivos , creación de reflejos , creación de bandas Archivo + Mirroring , creación de bandas con único y las implementaciones de doble paridad del archivo
  • SSD (almacenamiento Flash) conciencia (TRIM / Descartar para informar bloques libres para su reutilización) y optimizaciones (por ejemplo, evitando la innecesaria buscar optimizaciones , el envío de las escrituras en grupos, incluso si son de archivos no relacionados . Esto se traduce en operaciones de escritura más grandes y un rendimiento más rápido de escritura)
  • Eficiente copia de seguridad incremental
  • Proceso de borrado de antecedentes para encontrar y corregir los errores en archivos con copias redundantes
  • Desfragmentación del sistema de archivos en línea
  • Comprobación del sistema de archivos sin conexión
  • La conversión de los sistemas de archivos existentes ext3 / 4
  • Dispositivos de semillas. Crear un (readonly) sistema de archivos que actúa como plantilla para sembrar otros sistemas de archivos Btrfs. El sistema de archivos y dispositivos originales se incluyen como punto de partida de sólo lectura para el nuevo sistema de ficheros. Utilización de la copia en escritura , todas las modificaciones se almacenan en diferentes dispositivos , el original es sin cambios.
  • Soporte de cuotas subvolumen -aware
  • Envío / recepción de cambios subvolumen
  • Sistema de archivos incrementales eficaces de creación de reflejo
  • Lote, o fuera de banda, la deduplicación ( que ocurre después de las escrituras , no durante )

Las características adicionales en desarrollo o en proyecto de desarrollo:

  • Sin conexión muy rápida del sistema de ficheros de verificación
  • Reflejo del nivel de objetos y creación de bandas
  • Algoritmos de suma de comprobación alternativos
  • Comprobación del sistema de archivos en línea
  • Otros métodos de compresión (rápido, LZ4)
  • Datos calientes de seguimiento y se trasladan a dispositivos más rápidos (en la actualidad siendo empujados como una característica genérica disponible a través de VFS)
  • Dentro de la banda de deduplicación (ocurre durante las escrituras)

Cabe aclarar que Btrfs ya se considera estable y que no se planean hacer muchos cambios en el futuro, salvo que haya muy buenas razones para hacerlo. Sin embargo, tratan de mejorar la velocidad de Btrfs con cada nuevo Kernel Linux, con lo cual se recomienda tener siempre el último kernel instalado y la última versión de tu distribución GNU/Linux.

También, es recomendable para discos especialmente grandes, que es donde más innova btrfs y se podrán sentir sus beneficios. Además, tiene soporte para las últimas tecnologías, así que si tienen SSD, creo que notaran una mejoría con respecto a ext4, ya que ext4 todavía usa tecnologías un poco viejas.

Mi experiencia personal

Mi distro favorita es OpenSUSE y es la que uso en mi netbook del año 2011, así que formateé la partición con btrfs para probarlo, y la verdad es que en mi netbook funcionó más lenta que con ext4. Tardaba más en prender la compu y la sentí más trabada, aunque creo que copia archivos más rápido. Quizá piensen que yo estaba predispuesto, pero tome los tiempos de respuesta para asegurarme y eran más lentos y realmente el sistema se sentía más trabado.

Mis conclusiones

Btrfs ya se considera estable, lo aclararon en su página oficial, así que:

  • Si tienen una PC un poco vieja, quédense con ext4
  • Si tienen algo más nuevo con SSD, usen btrfs.
  • Tengan en cuenta que planean mejorar su integración con cada nuevo Kernel Linux, así que quizá en el futuro sea una buena idea probarlo, así que aunque ahora tengan hardware viejo, puede que en el futuro su velocidad supere a la de ext4, pero en este momento, al menos, es poco recomendable.

53 COMENTARIOS

  1. La verdad es que es una buena alternativa al EXT4, el cual, a pesar de ser la mejor alternativa al NTFS (para mí, la más infame), es solía dejarme con una sensación que le faltaba un poco más para que tuviera un mejor rendimiento.

    En fin, espero que en la próxima versión de Debian esté disponible.

    PD: Estoy usando Lynx porque estoy solucionando un problema con el driver de video Intel que tengo instalado mi desktop con Debian.

  2. Xubuntu 14.04 sobre Btrfs: para algunas operaciones es un poco más lento que ext4 – y eso que ext4 _es lento_, aunque no tanto como la batata de NTFS.

    Btrfs además no es un sistema de archivos como estamos acostumbrados, es un universo en sí mismo, si no van a leer detalladamente la wiki no lo instalen, va a ser para dolores de cabeza (por ejemplo herramientas como df [dfc] o du [cdu] no funcionan correctamente en Btrfs y hay que usar sus propias herramientas).

    En mi caso opté finalmente por Btrfs ya que al tener Wincrap instalado es complicado usar LVM, se puede pero hay que hacer magia a mano y o quería tener mi pingüino corriendo lo más pronto posible.
    Si no tienen Winbosta instalado LVM+ext4 es una combinación fabulosa: la flexibilidad y seguridad de usar LVM con un sistema de archivos que no para de mejorar – y eso que la gilada lo combatió tanto en su momento…

  3. ext4 no me a dado problemas hasta ahora
    tengo dual boot por ende las otras particiones en ntfs
    y la verdad no noto diferencias con ntfs
    por ahora no estoy para experimentar con los sistemas de archivos

  4. Actualmente utilizo Debian Lenny con sistema de archivos reiserfs 3.6 en mi PC de escritorio, como ya esta demasiado obsoleto comencé a hacer pruebas (en otro disco) con Debian Wheezy. Dado que reiserfs ya no esta disponible para ser utilizado en la instalación (aunque si es posible instalar el sistema en una partición previamente formateada con reiserfs) , realicé pruebas con btrfs, ext4 y xfs, ademas de con reiserfs con el método antes mencionado. De las pruebas hechas lo mas relevante que observé fue que tanto con ext4, reiserfs y xfs el rendimiento fue casi igual tal vez con la percepción de un poquito mas veloz al utilizar xfs , pero definitivamente fue mucho mas lento al utilizar btrfs, de hecho solo la instalación duró aproximadamente el triple en este sistema de archivos. Además como era de esperar con ext4 se pierde aproximadamente un 5% de espacio utilizable al particionar por lo que nunca consideré buena opción ningún ext* Desde que instale mi primer distro (Suse Linux 6.4) en una PC con disco de 20 Gb utilicé reiserfs (por aquel entonces era experimental). Hay que mencionar la desventaja de reiserfs, a parte de que ya no tiene desarrollo y soporte activo, es el tiempo elevado que tarda en montarse, siendo mas notorio mientras mas grande es la partición. En cuanto xfs la desventaja que encontré es que no se puede re-dimensionar…
    Buscando información en Internet sobre sistemas de archivos disponibles para reemplazar a reiserfs leí algunos artículos en los cuales señalaban a xfs ya que cuenta con un buen diseño y un desarrollo activo y se encuentra actualizado para aprovechar las ventajas de los modernos procesadores multi-núcleos, además de que Red Hat ha puesto su mirada sobre este sistema de archivos.
    En fin por el momento xfs lo considero como la mejor alternativa, al menos en el escritorio, a reiserfs (por encima de los ext* y btrfs).

    • Buenísima info, parece que xfs es una muy buena alternativa, aunque yo soy de redimensionar bastante seguido el disco, así que no sé si me lo pondría, pero voy a probarlo definitivamente.

    • Tu apreciación sobre la performance de Btrfs está desvirtuada supongo que por falta de conocimiento.

      Wheezy usa el kernel 3.2 que a los estándares de hoy es cuasi paleolítico.
      Como tantas otras tecnologías en Linux el grueso de Btrfs se encuentra en el mismo kernel y no en las apps de usuario por lo que ha habido incontables incorporaciones de caracterísitcas y bugfixes desde el kernel que usa ‘la vieja’ al kernel que usamos hoy en el resto de distros modernas (3.12,3.13 y 3.14).

      En Xubuntu 14.04 (kernels 3.13 y 3.14-pf) y ChakraOS (kernel 3.12.6) Btrfs corre impecable sino más rápido que ext4. La única penalidad que tiene en cuanto a velocidad de lectoescritura es en operaciones intensivas de bases de datos – documentado hasta el hartazgo.

      • Es verdad que con las versiones mas recientes de linux los drivers para btrfs deben haber recibido incontables incorporaciones de caracterísitcas y bugfixes, pero eso también sería cierto para xfs.
        Aunque si bien carezco de conocimientos técnicos y profundos sobre sistemas de archivos, los drivers de linux, y demás… A parte de que hace años deje de probar y experimentar toda distro y programas nuevos que se me cruzara (buenos tiempos!), prueba de ello es que aún utilizo Debian Lenny! jeje! Es por eso que no he dado el salto aún de distro hasta tanto no concluyan mis investigaciones y pruebas sobre el sistema de archivos que utilizaré en reemplazo de reiserfs; que por el momento el candidato número uno es xfs. Además creo que tengo el suficiente criterio y capacidad como para elegir lo que pienso sería lo mejor que se adapte a mis necesidades, que son cercanas a las de cualquier usuario común de un PC doméstico…
        Dejo el enlace de un artículo interesante titulado: Red Hat piensa que XFS es mejor sistema de archivos que Ext4. Del cual destaco una frase que da una idea de porque btrfs podría ser mas lento que xfs: …Hacer copias redundantes de los metadatos, por ejemplo, da seguridad, pero escribir al disco dos veces los mismos datos siempre va a ser más lento que no hacerlo…
        Enlace al articulo: http://diegocg.blogspot.com.ar/2013/06/red-hat-xfs-es-mejor-sistema-de.html

        • “Es verdad que con las versiones mas recientes de linux los drivers para btrfs deben haber recibido incontables incorporaciones de caracterísitcas y bugfixes, pero eso también sería cierto para xfs.”

          Silogismo erróneo: “Es verdad que mi perro dálmata tiene 4 patas y 1 cola, debería ser cierto entonces que todos los perros de cuatro patas y una cola son blancos y con manchas.”

          Vos seguís el desarrollo de XFS? Yo no, pero me animaría a decir que ni se acerca a la velocidad de desarrollo de Btrfs. De hecho… tiene desarrollo actual, o sólo bugfixes? Pueden pasar años, la eternidad si querés y el desempeño no va a mejorar si no hay nadie atrás que codee 😀

          Entiendo absolutamente tu dolor al tener que abandonar ReiserFS, uno de los mejores filesystems de todos los tiempos, una pena que no le permitan seguir desarrollando…
          Sobre tu necesidad de buscar un nuevo sistema de archivos te recomiendo el combo LVM+ext4, Btrfs es demasiado alienígena, hay que leer muchísimo para usarlo correctamente y explotarlo a su máximo potencial, sin dudas no es una tecnología “instalar y olvidar” como bien explica Manuel en su link con lo que conlleva un trabajo extra de mantener.

          Si no tenés Wincrap instalado, LVM+ext4 es glorioso. De hecho Btrfs pretende un poco suplantar la necesidad de LVM+sistema de archivos X.

          En cuanto a Debian quizás quieras probar Tanglu (mencionada acá en DL), Semplice (Sid estabilizado) o cualquiera de las nuevas distros que tratan de aggiornar un Debian base, limpio, a los usos y tecnologías de hoy.

          Saludos.

  5. Para mi me convenció cuando probe Gnome Documents. Con ext4 la búsqueda de documentos tomaba siglos. Con btrfs era una operación instantánea.

  6. Yo lo usé con fedora 16 y no noté cambios de ningún tipo. En ese entonces se consideraba inestable así que me quede con mi ext4 de toda la vida

  7. BTRFS es un excelente sistema de archivos, entre las ventajas que yo le he notado es más velocidad en mis equipos (usando la partición / bajo BTRFS) en los servidores mayor tolerancia a fallos que causen corrupción de datos (Bajo Ext4 si se te apaga un servidor que está corriendo un MongoDB daemon la base de datos requiere que la reactives manualmente eliminando el archivo “/var/lib/mongodb/mongod.lock” y volviendo a iniciar el mongod daemon, bajo BTRFS esto no sucede por su estructura CoW y otros “goodies”). Además de la capacidad de “revivir” discos duros dañados (Obviamente que anteriormente tenían NTFS de Windows y terminan tan mal que no aceptan instalación de Linux con Ext4 sin fallas).

    EL PROBLEMA está en que BTRFS no es un sistema de archivos que funcione “out of the box” para el usuario como lo son los ExtX que no necesitan mayor mantenimiento u optimizaciones. He estado usando BTRFS en producción desde Fedora 15 (ahorita ya estoy en Fedora 20) y a lo largo del tiempo he notado muchas cosas que se requieren para hacerlo funcionar bien, entre ellas los procesos de mantenimiento que explico en este artículo:

    http://xenodesystems.blogspot.com/2014/05/btrfs-maintenance-and-other-tips.html

    (Con los que se evitan entre otras muchas cosas la fragmentación habitual que este sistema conlleva)

    y también descubrí que al ser un sistema de archivos CoW todo es “locación, locación, locación”. Verás, BTRFS es excelente para la partición / por su naturaleza y perfil de acceso a los archivos, pero si lo pones en una partición /home y luego esperas correr por ejemplo algo que haga writes seguidos al disco duro (como una máquina virtual en funcionamiento cuyo “disco duro” esté en dicha /home btrfs) el sistema simplemente se congela porque el CoW no está hecho para ese tipo de funcionamiento (aunque se está trabajando en ello)…

    A final de cuentas creo yo que por estas cosas es que aún no lo vemos como el “default default” de la mayoría de distros aún, ya que estas cosas son puntos a trabajar sin lugar a duda.

    • buenísima info, sí yo agregué esas ventajas en el post, pero yo soy un usuario doméstico (por así decirlo), esas opciones no me importan demasiado ni estoy seguro como funcionan del todo, así que me quedé con el que me funcionaba mejor. Aunque, también voy a probar xfs por lo que decían más arriba.

  8. He escuchado buenas referencias de btrfs, y el problema para cambiarme (si quisiera), es tener que formatear TODO, y como tengo demasiada información, tendría problemas al respaldarla ._.

    Y bueno que estuviera ya como estable, aunque no sé si para todas las distros (acá en Gentoo no se ha hablado del caso). Por mientras, me quedo con ext4 por temas de costumbre y estabilidad.

    Y no tengo dramas con la búsqueda de archivos, y me da lata indexar para acelerar las búsquedas, debido al espacio en disco duro que se necesita :/

    Probaría btrfs cuando sea más masivo y encuentre cómo respaldar por mientras (y también cuando tenga un disco duro más grande 😛 )

    • Hola, es que se considera estable para sus desarrolladores más que nada, en otras distros, que no sean SUSE o Fedora ni se habla del tema, aunque SUSE ya la adoptó como dije más arriba.

    • No, no tenés que formatear todo. Las particiones extX se migran de forma transparente a Btrfs con la ventaja de revertir los cambios (es decir volver a tu viejo filesystem) si así lo deseás.

      • Bonito saberlo. Esperaré a que Btrfs tenga tanto soporte como ext4 y sea tan masivo como ahora lo es ext4. Y gracias, me deja más tranquilo a la hora de querer trastear con dicho sistema de archivos 😀

  9. Yo tengo BTRFS en mi SSD tanto en KaOS como Antergos, por ahora no he notado nada raro, eso si, tengo el fstab acondicionado.

    Se los dejo por si a alguien le sirve.

    UUID=xxxxacaminumeroxxxxxx / btrfs defaults,rw,noatime,compress=lzo,ssd,space_cache,inode_cache 0 0

    Solo tengo btrfs en /root, ni uso /home aparte ni swap

  10. Hasta que no supere en velocidad a ext4 (según los test que leí, esta bastante lejos todavía) no encuentro razón para cambiarme.

  11. Usando compresión, con kernel 3.12.x, se corrompe todo el sistema de archivos después de escritura intensa en disco. Advertidos…

  12. Hace poco compré una portátil Pavillion procesador AMD A8, 8 GB de ram con windows 8.1 instalado de fábrica, compré también un disco SSD de 160 GB y procedí a instalar Ubuntu 14.04 LTS en el disco SSD mediante conexión externa usb (el disco SSD lo uso de manera externa al equipo para no tocar nada dentro de la laptop), para la instalación de Ubuntu elegí la instalación automática, todo salió perfecto, incluso sin hacer ninguna otra operación después de la instalación, cuando enciendo el equipo automáticamente aparece un menú que me ofrece la opción de arrancar ya sea con Ubuntu o con Windows, en realidad nunca había probado Ubuntu en un equipo modestamente moderno y con un disco SSD, no corre, vuela, sin embargo me ha picado la curiosidad de ver cuál sería el desempeño de Ubuntu particionando con Btrfs, no tengo conocimientos muy profundos de informática pero llevo algún tiempo usando Ubuntu y me gusta trastear y probar diferentes opciones de particionado para comparar resultados, por más que busco en la web no veo algún tutorial completo que permita hacer particiones avanzadas en linux usando disco SSD, si tienes algún consejo al respecto agradezco de antemano tu atención…haaa…por cierto, felicidades….buen artículo.

  13. Buenos Días a todos, he estado buscando un sistema de ficheros apropiado para manejar grandes archivos, en específico archivos de vídeos ¿ Será que debo preparar una partición exclusiva para ellos con el formato XFS ? actualmente uso ext4, pero claro, tengo archivos de todo tipo en mi /home.

    En esta partición básicamente sería solo para leer archivos.

    Uso una laptop Lenovo ideapad s400touch con ubuntu 14.01 y 4 particiones, /boot ,swap , / y /home.

    Saludos y gracias por leerme.

  14. Buena noche a todos. Tengo un equipo en producción con disco SSD sobre el cual monte OpenSUSE con btrfs. Sus características son bastantes animadoras y en realidad es muy rápido para los procesos de apagado y encendido del servidor. Sobre este file system yacía la base de datos de producción de mi negocio, pero tuve que reinstalar mi equipo de nuevo, pues no soportó una falla de energía y este fué el único file system que quedó corrupto. No me fué posible recuperar el file system para hacerlo montable. Con la utilidad de btrfs restore logré obtener la base de datos, pero sin embargo, ya estaba corrupta y tampoco me fué posible recuperarla con las utilidades propias de firebird. La verdad me causó un gran problema pues se perdieron registros de venta de todo un medio día ( eso son bastantes registros) problemas de inventarios, etc. No lo recomiendo para producción en definitiva.

  15. Hola a todos, estoy usando Xubuntu 14.04.01 LTS desde que salio y me anime a cambiar la ext4. Para mi / uso btrfs y para /home uso xfs y la verdad… sencillamente excelente, icnluso con xfs la copia de archivos grandes se hacen mas rapido que cuando usaba ext4. No entiendo nada de sistemas de archivos, pero la verdad, me anime a probar y estoy muy contento con el resultado, no se que pasara mas adelante. 🙂

    • Hola

      Yo acabo de encontrarme con el problema de que tenía un servido oracle linux (redhat) con LVM. Tenía un FS btrfs de 7gigas donde montaba todo / y a continuación otro de 2G para swap. El caso es que estaba petado y sin embargo había muchísimo disco sin usar.

      He cogido y desmontado la swap y me he cargado el volumen lógico de la swap. Luego he creado una partición con fdisk con el resto del espacio disponible no usado y un volumen físico de esto y se lo he añadido al grupo de volúmenes. Y por último he ampliado bastantes gigas el VL donde está el sistema de fichero btrfs (montado TODO en /) y he creado un nuevo VL para la swap renombrando igual para no tener que tocar el /etc/fstab (ley del mínimo esfuerzo).

      Hasta aquí nada raro para quien sepa usar LVM. Usando los comandos de display podía ver mis 2 VL (root y swap) y el de root ya tenía el espacio que yo necesitaba. Pero claro al hacer un df -h seguimos viendo la antigua capacidad del FS (7gigas). Entonces he ido a hacer un resize2fs y es cuando (después del mensaje de error) he caido en que el FS era btrfs y he tenido que ir a internet a buscar info. He buscado los comandos para hacer un resize en caliente (todo lo que sea aumentar tamaño no suele ser necesario desmontar).

      #btrfs filesystem resize +10G /

      Ese ha sido el comando usado. Y puedo decir que ha salido perfecto. En ese momento he vuelto a hacer un df -h y ya me salía la nueva capacidad. Todo esto ha sido sobre el FS de root (/) y todo en caliente desde ese mismo servidor. Sin tener que arrancar ningun livecd ni nada.

      En conclusión, todo correcto. btrfs y LVM se llevan d p madre.

      Bye.

  16. Uno de tantos articulos supuestamente técnicos que desvirtuan el universo técnico y que a la postre no son mas que “comentarios y apreciaciones personales”. No hay datos objetivos, y en su lugar hay “me parece” “hice pruebas (cuyos datos no son publicados”…
    Por otro lado, la distro usada y su kernel mas que anticuado, no son la prueba fiable de nada.

    • Además ni siquiera se ha molestado en traducir bien el copia pega sobre las caracterísiticas de BTRF. En fin, el típico “artículo”, siendo muy generosos, hecho para ganar visitas…

  17. Hola a todos.
    Primero que nada, lo que dice el señor Mateos es cierto, todo se basa en experiencias y lecturas de “por ahí”, pero es cierto que todo sirve, pocos entenderían datos tan técnicos.
    Respecto a los fs, uso openSUSE desde mi inicio, probé cuanta distro se me cruzó en mi camino, en una netbook no muy potente, 4GB ram y cpu celeron 1.6 Ghz x2. Desde la versión 13.2 es default el particionado con btrfs en / y xfs en/home. Lo hizo SUSE y por algo es. Lo cierto es que anda genial, ninguna otra distro anda como openSUSE, la velocidad de búsqueda en desktop es inmediata, copiado,cortado, pegado todo es rápido, mas que en debian y derivados,(la verdad todavía no entiendo como linuxeros usan ubuntu).
    Instalé ubuntu con ext4 y luego btrfs y el último fue mejor, no se por qué, pero así fue.
    Siguiendo con btrfs, SUSE y compañía lo usan por defecto debido a que ellos incorporan las instantáneas para recuperación, sin tener que ser experto para recuperar en caso de desastre..
    La verdad, no hay cosa mejor que openSUSE, y no quedarse el la 13.1 solo por evergreen, los cambios a 13.2 son increíbles. No recomendaría ni usaría otra cosas mas que la distro del camaleón.
    Saludos a todos y… HAVE A LOT OF FUN!!

Dejar una respuesta