Aqui estão alguns pensamentos - eu ainda estou aprendendo isso e atualizarei isso à medida que for avançando.
Como escolher o sistema de arquivos da união
Há duas maneiras de analisar isso:
- Como os recursos de cada um se comparam?
- Para alguns casos de uso comuns, qual devo escolher?
Vou comparar o unionfs / unionfs-fuse / overlayfs / aufs / mergerfs, sendo este último um substituto para mhddfs.
Características de cada um
Estado de Desenvolvimento
Distribuição / suporte ao Kernel
Existem sistemas de arquivos no modo kernel e no sistema de usuários, este último executado no FUSE. Os do modo kernel têm menos sobrecarga (existe sobrecarga quando o código alterna entre o espaço do usuário e o espaço do kernel), mas o único atualmente suportado no kernel Linux é o overlayfs . Os sistemas de arquivos no modo de usuário são mais fáceis para as distribuições empacotar.
- unionfs e aufs precisam de patches do kernel
- O unionfs não é distribuído pelo Debian (o resto é)
- O unionfs-fuse e o mergerfs são baseados no FUSE, portanto, não é necessário módulos adicionais no kernel
- overlayfs faz parte do kernel desde a versão 3.18 (Debian Stretch)
Copiar na gravação
Isso está relacionado ao caso de uso do Live CD abaixo:
- mergerfs não possui cópia na gravação
- Os outros fazem
Casos de uso
Raiz somente leitura / O caso de uso do Live CD
A idéia é ter um CD-ROM / partição somente leitura de um sistema Linux. O sistema de arquivos da união faz com que o usuário pareça um sistema de leitura e gravação para que ele possa fazer alterações. Há um sistema de arquivos de leitura e gravação (por exemplo, um disco RAM tmpfs) que armazena o "Delta" de todas as alterações feitas pelo usuário, mas não o instantâneo completo.
Aqui qualquer um dos sistemas de arquivos da união faria.
Caso de uso do Docker
Estou ciente de que este é um caso de uso principal, mas não conheço os detalhes - alguém pode fornecer orientações sobre isso?
Mesclando discos rígidos
Por exemplo, você pode ter dois conjuntos de /home
diretórios em sistemas de arquivos diferentes. Ou você pode estar atualizando seu computador doméstico com um segundo disco rígido e desejar um único volume lógico.
É aqui que você realmente não deseja copiar na gravação, portanto, possivelmente o mergerfs é a melhor escolha.
Sistema de arquivos Union versus LVM para pool de disco
Vou listar alguns casos de uso que podem ser alcançados com sistemas de arquivos union, mas não com o LVM:
Se você estiver atualizando um sistema existente com um segundo disco, algo como o mergerfs pode ser melhor porque o LVM exigiria que você reformatasse o primeiro disco rígido, destruindo assim os dados nele. Um sistema de arquivos da união evitaria essa etapa.
O LVM pode dividir um arquivo em dois discos rígidos físicos (assumindo RAID 0), para que você o perca se um disco rígido falhar.
Alguns usuários podem gostar, por exemplo, de manter seu /home
diretório em um pendrive que eles podem levar.
No caso de uso de uma partição virtual em dois discos físicos, com o LVM, você não precisa se preocupar se os arquivos são salvos em um disco ou no outro. Com o mergefs, o sistema pode escolher automaticamente qual deles, dependendo da quantidade de espaço disponível.