Qual é a configuração perfeita para um pequeno servidor virtual Linux?

6

Eu tenho meu próprio servidor de e-mail e ele atende a algumas dezenas de usuários. Preciso substituí-lo agora e quero que a substituição seja uma imagem de servidor virtual em execução em um hypervisor.

Meus planos para o novo sistema de servidores incluem o seguinte:

  • Execute apenas software gratuito e de código aberto.

  • Execute pelo menos três imagens virtuais: servidor de email, servidor HTTP e servidor SSH. Eu pretendo executar um sistema de e-mail da web (como SquirrelMail ).

  • O Hypervisor OS será Debian Stable (que, no momento, é Debian 5.0 "lenny"). Os sistemas operacionais convidados também estarão no Debian Stable.

  • RAID de software usando os dois discos rígidos em uma configuração de espelhamento (RAID 1).

Eu preciso colocar o hipervisor e a imagem de convidado de e-mail em funcionamento o mais rápido possível, porque estou preocupado com o fato de meu servidor antigo estar prestes a ter uma falha de hardware. (Ele está se reiniciando cerca de três vezes por dia!)

Esta é minha oportunidade de ouro para acertar as coisas para o futuro. Qual é a configuração perfeita? Como devo configurar meu sistema?

Minhas principais perguntas:

  • Devo usar o KVM ? Eu estava planejando usar o Xen , mas tenho visto, em outras questões do ServerFault, algumas pessoas recomendando o KVM como a melhor escolha para o futuro. Eu preciso de algo estável e confiável agora, e eu preciso fazê-lo funcionar rapidamente ... se o Xen é mais estável ou se o KVM é complicado, eu posso ir com o Xen por enquanto. (O Debian não irá em breve descartar o suporte para o Xen!)

  • Devo usar o LVM com meu hipervisor, ou deixar isso de lado? Eu costumo gostar que as coisas sejam o mais simples possível, e o LVM parece que adicionaria outra camada inteira de complexidade; mas, por outro lado, acho que está estável e maduro até agora, e talvez a flexibilidade seja valiosa se as necessidades das imagens do meu servidor virtual mudarem.

  • Existe alguma ferramenta GUI ou baseada na web que eu possa usar para administrar o KVM / Xen? Meu servidor de e-mail atual nem tem o X11; Eu só administro via SSH.

  • Qualquer outro conselho ou dicas serão aceitos com gratidão.

Caso você queira saber sobre meu hardware, aqui estão os princípios básicos importantes:

  • chip AMD BE-2300 (dual-core; suporta instruções de virtualização AMD-V)

  • 4 GB de RAM

  • dois discos rígidos da Seagate idênticos de 250 GB

por steveha 08.11.2009 / 08:16

6 respostas

2

Meu servidor antigo finalmente morreu. Eu tive que abrir o novo servidor com pressa.

Então eu prossegui com meu Plano A original e usei o Xen.

Aqui está minha configuração. Eu não sei se é "perfeito", mas isso é o que eu descobri:

O servidor tem dois discos rígidos idênticos, particionados da seguinte forma:

  • partição 1: 0,5 GB / boot
  • partição 2: 4 GB RAID de software Linux (será / dev / md0)
  • partição 3: RAID de software Linux de 232 GB (será / dev / md1)
  • partição 5: 2 GB / rescue

O dispositivo / dev / md1 é, por sua vez, formatado como uma partição Linux LVM.

O GRUB está instalado em / boot, que é uma partição ext3 simples.

O sistema Dom0 está instalado em / dev / md0, que também é uma partição ext3 simples.

Um sistema de "resgate" é instalado na partição 5, também uma partição ext3 simples. Este é um Debian inicializável completo, e na verdade foi a primeira coisa que instalei; Eu instalei o resto do disco desse sistema.

Ambos os discos têm o GRUB instalado e o sistema de "resgate". Deve ser possível, em uma emergência, inicializar algum tipo de sistema Linux a partir de um dos dois discos, para corrigir um problema e fazer o servidor funcionar novamente.

Primeiro, tentei usar as ferramentas "libvirt" para o Xen, como "virt-manager". Com base na minha experiência, devo dizer que o "libvirt" é meio cozido no Debian 5.0 Lenny, e eu não o recomendo.

Eu então recorri às ferramentas mais antigas, o material "xen-tools"; em particular, "xen-create-image". Como todos os meus usuários têm uma configuração do Maildir (um arquivo por cada email) em vez de uma configuração do mbox (um arquivo por pasta de email), tentei usar o ReiserFS. xen-create-image criou a imagem muito bem, mas não inicializaria. Eu decidi usar o XFS, e isso funcionou.

(Eu não estou realmente certo de que o XFS é muito melhor que o ext3 para uma configuração de muitos pequenos arquivos, mas como eu disse, eu fiz tudo isso com pressa depois que meu servidor antigo morreu.)

As duas principais razões pelas quais decidi usar o LVM para minhas imagens Xen:

  • Desempenho. Eu encontrei várias páginas da web que diziam que o Xen tem melhor desempenho quando suas imagens estão no LVM, em comparação com imagens em arquivos em um sistema de arquivos.

  • Facilidade de redimensionamento. Estou iniciando minhas máquinas virtuais com pequenas imagens e posso desenvolvê-las se precisar.

O BIOS no meu novo servidor tem um recurso onde você pode pressionar F8 durante a inicialização e, em seguida, escolher um dispositivo de inicialização. Eu usei isso para testar se posso inicializar com o GRUB a partir de um dos dois discos rígidos.

Meu servidor antigo não tinha o X11 instalado. Decidi instalar uma área de trabalho GNOME no novo servidor, esperando poder usar ferramentas gráficas legais como o virt-manager. Descobri que 4 GB não são muito grandes para uma instalação moderna do GNOME; tudo se encaixa, mas não há muito espaço livre. Se eu estivesse começando de novo, daria 10 GB para o sistema operacional Dom0 em / dev / md0. Se eu realmente for triturado por espaço, eu provavelmente posso mover o / usr / bin para um novo volume feito sob o LVM.

O Dom0 é instalado em um volume RAID, mas não em um LVM. Eu li alguns comentários sobre alguns kernels tendo dificuldade de inicializar a partir do LVM, então eu simplesmente mantive as coisas simples.

Eu realmente recomendo colocar um pequeno sistema de "resgate" no final do seu disco rígido. Então, nem monte esse sistema em seu sistema principal, para que processos frenéticos (como rm -rf / ) não consigam derrotá-lo. Existem muitos problemas que podem ser facilmente resolvidos iniciando um sistema de trabalho, montando o volume com o sistema danificado e, em seguida, consertando algo.

Obrigado a todos que me deram uma resposta.

    
por 16.11.2009 / 22:11
12

Honestamente, não vejo qual benefício você obteria usando qualquer tecnologia de virtualização.

  • Você ainda está usando um servidor, não há redução no uso de hardware.
  • Como você tem apenas esse servidor, o possível benefício de poder migrar máquinas virtuais (talvez até durante a execução) não se aplica.
  • A quantidade de trabalho necessária para manter a virt. servidores em execução, na verdade, aumenta, como você tem que fazer a administração base para o hipervisor mais todas as imagens, sem ter máquinas suficientes para ganhar muito, automatizando tarefas comuns. Além disso, você terá o supervisor como uma camada adicional que requer sua atenção.
  • Enquanto isso, o benefício de ter serviços de web e correio em máquinas diferentes é muito pequeno com uma base de usuários tão pequena, e você ainda precisará da mesma quantidade de cuidado para mantê-los sãos e salvos, mesmo quando separados logicamente.

Na minha opinião, a virtualização é uma técnica legal que não se encaixa em todos os lugares, e ir virtual só porque todo mundo faz não é uma boa idéia (novamente, na minha opinião).

    
por 08.11.2009 / 09:01
5

Como você está executando o mesmo sistema operacional, Linux, nas VMs host e guest, sugiro que escolha entre User Modo Linux ou OpenVZ .

A UML começou a vida como um kernel Linux modificado que pode ser inicializado como um processo de modo de usuário. Ele tem sido amplamente usado em empresas de hospedagem e por pessoas que precisam emular um grande número de VMs em um único servidor. O OpenVZ vem de um ambiente mais empresarial e é mais modelado na conteinerização do Solaris. A ideia é que você possa particionar seu sistema e instalar o software em um contêiner que não afete o resto do sistema. Para remover o software, basta excluir o contêiner.

Dê uma olhada nos dois sites antes de decidir. Eu acho que o OpenVZ parece ser um ajuste melhor para você, mas depende muito dos seus planos futuros, ou seja, é melhor escolher o que você pode usar para trabalhar no futuro.

Tanto a UML quanto o OpenVZ são bem diferentes do XEN e do KVM. Em suma, XEN e KVM são hipervisores de virtualização completos que permitem a execução de qualquer sistema operacional suportado em hardware x86, mas UML e OpenVZ são uma extensão do conceito de uma cadeia chroot, que permite o isolamento de diferentes processos Linux. Se você planeja ficar apenas com o Linux, é melhor evitar as complexidades do XEN e do KVM.

Portanto, o OpenVZ e a UML estendem a funcionalidade de um sistema Linux, mas o XEN ou o KVM permitem transformá-lo em um sistema não-Linux que executa o MS-Windows, FreeBSD, OpenSolaris e outros.

Se você quer rodar o XEN, então você deve rodar uma distro que suporte isso como o OpenSUSE 11.

    
por 08.11.2009 / 17:21
1

Eu fiz algo semelhante, exceto que usei o Centos.

Os outros comentários sobre invasores que reutilizam senhas para obter acesso a seus outros hosts são algo para se preocupar. Minha resposta: use somente chaves ssh e certifique-se de não permitir o encaminhamento de chaves ssh do seu cliente ssh. (isso permitiria que um usuário root hostil em um host com o qual você efetuasse login reutilize suas chaves de sessão para anexar a outro host como você) Além disso, se você tiver senhas root diferentes por caixa, deve pensar em configurar seu prompt cli ou esquema de cores por host para lembrá-lo de qual host você está, para que você não digite acidentalmente a senha de root de um host diferente.

4Gb é uma boa quantia para o número de hosts que você está falando, mas é tão fácil configurar hosts adicionais para usos diversos que eu aposto que você vai aumentar esse limite em pouco tempo.

    
por 09.11.2009 / 16:38
1

Tivemos uma experiência positiva com o KVM gerenciado por virt - manager , conectando-se a qemu sobre ssh . Tem sido muito fácil configurar, configurar, modificar, destruir e reproduzir todos os sistemas operacionais convidados. Essa opção também funciona com o Xen, portanto, você pode usar os mesmos comandos com o hypervisor.

    
por 17.11.2009 / 01:08
0

Eu costumava fazer o kvm sozinho com o debian stable, mas depois de um tempo mudei para o proxmox-ve (web management). Eu aprendi uma tonelada fazendo isso sozinho, mas eu tenho preguiça. A coisa boa sobre proxmox-ve é que ele permite que você use ambos kvm e openvz ao mesmo tempo com vlans 802.1q e similares (vlan in kvm talk é diferente de 802.1q infelizmente). A maior diferença entre os dois (openvz e kvm) é que como o kvm usa seus próprios kernels, ele tem um desempenho pior. Além disso, você precisa ter hardware virt para o kvm funcionar.

    
por 19.11.2009 / 20:10