Unionfs vs Aufs vs Overlayfs vs mhddfs, qual deles devo usar

15

Eu estive lendo aleatoriamente sobre o sistema de arquivos union, que permite que um usuário monte vários sistemas de arquivos um sobre o outro simultaneamente.

No entanto, estou tendo problemas para decidir sobre qual deles usar (Unionfs vs Aufs vs Overlayfs vs mhddfs) e por que, como não encontrei informações concretas sobre o assunto em nenhum lugar. Eu sei, por exemplo, que o overlayFS foi adotado no kernel Linux principal, o que significa que ele pode ter uma adoção mais ampla. Gostaria que alguém me desse alguma perspectiva.

Também não consigo encontrar nenhum caso de uso concebido para o sistema de arquivos Union sobre algo como LVM (recomendado pelos usuários em perguntas separadas ) ou configuração de RAID, exceto no fato de que o LVM requer a formatação de todas as unidades que talvez não sejam desejáveis ​​se você já possui dados valiosos nas unidades.

David Okwii
fonte
De um modo mais geral, ainda estou aguardando uma resposta em unix.stackexchange.com/questions/282393/union-mount-on-linux
Gilles 'SO- stop

Respostas:

4

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 /homediretó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 /homediretó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.

Bob Mortimer
fonte