Quantas e quais partições devo criar para um servidor linux?

15

As partições são muito importantes no servidor Linux, pois oferecem muita flexibilidade, por exemplo, ao atualizar para um disco rígido maior.

Mas quantas partições devo criar ao criar uma caixa Linux? Que tamanho devo definir para cada partição?

Por fim, mas não menos importante, quais partições devo ter em um disco separado (estou pensando em / home, / var talvez em uma unidade mais rápida, etc.) e quais partições devo compartilhar na mesma unidade?

paulgreg
fonte
1
Quantas unidades você possui? você prevê que esse número mude com o tempo? É uma caixa de uso único ou de uso geral? Usuário único ou multi? Todas essas coisas são importantes.
pjz
A questão é mais de uso geral, mas ainda para servidores.
Paulgreggreg 05/05

Respostas:

17

O planejamento de uma boa estrutura de particionamento depende muito de como você realmente usará o 'servidor'. Qualquer conselho aleatório que não utilize os serviços reais que serão fornecidos não será particularmente útil.

Por exemplo, se for uma caixa baseada em debian que será usada para o mysql, você pode querer partições separadas para /, / var e / var / lib / mysql.

Será um servidor de arquivos com muito armazenamento compartilhado? Você pode querer partições /, / home e / srv.

Para uma caixa executando apenas o squid, você pode querer na partição para / e uma partição em um disco rápido para o spool do squid.

Ao planejar suas partições, é muito útil ter um bom entendimento do Padrão de Hierarquia do Sistema de Arquivos e se / como sua distribuição escolhida se desvia do padrão.

O uso do LVM pode tornar muito mais fácil mudar de idéia no futuro e ajustar suas partições sem a necessidade de reiniciar., E sua capacidade de criar instantâneos pode ser muito fácil de criar bons backups.

Zoredache
fonte
1
A melhor resposta até agora.
Pausado até novo aviso.
Ótima resposta .. tanto a recomendação de que a estrutura depende do uso pretendido quanto o de que o LVM é um bom caminho a percorrer.
RickMeasham
Veja mais informações sobre o valor do particionamento aqui. serverfault.com/questions/61284/sell-partitioning-to-me
Zoredache
Eu nem estava ciente de que não era um Filesystem Hierarchy Standard. Obrigado por mencionar.
Joe Internet
8

Eu sempre crio essas partições e, desde o ano passado, sempre no LVM:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

Uma das mais importantes é /var- se essa for uma partição separada, quando ela for preenchida, você não travará sua partição raiz. Embora eu nunca tenha feito isso, alguns fazem um separado /usrpara que possam montá-lo somente leitura.

e às vezes crio essas partições:

/boot   - even 1 Gig is way more than enough

O raciocínio é que nem sempre é possível inicializar a partir de uma partição RAID ou LVM. Assim, /bootpode ser uma partição ext3 simples, permitindo /ser mais avançado.

Se eu tiver um grande número de arquivos grandes, às vezes crio uma partição específica para esses arquivos grandes, para que o sistema de arquivos possa ser ajustado para ser eficiente no armazenamento de arquivos grandes. Algumas pessoas, se estiverem servindo o NFS a partir de um servidor, criarão uma partição separada para seus compartilhamentos NFS ou mesmo uma partição separada para cada compartilhamento NFS. Isso depende das suas necessidades.

Por que LVM? Como mencionei nas respostas em outros lugares, mas esqueci de mencionar aqui, torna MUITO mais fácil mudar de idéia posteriormente e expandir uma partição. Isso já salvou minha bunda.

Estas são diretrizes gerais. Obviamente, espero que, se o seu servidor tiver necessidades especiais, você leve isso em consideração e faça a partição refletir essas necessidades.

Eddie
fonte
7

Supondo que você esteja construindo uma máquina que dure um tempo, seria inconveniente para reconstruir e precisa ser bastante flexível, você pode gostar de um esquema semelhante ao seguinte:

  1. Instale no mínimo duas unidades físicas, do mesmo tamanho; para os fins deste exemplo, assumirei unidades SATA de 500 GB, mas os princípios funcionam bem com outros tamanhos de unidade.

  2. Particione cada unidade da seguinte maneira:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    O objetivo é ter uma partição dinky de 500 MB na frente, uma partição considerável no meio para o SO e aplicativos e a maior parte da unidade na parte traseira para obter dados adicionais.

  3. Crie um conjunto SW RAID 1,, /dev/md0from /dev/sda1e /dev/sdb1; crie conjuntos adicionais de SW RAID 1 /dev/md1e a /dev/md2partir das partições correspondentes.

  4. Formatar /dev/md0como ext3; isso será /boot.

  5. Formate /dev/md1e /dev/md2como volumes físicos LVM.

  6. Crie um grupo de volumes LVM vg_system, que contém /dev/md1.

  7. Crie volumes LVM apropriados vg_systempara suas várias partições de SO; no mínimo, você vai querer swap, /varde um casal GB e /de 10 GB ou menos. NOTA : não aloque todos vg_system! Quando você decidir mais tarde aumentar o tamanho \varou adicionar um /optou outros enfeites, precisará desse espaço adicional.

  8. Crie um grupo de volumes LVM vg_data, que contém /dev/md2.

  9. Crie volumes LVM dentro, vg_dataconforme desejado; no mínimo, você desejará um tamanho considerável /homee volumes adicionais para, por exemplo, spools de correio, bancos de dados ou raízes da web ou qualquer outro dado que não faça parte do sistema operacional. Novamente, não aloque tudo vg_data, por motivos semelhantes aos listados acima.

As vantagens desta estratégia incluem o seguinte:

  • É tolerante a falhas de hardware; qualquer unidade pode falhar sem causar uma falha no sistema e, se você investir em um controlador hot-swap, poderá se recuperar sem tempo de inatividade.

  • É à prova de futuro e expansível; quando você compra discos de 2 TB alguns anos depois, pode inseri-los na máquina, transformá-los em outro conjunto SW RAID, formatá-lo como um volume físico LVM, adicioná-lo ao grupo de volumes que precisar de mais espaço (provavelmente lv_data) use pvmovepara migrar seus dados das unidades antigas e para as novas. Além disso, as principais atualizações do sistema operacional podem ser significativamente menos dolorosas; se você precisar reinstalar o sistema operacional para uma grande atualização (ahem Red Hat :(), poderá fazê-lo preservando os diretórios pessoais (e os spools de correio e tudo o que você colocar vg_data).

As desvantagens dessa estratégia são poucas; Suponho que seja um pouco complexo, e você sofre um impacto no desempenho nas gravações por causa do RAID 1. No entanto, venho construindo estações de trabalho e servidores autônomos de acordo com esses princípios há alguns anos e na minha experiência sempre que uso construa uma máquina nesse sentido, em pouco tempo eu gostaria de ter.

-steve

PS Devo acrescentar que, se você possui a infraestrutura instalada para provisionar uma nova máquina de maneira rápida e indolor, um sistema como esse é um exagero; em vez de mexer com conjuntos RAID e LVM, apenas reconstrua a máquina se precisar de algo alterado.

hakamadare
fonte
2

Por anos, todos os computadores que usei têm um sistema de inicialização dupla e, no lado do Linux, praticamente fico com esse esquema (estou falando de estações de trabalho pessoais aqui, nada de servidor, portanto, sua milhagem pode variar)

/     - main thing
/boot - not that relevant, since cylinder being < 1024 and 
        exotic filesystems are no longer an issue
/home - handy if you upgrade your laptop with each new distro :-)

Para minha última atualização, fiz uma instalação do zero, apagando minha /partição. Isso me fez pensar que uma partição /optou /usr/localpartição teria sido legal, poupando-me do incômodo de reinstalar todas as coisas que eu coloquei lá (java, eclipse ... eu geralmente não ligo para os pacotes de distribuição).

agnul
fonte
2

Além das partições mencionadas por Eddie, normalmente crio mais duas partições separadas

/ tmp - pelos mesmos motivos que você criou uma partição / var separada (já tive o espaço temporário preenchido antes). Normalmente eu uso 1-2 GB

/ usr / local - Permite atualizar e limpar / usr conforme necessário, sem perder todo o software instalado separadamente. O tamanho aqui depende da quantidade de software externo que você instala. Normalmente, eu tenho cerca de 10 GB, mas acho que isso é um pouco pequeno hoje em dia.

Eu sempre faço / home por último e encho o resto do disco com ele.

Na partição / boot, nunca a tornei maior que 100 Mb e nunca me deparei com problemas de espaço (eventualmente limpo os kernels antigos). Realmente pode ser muito pequeno.

Também não esqueça uma partição swap também.

dagorym
fonte
1

Para a maioria das máquinas, eu faço

100MB /boot
1GB * NUMBER_OF_USERS /home
10GB /var/log
10GB /var
REST /

Em alguns casos, isso precisará ser alternado, mas sou bastante inflexível quanto aos usuários que não ocupam mais de 1 GB de espaço em um servidor. Se eles precisarem de mais, poderão usar / tmp, entendendo que ele será excluído via cron todas as noites.

Glen Solsberry
fonte
1

Supondo que você não use um RAID de hardware lá - no Linux, eu sempre usaria o LVM em cima do RAID. Mesmo para uma configuração de disco único. O motivo é que você tem a opção de adicionar mais espaço de armazenamento (estendendo o grupo LVM) ou alterar as opções de redundância (por exemplo, transformar uma configuração raid1 de disco único "estranha" em uma configuração espelhada ou RAID10 com algum trabalho pesado).

Para responder sua pergunta, geralmente tenho algo semelhante a este para um servidor genérico. Começando com 2 discos (por exemplo, 1RU Dell), ambos particionados como:

  • ~ 100MB RAID1 para / boot
  • LVM em cima do RAID1 para o restante do disco

Em seguida, criamos todo o volume como volumes LVM: * / * / var * / tmp * / home * / opt

Eu evitaria criar muitos sistemas de arquivos, pois é uma tarefa difícil de gerenciar. Se você estiver com pouco disco, acabará tendo espaço livre em muitos sistemas de arquivos, mas não o suficiente para trabalhar.

/ home e / tmp em um sistema de arquivos separado é sempre uma boa ideia; geralmente não separo / opto, a menos que planeje colocar muitas coisas nele. (NFS pode ser uma opção melhor para / opt se você tiver muitos servidores que exijam a mesma pilha de software)

Em resumo, use o LVM para tudo, a menos que você tenha um motivo para não fazê-lo - assim você tem a opção de mudar.

Além disso, use um servidor de log para que os logs não preencham seu / var!

Lester Cheung
fonte
0
  • / boot - 128MB

Grupo de volumes - rootvg

  • / var - 5GB (depende se for usado como servidor de correio. Você também pode redimensionar para capturar arquivos principais)
  • / tmp - 2 GB
  • / opt - 10 GB (usado para software que não acompanha a distribuição)
  • / - 6GB - mínimo

Grupo de volumes - datavg

  • / home - o resto

Você pode criar um / usr separado para o seu software, mas no meu caso a caixa é reinstalada, portanto não há necessidade de obter sua própria partição.

setatakahashi
fonte