Si el caso de uso principal es almacenar imágenes de máquinas virtuales o bases de datos, y no está interesado en aceptar los posibles problemas de rendimiento para obtener las ventajas de integridad de datos de btrfs, entonces no puedo pensar en ninguna razón por la que desee elegir btrfs. sobre xfs o ext4.
Deshabilitar la copia en escritura solo para el directorio de imágenes de VM (usando chattr +C) es principalmente relevante cuando el almacenamiento de imágenes de VM es solo uno de los muchos usos que tiene para su sistema de archivos. Entonces puede ser muy conveniente deshabilitar la copia en escritura para ese único directorio, y aún así conservar todas las ventajas de btrfs para el resto del sistema de archivos.
BTRFS tiene un formato de disco diferente que superará a otros sistemas de archivos en algunos patrones de escritura. En particular, se ha invertido una gran cantidad de esfuerzo en mejorar la forma en que se escriben los metadatos en el disco y es compatible con algunas funciones avanzadas, como la suma de verificación de datos, la compresión y las instantáneas. Para archivos grandes, mejorar el rendimiento de los metadatos generalmente no es importante.
Comparado con ZFS, BTRFS es una solución más simple y mejor compatible con Linux. El principal inconveniente es que no escala tan bien (al agregar una gran cantidad de discos) y no tiene el mismo conjunto de funciones.
En comparación con XFS, será una solución de menor rendimiento. Es decir. tomará más tiempo de procesador escribir una parte de los datos en el disco y estará limitado en el rendimiento máximo. Esto se puede mitigar hasta cierto punto haciendo cosas como deshabilitar la verificación de la suma de verificación, pero luego pierde el beneficio principal de BTRFS sobre XFS, que es una información de metadatos mejorada. Es decir. suma de verificación y diferentes diarios (que pueden ser mejores en algunas situaciones).
En términos de compatibilidad con Copy On Write (COW), XFS favorece el rendimiento por encima de ser estrictamente COW. Es decir. XFS tiene muy buenas funciones de metadatos y registro en diario en términos de escalabilidad y, por lo general, no sobrescribirá los datos del archivo al escribir, con la excepción de que permitirá sobrescribir los bloques de disco existentes si la aplicación solicita específicamente sobrescribir esos datos. Esto puede ser bueno en el caso de una VM, ya que su asignación de disco inicialmente puede ser contigua y, en ese caso, permanecería contigua durante la vida útil de la VM.
Usando BTRFS, incluso con nodatacow
y de la misma manera, aún puede crear instantáneas de datos manualmente con CoW
comportamiento, por lo que es rápido y no consume mucha memoria. Además, esas instantáneas son más flexibles que usar LVM, porque no necesita reservar espacio debajo del sistema de archivos que el sistema de archivos no conoce y no se puede usar si no se necesita en absoluto. Al igual que con ZFS, las instantáneas se pueden enviar y recibir a través de la red, lo que podría ayudarlo a mejorar su estrategia de respaldo. Incluso con nodatacow
BTRFS parece ser superior al uso de LVM.