Meu problema é bem específico:
Preciso rodar um aplicativo que tenha 500 GB mas tenho dois HDs: um rápido de 200 GB e um muito lento de 2 TB.
O HD de 2TB é USB externo e foi montado pela rede (NFS) em um computador muito lento. Sua velocidade é de apenas 1 MB/s. O HD de 200 GB tem velocidade de 200 MB/s.
Filesystem Size Used Avail Use% Mounted on
--------------------------------------------------------------------------
/dev/sda2 219G 7.1G 201G 4% /
192.168.1.10:/mnt/remote 1.8T 456G 1.3T 27% /mnt/remote-hd
Eu quero "montar" um "HD virtual" como:
/mnt/local_plus_remote
Que é a mistura transparente desses dois HDs.
Há um problema adicional:
Esse HD lento, por ser pela rede, não é confiável, às vezes pode cair e ficar fora do ar por algumas horas.
Eu sei que o aplicativo geralmente usa apenas ~ 10 GB e o resto é como um "arquivo" que raramente é consultado. Existe alguma ferramenta que faça essa união de forma inteligente? Deixando os arquivos menos acessados no HD mais lento e os arquivos mais acessados na parte mais rápida? (Mais ou menos a troca faz?)
Acredito que tal ferramenta não exista, mas não custa perguntar...
Ao final, utilizei a ferramenta fusãofs . Esta ferramenta tem muitas opções interessantes, mas não possui nenhuma solução "inteligente" ou "automática". Você tem que estudar o seu caso e configurar de acordo.
No meu caso, a solução final foi:
A opção "RO" diz que é somente pronto. Então, acabei de copiar todos os arquivos grandes que sei que não serão alterados para o disco lento e grande e marquei-o como "somente leitura". Os outros novos arquivos são criados no disco rápido e pequeno.
Claro que você deve adaptá-lo ao seu caso específico.