Quais são as vantagens e desvantagens de montar vários diretórios em partições separadas?

41

Ao instalar o Ubuntu com a opção "outra coisa", descobri que existem muitas pastas que podem ser montadas em partições separadas, como você pode ver na imagem abaixo.

muitas pastas podem ser montadas em partições separadas

Então, quais são as vantagens e desvantagens de montar essas pastas (ou diretórios) em partições separadas?

Especificamente, os diretórios são

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local
Usuário Registrado
fonte
possível duplicata de Como entender o layout do sistema de arquivos Ubuntu?
Charles Green
6
@CharlesGreen Essa pergunta descreve o uso desses diretórios. Estou interessado em conhecer as vantagens e desvantagens de montá-las em partições separadas. Portanto, essas perguntas não são as mesmas.
Usuário registrado

Respostas:

54

Muito muito tempo atrás...

... Houve um tempo em que as pessoas costumavam instalar o Linux e configurá-lo manualmente para suas necessidades específicas. Parte disso é verdade ainda hoje para servidores. As opções que você vê gpartedsão algumas das populares para aqueles que tinham necessidades muito diferentes em comparação com os usuários comuns de desktop, o público-alvo do desktop Ubuntu.

Vamos levá-los um de cada vez. Vou pular aqueles que não conheço muito.

  1. /boothouve um tempo em que o sistema de arquivos Linux era frágil e os discos rígidos eram pequenos. As pessoas temiam que o disco rígido se enchesse ou se corrompesse e o Ubuntu não inicializasse. Manter os kernels em uma partição separada ajudou o sistema a inicializar quando outras coisas deram errado. Naqueles dias, os usuários do Linux costumavam compilar seu próprio kernel e limpar os antigos. Recentemente, como no Ubuntu 16.04 LTS , o aplicativo Software Updater instalou a atualização mais recente do kernel, mas não removeu os kernels antigos. Como resultado, uma pequena /bootpartição foi preenchida com kernels antigos e o sistema parou de inicializar, a menos que alguém a limpasse periodicamente. Veja o que aconteceu se você tivesse uma /bootpartição separada e se esqueceu de limpá-la regularmente: Como liberar mais espaço no / boot? Com o Ubuntu 18.04 LTS, o aplicativo Software Updater não apenas mantém o sistema atualizado, mas também remove os kernels antigos.
  2. Por outro lado, se você deseja criptografar a /partição (para proteger o software secreto em que está trabalhando), precisará de uma /bootpartição separada (e não criptografada) . Caso contrário, o sistema não inicializa. Da mesma forma, se você tiver uma unidade RAID, /bootpode ser útil manter uma partição não RAID. Muitas pessoas pensam que ter uma /bootpartição separada é uma boa ideia por esses e outros motivos.
  3. /homeManter a casa em uma partição separada ainda faz algum sentido. Esta pasta / partição tem seus arquivos pessoais e tê-lo em uma partição separada permite que você formate /e reinstale o Ubuntu enquanto mantém seus arquivos intocados. As versões recentes do software de instalação do Ubuntu incluem uma opção de atualização em DVD / USB. Esta opção mantém /homeintacta, mesmo que não esteja em uma partição separada. Se você ficar sem espaço na unidade principal com a /partição. Você pode adicionar uma nova unidade e criar uma única /homepartição na nova unidade.
  4. /tmpé onde os arquivos temporários vão. Se você estiver executando um servidor que cria arquivos temporários grandes, eles podem ocupar todo o espaço em disco e interromper o servidor. Mantê-lo em uma partição separada apenas preencherá a partição e poderá interromper o processo que estava criando os grandes arquivos temporários, mas não o restante do sistema. Disseram-me que é mais fácil lidar com uma /tmppartição preenchida do que com uma pasta temporária na /partição.
  5. /usr/,, /opt/e /usr/localsão todos os locais em que os programas e aplicativos são mantidos em diferentes condições. Se você desenvolver um software para Linux, pode fazer sentido mantê-los em partições separadas, para que, se você reinstalar o Ubuntu, não exclua os programas que escreveu ou em que estava trabalhando.
  6. Manter /opt/e /usr/localseparar partições também faz sentido se você instalar programas da fonte (sua ou de outro lugar) e quiser usá-los em outra distribuição (por exemplo, Red Hat) instalada no mesmo computador em sua própria partição. Então ambas as distribuições, Ubuntu e Red Hat podem compartilhar as partições /opte /usr/local. (Obrigado Rmano!)
  7. /srve /varsão particularmente úteis como partições separadas se você executar servidores ou desenvolver páginas da web. Para o usuário médio da área de trabalho, essas pastas não ocupam muito espaço e não contêm nada de valor para o usuário. Para um desenvolvedor web, perder /var/wwwpode significar perder o emprego.

Certamente, esses não são os únicos diretórios que podem ser montados como partições. No Linux, pode-se montar uma partição como qualquer pasta em qualquer lugar. As partições geralmente são montadas como subdiretórios de /mnt/e /media.

Espero que isto ajude

user68186
fonte
+1, boa resposta. Você também pode ver minha opinião em askubuntu.com/a/379212/16395 e askubuntu.com/a/379019/16395
Rmano
1
Obrigado @Rmano Eu já tinha visto sua resposta detalhada antes. Vou emprestar sua segunda resposta e editar a minha.
user68186
2
Tudo bem (embora eu faça isso para fazê-los sobreviver a uma reinstalação completa --- os instaladores mais novos podem salvar, /homemas não /usr/local. BTW, "instalar manualmente e costurar" é o lema do Arch Linux ... então ainda há (muito ) de pessoas fazendo isso.
Rmano
2
O motivo histórico de ter / boot como uma partição separada é dos dias em que o disco rígido era maior do que o BIOS poderia suportar, portanto, se o kernel estava na parte inacessível do disco, ele não pôde ser carregado. Ao colocar a partição / boot primeiro no disco, foi assegurado que o BIOS sempre pudesse acessar o kernel para que o Linux pudesse inicializar.
Thorbjørn Ravn Andersen
1
Observe também que os discos podem ser adicionados para obter mais espaço, mas no Unix você precisa de um lugar para montá-los, em vez de apenas atribuir uma letra de unidade. Por exemplo, se o disco ficou cheio, um novo disco foi comprado para manter / home e o conteúdo atual foi movido para lá.
Thorbjørn Ravn Andersen
15

Vantagens genéricas de ter várias partições:

  1. Você pode usar diferentes discos / LUNs e ter melhor desempenho. Isso pode aumentar o desempenho dos bancos de dados, pois você pode ter o log de transações em um armazenamento e os arquivos de dados em outro. Semelhante para aplicativos da Web com uso intensivo de E / S em disco.
  2. Você pode usar diferentes opções de montagem (que aumentam a segurança ou afetam o desempenho ou a estabilidade de uma maneira mais granular)
  3. Você pode ter diferentes sistemas de arquivos
  4. Você gerencia o espaço separadamente. Portanto, você pode ter um aplicativo desagradável que preenche o espaço que não afeta outros aplicativos.
  5. A fragmentação de uma partição é independente da outra.
  6. É possível capturar instantâneos, montar, montar, formatar, desfragmentar, monitorar o desempenho desses sistemas de arquivos independentemente.
  7. Você pode ter criptografia em volumes específicos.
  8. Você pode montar volumes sob demanda.

Desvantagens genéricas de ter várias partições:

  1. Aumenta a sobrecarga de administração.
  2. Você terá maiores chances de perder mais espaço em disco.
  3. Você terá mais incidentes envolvendo o disco cheio.
  4. É mais difícil criar um instantâneo consistente de um aplicativo em execução em diferentes volumes.
  5. Ele usa um pouco mais de recursos.
  6. Dependendo do tipo de volume (rótulo do MS-DOS, LVM, btrfs ...), talvez você não consiga alocar espaço facilmente de um volume encolhendo outro. Especialmente online.

Outra maneira de particionar seu sistema é usar LVM, btrfs ou zfs para /. Aloque apenas o espaço mínimo para / e quando necessário, crie volumes lógicos ou estenda /. Isso permite escolher dividir os volumes posteriormente e reduzir os custos de manutenção.

Agora coisas específicas:

  • / boot é bom para ser uma partição separada. O sistema de arquivos deve ser um suportado pelo seu carregador de inicialização (geralmente GRUB).
  • Se você usa EFI / UEFI, é necessário ter uma partição do sistema EFI.
  • / home é bom para separar as coisas do usuário do SO e dos aplicativos.
  • / tmp pode ser montado com noexec, nodev, nosuid. Pode ser um fs mapeado na memória como tmpfs.
  • / usr pode ser montado apenas para leitura e remontado apenas para atualizações, pode ser remoto como um compartilhamento NFS.
  • / srv / opt armazenará o aplicativo e os dados do aplicativo. Se você possui um aplicativo intensivo de E / S, pode usar um subsistema de disco melhor (por exemplo, SSD)
  • / usr / local é o padrão usado pelos aplicativos instalados localmente na máquina atual. Por exemplo, você tem tudo o mais no NFS e possui um disco local ...

Não há solução perfeita. Se você não tem um motivo claro para criar uma nova partição, não o faça. A única partição que você pode precisar criar além de / is / boot.

Para desktops / laptops, é bom ter / home para que você possa reinstalar o SO independentemente dos seus dados.

Mircea Vutcovici
fonte
Você é bem vindo. Não concordo que seja uma boa ideia ter uma /bootpartição separada para o usuário médio da área de trabalho. Os kernels antigos não são limpos automaticamente e os novos são adicionados. Então isso acontece!
user68186
1
Se ficar cheio, o usuário não poderá instalar kernels mais recentes e as atualizações falharão. Mas o sistema será funcional.
Mircea Vutcovici
1
Por outro lado, se você estiver usando um sistema de arquivos não suportado pelo GRUB ou criptografar a partição /, deverá usar uma partição / boot.
Mircea Vutcovici
Concordou em ambos os pontos.
user68186
1
Editei minha resposta para remover o requisito obrigatório da partição / boot.
Mircea Vutcovici
2

Para desktop?

Não faz diferença.

Para servidor?

Gerenciamento e backup de espaço.

Se o seu sistema tiver muitos usuários, você poderá criar partições adicionais para / home /, pois os usuários não excederão o espaço e a raiz (/) não será afetada.

Você também pode montar NFS, SMB ou partição em outros discos físicos nessas pastas. Por exemplo :

/ dev / sda1 / boot (1 GB)

/ dev / sda2 / (60 GB)

nfs: // IP / pasta / home (X TB)

/ dev / sdb1 / var (1 TB para / var / www ou / var / ftp)

Para laptop

/ em m-sata (rápido)

/ var / home / opt / tmp no disco rígido (lento)

przemo
fonte
1
Você pode elaborar seu último ponto? Outra publicação desaconselhou a possibilidade de ter essas partições em um disco separado, devido à criação de um ponto adicional de falha: agora, se uma das unidades falhar, você ficará sem um sistema em funcionamento. Sem mencionar que diminuiria o tempo de inicialização, já que agora / está aguardando a montagem das partições do HDD.
Khashir #
2

A resposta de przemo, imo, atinge mais de perto os pontos práticos. Aqui estão algumas considerações práticas adicionais:

Os ambientes corporativos geralmente usam partições separadas para / lease /, / home, / opt, / var, / boot e sistemas de arquivos adicionais (1 por aplicativo ou equipe de aplicativos) em / opt. Isso é principalmente para evitar que o sistema fique sem espaço devido ao fato de o diretório pessoal de alguém ficar massivo (/ home), os logs ficarem fora de controle (/ var) ou os aplicativos consumirem muito espaço (/ opt, / opt //, etc) , e / boot para que as outras partições possam ser construídas no LVM e também para garantir que você possa obter algo como um shell de recuperação, caso a partição do sistema principal fique corrompida por algum motivo.

Para meus próprios usos pessoais que não sejam servidores, eu apenas mantenho partições /, / boot e / home separadas para poder inicializar duas vezes vários SO Linux / UNIX e usar a mesma partição / home para elas.

No caso de criar uma VM no Oracle Virtualbox, VMWare Player / Workstation / Fusion, etc. para uso pessoal, realmente não há razão prática para ter várias partições com diferentes pontos de montagem, devido aos bons recursos de compartilhamento de pastas fornecidos pelo VirtualBox. e VMWare Player / Estação de trabalho / Fusion. A única exceção pode ser / boot pelo motivo do shell de recuperação fornecido no parágrafo "ambiente empresarial".

MGodby
fonte
2

Se algo der errado durante a atualização ou a atualização da versão principal, ter / home em uma partição diferente permite inicializar a partir do CD e, em seguida, limpe completamente e reinstale o sistema operacional sem perder seus dados. Além disso, isso possibilita a inicialização múltipla com várias distribuições Linux, algumas pessoas gostam de avaliar isso lado a lado.

h22
fonte
Separar / casa é uma das minhas caixas de sabão, mas ainda me queimei recentemente quando instalei o saucy em outra partição apenas para testar em um notebook onírico, e isso atrapalhou um monte de arquivos de configuração em minha casa / compartilhada, o que deixou onírico muito infeliz quando Eu reiniciei nele.
Joe
0

Além das respostas existentes, você pode ter casos de uso de desempenho e compatibilidade não padronizados / comuns que se beneficiam de diferentes partições.

Você pode compartilhar dados com outro sistema operacional, como o Windows, e precisar usar um sistema de arquivos que seja compatível com Linux e com Linux.

Você pode ter casos de uso especializados que permitem ajustes diferentes (do mesmo tipo de sistema de arquivos, como uma partição EXT4 para muitos arquivos pequenos e uma partição EXT4 para poucos arquivos grandes (como máquinas virtuais), é possível otimizar o armazenamento e o desempenho para ambos os casos de uso.

NGRhodes
fonte