estratégia de particionamento e subvol com btrfs

10

Eu sou novo no btrfs e gostaria de alguns conselhos sobre estratégia de particionamento e subvolume. O sistema é um servidor da web leve e assume que ele possui apenas um único disco.

Nos sistemas de arquivos ext, eu sempre criei partições separadas para /, / var, swap (e possivelmente / boot e / home). Para mim, / var sempre contém todos os dados valiosos do servidor da web (por exemplo, bancos de dados MySQL) e nenhum código. Isso me permite mover facilmente os dados para um sistema diferente (mover ou copiar / var) ou reinstalar o sistema operacional sem interromper os dados (reformatar /) etc.

Usando o btrfs, eu poderia fazer a mesma coisa, usar o mesmo esquema de particionamento e ter um sistema de arquivos btrfs separado em cada partição. Ou, eu poderia ter uma única partição e usar subvolumes btrfs para /, / var e assim por diante. Quais seriam os prós e os contras disso?

Parece-me que pode haver alguma vantagem em ter instantâneos /-only e /-var-only, por exemplo ("Restaurar todos os dados para um ponto de verificação anterior" vs "restaurar todo o código" vs "restaurar ambos"). Está certo ou parece apenas assim?

Pergunta do bônus: há vantagens em usar o lvm abaixo do (s) sistema (s) de arquivos btrfs?

Pergunta de bônus 2: como o seu conselho mudaria se o sistema tivesse dois discos do mesmo tamanho?

Qualquer sugestão de artigos sobre "isto é o que eu fiz e como funcionou para mim" também será apreciada. Posso encontrar bastante material sobre o que posso fazer, mas não consigo dizer muito "foi o que tentei e é por isso que funcionou ou não".

Johannes Ernst
fonte
1
Ótima pergunta! Eu queria perguntar quase o mesmo. Gostaria de usar a criptografia raid1 e luks, mas é difícil encontrar informações relevantes sobre o básico. Por exemplo, se eu posso instalar um sistema operacional em um único volume duplicado e posso usar o subvolume para / swap etc. etc. sem qualquer inconveniente. Talvez eu deva ler o manual, mas não gosto de textos longos. : D
inf3rno

Respostas:

6

Se você não tiver necessidades específicas, use btrfs como usaria outro sistema de arquivos. Separar / lar é uma boa prática.

Pessoalmente, nos servidores domésticos, meu único subvolume é / etc, para que eu possa fazer instantâneos das configurações. Isso pode ser automatizado com ferramentas como o snapper.

Normalmente, há pouco interesse em restaurar apenas uma versão anterior do / var, devido à necessidade de restaurar / lib / stuff. É uma situação de tudo ou nada.

Os instantâneos de / home podem ser MUITO grandes, portanto, o gerenciamento do tamanho do disco logo será um problema. Isso pode ser feito sem nenhum problema, mas fique de olho no espaço restante. Além disso, como os instantâneos só podem ser feitos no mesmo disco, eles não são uma solução para backups em caso de falha no disco. Pense neles como algo para situações como "oups, eu apaguei este arquivo duas horas atrás, mas ainda preciso dele".

Bônus 1: nenhum. De fato, o btrfs foi projetado para simplificar a pilha mdadm + lvm + fs. Então é realmente melhor evitá-lo.

Bônus 2: Não, mas faça um RAID 1! Simples e eficiente, seus dados vão te amar :)

Bônus Ninja: você provavelmente quer dar uma boa olhada no wiki do btrfs .

Damien Clauzel
fonte
O btrfs suporta espelhamento e outras configurações RAID'ish. Mesmo que você evite reproduzir o RAID6, você pode criar um espelho facilmente adicionando uma partição após a instalação. Você poderia encontrar um bom como aqui ( complang.tuwien.ac.at/anton/btrfs-raid1.html )
JOduMonT
0

Estive revisitando isso recentemente e pensei em compartilhar um post muito bem pensado que propõe uma partição com diretórios de nível superior contendo subvolumes: https://bbs.archlinux.org/viewtopic.php?id=194491

TL; DR

subvolid=0
      ├── subvol_root
      │        └── /usr, /bin, /sbin, /.snapshots, etc
      ├── subvol_snapshots
      ├── subvol_home
      └── subvol_opt
ebrioso
fonte