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?
Respostas:
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.
fonte
Eu sempre crio essas partições e, desde o ano passado, sempre no LVM:
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/usr
para que possam montá-lo somente leitura.e às vezes crio essas partições:
O raciocínio é que nem sempre é possível inicializar a partir de uma partição RAID ou LVM. Assim,
/boot
pode 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.
fonte
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:
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.
Particione cada unidade da seguinte maneira:
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.
Crie um conjunto SW RAID 1,,
/dev/md0
from/dev/sda1
e/dev/sdb1
; crie conjuntos adicionais de SW RAID 1/dev/md1
e a/dev/md2
partir das partições correspondentes.Formatar
/dev/md0
como ext3; isso será/boot
.Formate
/dev/md1
e/dev/md2
como volumes físicos LVM.Crie um grupo de volumes LVM
vg_system
, que contém/dev/md1
.Crie volumes LVM apropriados
vg_system
para suas várias partições de SO; no mínimo, você vai quererswap
,/var
de um casal GB e/
de 10 GB ou menos. NOTA : não aloque todosvg_system
! Quando você decidir mais tarde aumentar o tamanho\var
ou adicionar um/opt
ou outros enfeites, precisará desse espaço adicional.Crie um grupo de volumes LVM
vg_data
, que contém/dev/md2
.Crie volumes LVM dentro,
vg_data
conforme desejado; no mínimo, você desejará um tamanho considerável/home
e 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 tudovg_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
) usepvmove
para 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ê colocarvg_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.
fonte
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)
Para minha última atualização, fiz uma instalação do zero, apagando minha
/
partição. Isso me fez pensar que uma partição/opt
ou/usr/local
partiçã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).fonte
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.
fonte
Para a maioria das máquinas, eu faço
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.
fonte
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:
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!
fonte
Grupo de volumes - rootvg
Grupo de volumes - datavg
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.
fonte