Como dividir os diretórios somente leitura e de leitura / gravação do FHS em dois discos com o Linux / systemd, sem particionar o disco de leitura / gravação?

3

Meu objetivo é ter o armazenamento físico dos diretórios de leitura / gravação do Linux FHS ( /home , /srv , /tmp , /var ) em um disco separado (lógico ou físico) do potencialmente apenas o restante do sistema de arquivos raiz.

Eu sei que posso criar quatro partições no meu segundo disco e usar cada partição para um dos diretórios acima usando mount . Mas eu não sinto como determinar o espaço de armazenamento necessário para os quatro diretórios iniciais, mesmo que eu possa corrigir os tamanhos das partições (lógicas ou físicas) mais tarde.

Isso pode ser alcançado e como?

    
por Run CMD 09.11.2015 / 13:46

2 respostas

2

Uma opção é usar uma distro com um mesclado /usr ; então você pode montar /usr RO e o resto RW, e ter a maioria das coisas relevantes RO. Isso não pega /etc , porém, o que você pode querer. Não é uma solução, mais uma solução alternativa.

Outra é criar um único volume BTRFS com subvolumes para todas as montagens desejadas e, em seguida, montar com -osubvol=<whatever> . Essas montagens podem ter opções de montagem individuais, mas na configuração padrão (sem qualquer configuração de cota) elas contam com todo o volume BTRFS, de modo que você poderá colocar novos dados em qualquer lugar que desejar, desde que todo o FS tem espaço sobrando.

    
por 09.11.2015 / 17:41
2

Questões semelhantes foram feitas antes. O mais próximo parece ser Como montar vários diretórios na mesma partição? onde esta resposta aceita atualmente sugere que pode ser de duas maneiras:

  • Usando quatro links _symbolic: no sistema de arquivos raiz, apontando para quatro subárvores individuais no segundo disco, que é montada uma vez em um ponto de montagem, independentemente dos quatro diretórios.

  • Usando montagens de ligação (disponível desde o Linux 2.4) para montar quatro subárvores individuais no segundo disco para os quatro diretórios, depois que o segundo disco for montado primeiro em um ponto de montagem independente do quatro diretórios.

A mesma resposta tem um comentário interessante que aponta para este Q & A que discute os prós e contras dos links simbólicos vs ligam montagens . A partir disso, poder-se-ia concluir que os links simbólicos devem ser preferidos, porque são mais fáceis de ver e manter e não causarão problemas com qualquer software existente.

No entanto, systemd tem um recurso de configuração de dependência explícita chamado RequiresMountsFor . Por exemplo. o Debian 8 padrão (Jessie) o usa para fazer com que alguns serviços esperem por potenciais montagens de /var , que precisam estar disponíveis para os serviços em questão.

systemd RequiresMountsFor só funcionará com montagens de ligação ; não com links simbólicos .

Pelo menos os arquivos de configuração do serviço Debian 8 systemd em questão estão localizados em /lib/systemd , portanto eles não devem ser modificados. Isto sugere que as montagens de ligação devem ser preferidas se você usar uma distribuição Linux que introduza systemd dependencies . Modificar a configuração systemd da distribuição Linux pode transformar a manutenção do sistema em um pesadelo.

A presença de systemd em si, por outro lado, não constitui um ponto pro ou contra para a escolha entre links simbólicos e montagens de ligação .

    
por 09.11.2015 / 13:46