Pergunta bastante simples. Estou trabalhando em um projeto para ter vários sistemas operacionais (todos Linux) na mesma máquina usando subvolumes btrfs para que o usuário possa inicializar no ambiente com o qual se sente confortável. Como todos eles usam o Kernel Linux, o Kernel único pode ser compilado e usado para todos os sistemas operacionais da máquina? Existe algo específico do sistema operacional e, em caso afirmativo, são apenas os módulos do kernel exigidos pelo sistema operacional ou é mais profundo do que isso?
Minha suposição atual é que o kernel é bastante independente do sistema operacional e que, desde que todos os módulos fossem incluídos para ambos os sistemas operacionais em um kernel compartilhado, ambos poderiam compartilhar o kernel e, portanto, compartilhar atualizações e alterações feitas no kernel.
Responder1
OpenVZfaz exatamente o que você pede.
Ele cria contêineres 100% independentes entre si, mas compartilha o mesmo kernel modificado.
A única desvantagem em relação à virtualização completa é que você não pode instalar nada além do Linux ao usar contêineres.
Responder2
OpenVZ é excelente e fornece uma solução segura, estável e fácil de usar para contêineres. No entanto, também existem Linux Containers que são integrados ao Linux e muito progresso foi feito nas versões recentes do kernel.
Os contêineres Linux têm muitos utilitários de espaço do usuário que você pode usar, incluindo lxc, vzctl (do OpenVZ), libvirt e docker.
Os contêineres Linux permitem executar processos (e usuários, se você usar namespaces de usuário) em namespaces separados. Isso dá a sensação de um sistema separado rodando no mesmo kernel e permite adicionar restrições aos recursos usando cgroups. Os contêineres Linux são extremamente leves em comparação com máquinas virtuais de hardware como Xen, Qemu/KVM ou VMWare.