Para a revisão futura de um sistema Debian Linux em 2018, quais partes do sistema de arquivos devem ser separadas?

0

Estou planejando fazer uma migração da minha instalação do Debian de um disco para outro em um futuro próximo. Como parte disso, estou pensando em configurar os sistemas de arquivos de maneira diferente, para proteção futura, bem como para simplificar a configuração.

Minha configuração atual é um LVM RAID1 de um dispositivo (originalmente pretendia configurar o espelhamento do disco do sistema, mas nunca consegui fazer isso) em uma partição em um SSD. O RAID1, por sua vez, contém o sistema de arquivos raiz ext4, com / opt mais partes de / usr e / var separadas no armazenamento do ZFS. Particularmente, / boot faz parte do sistema de arquivos raiz, e eu estou inicializando usando o estilo antigo do MBR usando o GRUB 2.

A idéia é ter um sistema de arquivos raiz grande com um sistema de arquivos * nix-esque (provavelmente ext4 para começar) e separar as partes que têm necessidades especiais.

Gostaria de deixar em aberto a possibilidade de migrar para o boot UEFI mais tarde, possivelmente incluindo uma migração para o GPT, sem a necessidade de mudar as coisas. (Backup / repartition / restore é outro assunto, e provavelmente será necessário para migrar do MBR para o GPT, mas provavelmente eu vou estar recebendo um novo disco novamente antes que isso se torne um problema.)

Também gostaria de ter a opção de migrar o sistema de arquivos raiz para o ZFS posteriormente ou, pelo menos, de configurar o dm-verity para a verificação de integridade de dados. (Sim, vai ser um pouco de dor de cabeça para obter tudo sobre isso direito, especialmente semi-in-place. Isso vai ser uma questão para um dia posterior, a única consideração para esta questão é em termos de opções posteriores. )

Isso tudo parece ser um caso óbvio para separar / , /boot e o FAT32 /boot/efi (o último dos quais pode estar inicialmente vazio), além daqueles que eu já separei do arquivo raiz sistema. Mas existem outros?

  • Quais sistemas de arquivos sistema , apoiados por armazenamento persistente, devem ser separados do sistema de arquivos raiz e por que em uma instalação Linux moderna?
  • Algum desses sistemas de arquivos precisa ir para localizações de partições específicas ao usar o MBR ou suas localizações são arbitrárias? Por exemplo, o / boot / efi precisa ir para a primeira partição primária ou algo assim?
por a CVn 17.06.2018 / 08:20

2 respostas

0

No mínimo, separe diretórios gerenciados por pacotes de diretórios não gerenciados.

Na minha experiência, os diretórios não gerenciados são normalmente (mas não necessariamente exclusivamente) /opt , /usr/local e, é claro, /home .

(Eu também marquei arquivos dentro dos diretórios gerenciados de pacotes que eu editei manualmente, então é fácil para mim identificá-los em um ponto arbitrário no futuro.)

    
por 17.06.2018 / 10:00
0

Em primeiro lugar, isso é em grande parte baseado em opinião. Se você perguntar a uma dúzia de pessoas diferentes, é provável que você obtenha pelo menos 3-4 respostas diferentes.

Dito isto, eis a minha opinião sobre isto:

  • Mantenha /home separado de / . O principal raciocínio aqui é em grande parte na mesma linha que sempre foi. Isso torna mais difícil para os usuários acidentalmente usar todo o espaço em / , e torna significativamente mais fácil manter os dados do usuário se você precisar reinstalá-los. Além disso, isola uma das maiores partes da maioria dos sistemas do resto do sistema, o que pode ser particularmente útil para gerenciar backups.
  • Mantenha /tmp e /var/tmp separados de / . Ambas as áreas são usadas para armazenamento temporário, e a quantidade de rotatividade que isso pode causar no sistema de arquivos raiz pode ter um impacto significativo de longo prazo em seu desempenho. Além disso, os dados têm a garantia de serem transitórios com um tempo de vida relativamente curto. Isso significa que você não deve fazer backup deles (é apenas um desperdício de espaço) e, provavelmente, não os copiará quando você for para um novo disco. Dito isso, /tmp geralmente deve ser uma tmpfs instância, e /var/tmp geralmente deve ser também se você puder ajustar tudo o que estiver disponível na RAM.
  • Um pouco controverso e muito mais invasivo, mas isole seus diretórios de cache globais dos sistemas de arquivos em que normalmente estariam. O exemplo canônico é /var/cache , mas pode haver outros dependendo do seu sistema em particular (acho que /var/cache o cobre completamente no Debian). Isso tem muitas das mesmas vantagens que isolar /tmp , /var/tmp e /home , mas também fornece uma área clara que você não precisa fazer backup (é um cache, se um aplicativo quebras porque não pode encontrar dados lá, é um aplicativo mal escrito) e, portanto, também não precisa copiar quando você move para um novo disco.
  • Mantenha seus conjuntos de dados separados de / . Isso é intencionalmente abstrato, mas inclui itens como as páginas e dados de quaisquer sites que o sistema esteja hospedando, o armazenamento de back-end para qualquer banco de dados ou serviços de diretório que o sistema forneça e outras coisas semelhantes. Isolar esses dados fornece dois grandes benefícios. Primeiro, ele fornece os mesmos benefícios gerais que manter /home separado de / . Segundo, ele separa, pelo menos parcialmente, o desempenho do sistema de arquivos raiz do desempenho de seus volumes de dados. Isso também permite a transição desses conjuntos de dados para diferentes configurações de armazenamento sem afetar diretamente o restante do sistema, o que pode significar a diferença entre um período de manutenção online (onde o serviço é degradado, mas não completamente desligado) e um off-line. um.
  • Mantenha dados descartáveis que podem ser regenerados ou readquiridos de forma trivial, separados de outros dados. Os exemplos incluem dados publicamente acessíveis da Internet (repositórios git, índices de repositórios de pacotes, imagens ISO, etc.) e coisas que são tão triviais que você não as estaria apoiando. Isso é principalmente para simplificar o planejamento de backups, mas também pode ajudar ao alternar para um novo disco (ou seja, você não tem para copiar a maioria ou até mesmo todos esses dados, porque você pode apenas readquirir / regenere-o conforme necessário).
  • Mantenha as estruturas de diretório não gerenciadas pelo seu gerenciador de pacotes separadas daquelas que são. Isso não é obrigatório, mas pode simplificar muito as atualizações e a reinstalação. Isso inclui tecnicamente as coisas que mencionei acima, mas, neste caso, estou me referindo mais especificamente a /opt e /usr/local . Observe que /opt pode conter dados gerenciados pelo seu gerenciador de pacotes (por exemplo, o Dropbox e o Google Chrome instalados lá).
por 18.06.2018 / 21:33