Existe alguma “melhor prática” para servidores compartilhados?

3

Atualmente, estou no comando de dois servidores realmente grandes (128 GB Ram e 32 de Xeon de 8 códigos cada) em minha universidade executando o Ubuntu 12.04. Os alunos devem usá-los para análise de big data. Queremos que todos os usuários possam usar todos os recursos, no entanto, as coisas estão ficando confusas. Os usuários podem instalar o que quiserem em seus diretórios pessoais (por exemplo, Tomcat), mas eles estão começando a reclamar sobre problemas como o uso de portas por outras pessoas.

Alguém sugeriu que fizéssemos algum tipo de virtualização (por exemplo, LXC) e fornecesse aos usuários acesso a contêineres. Outros dizem que fazemos algo como a AWS e fazemos com que os usuários criem os recursos necessários para o trabalho deles.

Alguma sugestão?

    
por Ansd 09.03.2014 / 22:44

4 respostas

4

A virtualização é uma ótima maneira de dar a todos o seu próprio "sandbox". O LXC definitivamente é uma opção, mas você também pode usar o VMWare ESXi ou o Citrix XenServer. Ambos têm variações comerciais, mas também possuem licenças gratuitas de servidor único.

O motivo pelo qual o ESXi ou o XenServer pode funcionar melhor é a facilidade de poder obter instantâneos ou sistemas de clonagem. Então, se alguém quiser tentar algo, você pode tirar uma foto instantânea, deixá-lo instalar o que quer que seja e (após quebrar tudo), reverter.

    
por 09.03.2014 / 22:49
3

Se você optar pela virtualização, aconselho-o a manter o KVM e o virt-manager para facilitar a criação / gerenciamento de suas VMs. O KVM é um cidadão de primeira classe no Ubuntu, o desempenho é ótimo (os benchmarks phoronix mostram o desempenho do KVM melhor que o Xen no Ubuntu 12.04), o suporte é ótimo, ele simplesmente funciona e é muito confiável.

O OpenStack é um excelente software, mas adiciona muitas complexidades com as quais você pode não querer lidar agora.

Se você seguir esse caminho, algumas dicas funcionaram para mim: 1. Use os dispositivos virtio para rede e disco em suas VMs; 2. Planeje sua rede bem, eu diria manter o host como gateway, servidor DHCP e firewall para todas as VMs, use o Shorewall para lidar com a tarefa; 3. Construa e configure uma VM base com o servidor Ubuntu usando o kernel virtual (apt-get install linux-virtual) e mantenha-o intacto. Toda vez que você precisar configurar uma nova VM para um aluno, tudo o que você precisa fazer é clonar essa instalação base, alterar / etc / hostname e / etc / hosts para dar à VM um nome único e pronto.

Sugiro que você dê uma rápida olhada no KVM e virt-manager antes de embarcar em uma nova instalação completa do VMWare, XenServer ou qualquer outra que leve horas de trabalho. Você pode testar o virt-manager KVM + em poucos minutos mudando quase nada em sua configuração atual do ubuntu, é a maneira mais fácil de testar a virtualização e se você não gostar disso você ainda terá seus servidores rodando como eles sempre fizeram .

    
por 10.03.2014 / 05:35
1

O LXC ou Docker seria um bom ponto de partida. Ao contrário do OpenStack, VMware ou Xen / KVM, você não precisará construir uma enorme quantidade de infraestrutura em torno dele, ou seja, não é um projeto gigantesco.

E ele atingirá o objetivo de ter uma pilha TCP / IP separada por usuário, para que não haja conflito de porta.

Você pode modelar máquinas Docker, então alguns dos comentários em outras respostas são falsos.

A AWS também é uma mensagem, mas há implicações de custo e você terá dois bits redundantes de hardware para que eu cubra isso primeiro.

    
por 10.03.2014 / 07:43
1

Parece que você pode querer considerar dar uma olhada no Openstack. Eu sei que há uma implementação do Ubuntu no Ubuntu | Openstack

Eu não sei muito sobre a versão do Ubuntu, mas certamente a oferta do RHEL deve permitir que os alunos criem suas próprias instâncias de aplicativos que eles precisam, todos presos com facilidade e com seu uso de recursos controlado por cgroups, etc. Ele também permitirá que os alunos interajam com o serviço por meio de um navegador e os forçará a escolher os serviços de um conjunto predeterminado de ofertas, em vez de permitir que eles criem suas próprias versões.

Espero que isso ajude, desenhou

    
por 10.03.2014 / 01:42