Com a virtualização, ainda faz sentido usar vários pontos de montagem?

15

Em 2013, faz sentido ainda ter vários pontos de montagem em uma nova imagem do Linux ou alocar todo o espaço para / faz mais sentido?

Eu preferiria evitar a reinicialização necessária para aumentar o tamanho de um ponto de montagem. Eu também preferiria monitorar o espaço de uma única montagem. Prefiro saber que o servidor inteiro está acima de 70% do espaço em disco, em comparação com os pontos de montagem individuais.

Jeremy Mullin
fonte
Por que você precisa reiniciar para aumentar o tamanho de um ponto de montagem? Acho que todos os sistemas de arquivos comuns que suportam online se expandem neste momento.
derobert

Respostas:

17

Claro que ainda é útil. Você não deseja que um processo descontrolado preencha um log e faça com que o disco fique cheio. Além disso, se você estiver usando algo como LVM, poderá fazer a expansão online de volumes.

Com muitas VMs, você desejará separar as E / S de qualquer maneira. Você provavelmente desejará seus bancos de dados em eixos separados e a única maneira de conseguir isso é ter um ponto de montagem separado para a localização do banco de dados. Os bancos de dados à parte, proporcionam mais flexibilidade granular no caminho, se você superar o seu design original.

Então, em resumo, sim, ainda existem boas razões para fazer isso em 2013.

MDMarra
fonte
A máquina ainda não trava, mesmo que / var (ou / tmp) fique cheio de qualquer maneira?
onionjake
2
@onionjake Não, não necessariamente. Mas eles vão falhar se /enche.
ewwhite
Obrigado pela observação sobre os logs ficando fora de controle. Essas VMs específicas usam uma SAN; portanto, acredito que o IO já esteja distribuído e não é uma preocupação para mim nessa situação específica.
Jeremy Mullin
Além deste ponto, se você deseja que uma única VM abranja vários pools de VMFS no ESXi, será necessário usar vários discos virtuais (que aparecem como discos físicos na VM). Você ainda pode combiná-los em um ponto de montagem com o LVM, se realmente quiser, mas isso é uma prática ruim, na minha opinião.
Paul Engrenagem
5

Hoje em dia, eu não usaria muitas montagens separadas, mas provavelmente algumas delas seriam úteis na administração do sistema.

Apenas 2 ou 3, esp. com um que varia em tamanho. Isso depende do que você está usando. Eu diria apenas / (relativamente estável) e / var (alterando). Dependendo da geometria do sistema operacional e do disco, o / boot também pode ser necessário. / tmp é provavelmente uma montagem tmpfs configurada pelo instalador.

Os volumes alterados (principalmente / var, mas podem ser apenas / var / log e / var / lib / mysql etc.) são geralmente o que você precisa se preocupar e planejar para expansão. Portanto, se possível, use lvm etc. para facilitar o redimensionamento.

johnshen64
fonte
1
Eu pessoalmente uso o LVM e a inicialização deve estar em sua própria partição, não em um grupo de volumes que eu acredito (se você usar o grub legacy).
4

Sim, ainda uso várias partições em máquinas virtuais e pontos de montagem para requisitos de monitoramento, segurança e manutenção.

Não sou fã de máquinas virtuais de ponto de montagem únicas ou limitadas (a menos que sejam máquinas descartáveis). Trato VMs da mesma forma que trato servidores físicos. O alinhamento de partições com algumas das normas de hierarquia do sistema de arquivos do Linux ainda faz sentido em termos de separação lógica de executáveis, partições de dados, armazenamento temporário e de log. Isso também facilita o reparo do sistema. Isso é especialmente verdade com máquinas virtuais e servidores derivados de um modelo.

(BTW, também não gosto de LVM em máquinas virtuais ... Planeje melhor !! )

Nos meus sistemas, tento fazer o seguinte:

  • / é tipicamente pequeno e não cresce muito.
  • /boot é previsível em tamanho e o crescimento é controlado pela frequência das atualizações do kernel.
  • /tmpdepende da aplicação e do ambiente, mas pode ser dimensionado adequadamente. Monitorá-lo separadamente ajuda a medir o comportamento anormal e protege o resto do sistema.
  • /usr Deve ser previsível, contendo executáveis, etc.
  • /varcresce, mas a quantidade de rotatividade de dados pode ser menor. É bom poder medi-lo separadamente.
  • E uma partição de crescimento. Nesse caso, é /data, mas se esse fosse um sistema de banco de dados, pode ser /var/lib/mysqlou /var/lib/pgsql... Observe que é um dispositivo de bloco diferente /dev/sdb,. Este é simplesmente outro VMDK nesta máquina virtual, para que possa ser redimensionado independentemente do VMDK que contém as partições reais do sistema operacional.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  2.5G  8.8G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             291M  131M  145M  48% /boot
/dev/sda7             2.0G   68M  1.9G   4% /tmp
/dev/sda3             9.9G  3.5G  5.9G  38% /usr
/dev/sda6             6.0G  892M  4.8G  16% /var
/dev/sdb1             360G  271G   90G  76% /data

A separação de algumas dessas partições facilita muito a identificação de tendências e a detecção de comportamentos anômalos; por exemplo, núcleos de 4 GB /var, um processo que esgota /tmp,

Normal insira a descrição da imagem aqui

Anormal. O aumento repentino /varnão seria fácil de detectar se uma grande /partição fosse usada. insira a descrição da imagem aqui


Recentemente, tive que aplicar um conjunto de parâmetros e atributos de montagem do sistema de arquivos (nodev, nosuid, noexec, noatime, nobarrier) para um modelo de VM com segurança reforçada. O particionamento era um requisito absoluto para isso, porque algumas partições exigiam configurações específicas que não podiam ser aplicadas globalmente. Outro ponto de dados.

ewwhite
fonte
2

Certamente, os vários pontos de montagem ainda têm suas vantagens, um servidor virtualizado ou não.

Mas com a virtualização você provavelmente também usa modelos de máquinas virtuais, certo? E seu sistema de monitoramento, como o Nagios (com NConf?), Também suporta modelos? Se assim for, então você precisa passar por essa luta mental de pontos de montagem apenas uma vez.

Voltar ao tópico

Eu costumava dividir meus sistemas desta maneira: /, /home, /usr, /var, /tmp(e possivelmente algum outro ponto para os dados de montagem), mas isso era um exagero e um aborrecimento. Atualmente, uma imagem simples do sistema operacional com apenas /, talvez com uma separada, /varé um caminho a percorrer para mim; então, se um servidor virtual precisar de mais armazenamento de dados, forneço mais uma imagem de disco e monte-a sempre que necessário.

Janne Pikkarainen
fonte
Como você detecta problemas, digamos, /optou /tmpem uma única configuração de partição?
ewwhite
Se um servidor começa a consumir seu espaço em disco rapidamente, algo como du -m --max-depth=4 / | sort -nr | head -n 30 | lessé surpreendentemente eficaz. E de forma controlada. ambiente monitorado, quantos lugares em potencial você tem para esse tipo de coisa? /var/log, /tmp, /opt/*/log, Talvez algo mais? Não muito difícil.
Janne Pikkarainen
1

Para servidores de arquivos, também costumo montar o /homevolume em sua própria partição / disco e usar a noexecopção ao montá-lo. Paranóia, mas impede que os usuários executem arquivos de dentro de suas pastas pessoais.

Além disso, tenho a tendência de colocar o /bootvolume em um espelho RAID 1 em todas as unidades, mas, novamente, práticas antigas que sigo que ainda não vejo uma desvantagem

Canadian Luke
fonte
1
A questão era sobre servidores virtuais, portanto, o pouco sobre / boot no RAID 1 não se aplica. Mas é definitivamente uma boa ideia em servidores físicos.
Paul Gear