estável, recente, solução de imagem de sistema único grátis para linux

1

Comecei a procurar criar um servidor virtual com carga balanceada, para executar principalmente serviços da Web, serviços de gerenciamento de projetos (controle de versão etc.) e aplicativos desse tipo. E eu preciso de uma solução de código aberto (Linux).

Wikipedia tem esta entrada , há projetos estáveis aparentemente muito promissores, mas a maioria está morta há muito tempo. LVS e Kerrighed parecem possíveis, mas não tenho certeza. Eles valem a pena investir (no tempo)?

Qual seria uma boa solução? (embora eu não possa pagar por uma solução comercial (Linux ou outra), eu gostaria de aprender sobre essas alternativas e apreciar comentários para esse fim).

thx

    
por sly 22.01.2010 / 03:58

4 respostas

1

Parece que você está tentando resolver o problema na camada errada. Não conheço nenhuma administração sã do sistema que tente usar a Imagem Única do Sistema para executar um servidor da Web quando houver outros métodos, como reverso proxies que são muito mais simples e, portanto, mais confiáveis.

Como:

por 22.01.2010 / 04:33
2

A menos que eu esteja realmente lendo a pergunta errada, eu diria que para hospedar aplicativos da web, você está fazendo da maneira errada.

Eu sugeriria ter vários nós (virtuais ou físicos) e gerenciar sua configuração com o boneco .

Seus nós podem ser um rack inteiro de servidores 1U, ou um monte de poderosos servidores multiprocessadores 3U executando KVM e, em seguida, um sistema operacional de sua escolha como convidados de virtualização.

Com 4 servidores, você pode configurá-los da seguinte maneira:

  • Servidor 1: balanceador de carga + nó HTTP (executando o Varnish e o Apache)
  • Servidor 2: balanceador de carga + nó HTTP (executando o Varnish e o Apache)
  • Servidor 3: Nó HTTP + DB Master (executando Apache e MySQL)
  • Servidor 4: nó HTTP + escravo do banco de dados (executando Apache e MySQL)

Seria vantajoso ter um quinto servidor, que executa serviços, como nagios, munin, tftpd para um ambiente de inicialização PXE, um pequeno servidor HTTP para arquivos kickstart / preseed, um DHCPd, talvez consoles seriais via Rocketport ou semelhante.

A enorme vantagem de usar o Puppet para implantar seus próprios sistemas, em vez de ter uma única imagem, é que os recursos são efetivamente auto-documentados. É muito mais claro e menos caixa-preta do que apenas ter uma imagem que você coloca nos servidores. Além disso, torna as atualizações e alterações na imagem muito mais simples.

    
por 22.01.2010 / 09:37
0

Não sei se estou respondendo ao que você está realmente perguntando, mas se você está procurando uma maneira de usar uma VM e espelhá-la, é possível usar qualquer uma das ferramentas de virtualização gratuitas das quais estou ciente (VMware Server, ESXi, kvm, etc)

  • crie sua VM com tudo que você precisa nela
  • copie a VM
  • faça alterações na cópia (endereço IP e nome do host)
  • inicie as duas VMs
  • insira o balanceador de carga (hardware ou software, não importa)
  • .. no 6º passo eu posso pensar em:)
por 22.01.2010 / 04:12
0

Por mais empolgantes que sejam os sons SSI, é improvável que eles tenham um ótimo desempenho.

Como seu principal alvo são os aplicativos da Web, você pode (deve!) usar as práticas recomendadas atuais. Normalmente, eles começam por:

  • um balanceador de carga em cache como front-end (squid, verniz, nginx)
  • vários servidores HTTP para aplicativos da web (normalmente, apache, podem ser nginx + FastCGI, o que for)
  • banco de dados

se bem feito, seu primeiro gargalo seria o banco de dados, neste ponto, você deveria:

  • adicione o cache aos seus aplicativos da web para reduzir os hits do banco de dados ao mínimo. (frameworks modernos (RoR, Django), incluem ótimo suporte para memcached)
  • consuma algum tipo de emprego do banco de dados para aplicativos mais especializados. os primeiros candidatos são filas de tarefas (para rabbitMQ ou similar) e armazenamentos de chave / valor (para tokyo cabinet, resis, mongoDB, muitos deles)
  • distribua o banco de dados. se houver muitas leituras / poucas gravações, tente a replicação master / slave (fácil no MySQL), mas se esse for o seu caso, o memcached já deve ter absorvido a maior parte da carga. Tente também fragmentar.

Se você já superou isso (você é o FaceBook?), você terá que repensar toda a sua estrutura, à la Google (onde eles fazem quase tudo 'off the line' com o MapReduce).

    
por 22.01.2010 / 18:14