Qual é um bom design/esquema de particionamento para um sistema *nix de inicialização múltipla?

Qual é um bom design/esquema de particionamento para um sistema *nix de inicialização múltipla?

Estou planejando instalar o Debian no meu servidor. Eu gostaria de projetar o esquema de particionamento de tal forma que pudesse instalar um ou mais outros distributivos *nix nele. Então, lendo muitos artigos, acho que esse esquema poderia ser bom para a ideia inicial de inicialização múltipla:

/grub
/swap
/LVM VG1 (for OS1) ->
            /boot (LV1)
            /     (LV2)
            /tmp  (LV3)
            /var   ...
            /var/log
            /home
/LVM VG2 (for OS2) ->
            /boot
            /
            /tmp
            /var
            /var/log
            /home
... (other distros)
/LVM VG0 (for data) ->
            /data (LV1)

Mas estou um pouco confuso agora: quais deveriam ser os rótulos para essas partições (únicas ou não) e quais deveriam ser os pontos de montagem parecidos com (/home (OS1) montado em /home e também em /home (OS2) ...)?

Responder1

Criar um grupo de volumes para cada distribuição vai contra o propósito do LVM. Crie um grupo de volumes e use lvcreate para criar partições para suas distros. Para evitar confusão, use o nome do sistema operacional como rótulo para os volumes lógicos.

Por exemplo:

lvcreate -L 2G -n gentoo-root
lvcreate -L 8G -n gentoo-usr
lvcreate -L 2G -n raiz debian
lvcreate -L 8G -n debian-usr

Use uma partição "real" para /boot que seja compartilhada entre todas as distros e manipule-a manualmente e uma partição "real" para swap. Use um /tmp lógico para todas as distros ou use ramfs com tamanho de cerca de 200 MB para isso. /home provavelmente também deve ser compartilhado por todas as distros. Além disso, acho que /usr e /var poderiam ser uma partição separada para cada um, mas não /var/log. Se você tiver algumas estruturas de arquivos para fins especiais com muitos arquivos pequenos, criar partições separadas para eles também pode ser útil. Na maioria dos casos, porém, não é realmente necessário se preocupar tanto com isso. Principalmente quando tudo que você quer fazer é experimentar algumas distros. Muitas vezes é muito mais conveniente criar uma partição raiz para cada distribuição e pronto. Depende realmente do usuário quanta complexidade ele está disposto a gerenciar.

Resumo:

volumes lógicos separados por distribuição

/ ~ 2 GB
/usr ~ 4-12gb
/var ~ 1-7gb

lvs comuns

/lar
/tmp (opcional, pode fazer parte de /)
/usr/doc (economize espaço)
/usr/man (pode ser uma má ideia para distros diferentes)
/var/log (use syslog-ng para criar pastas de distribuição)

propósito especial (muitos arquivos pequenos)

/usr/portage (gentoo "pacotes")

Responder2

Pelo meu entendimento do LVM, desde que os volumes lógicos estejam em grupos de volumes separados, os nomes não precisam ser exclusivos (porque o nome VG é anexado ao nome LV). Costumo rotular meus volumes lógicos com o nome da pasta que espero montar ou uma descrição concisa do que o LV conterá se houver vários diretórios nele (ou seja, raiz de um LV que contém /).

Não tenho certeza do que você quis dizer com "what should be the mounting points looking as". Você quer dizer suas montagens fstab? Isso seria algo como;

/dev/VG1/root    /       <fstype>     defaults    0      0    (and so on, fstab junk)
/dev/VG1/usr     /usr    <fstype>     defaults    0      0

... other system-specific LV's ...

/dev/VG0/data    /data    <fstype>     <options>     fstab-junk

Onde o VG1 muda entre os sistemas operacionais mencionados acima e o VG0 permanece constante como /data.

Também não sei por que você precisa de um LV totalmente separado para /var/log?

Responder3

Com relação à resposta de Ярослав Рахматуллин acima: se você compartilhar um único arquivo de troca entre vários sistemas operacionais, esteja ciente do fato de que a hibernação é feita no arquivo de troca - portanto, inicializar um sistema operacional diferente do hibernado destruiria a sessão hibernada.

informação relacionada