Como configurar o cluster de desktop Linux do "homem pobre"?

12

Existem vários pequenos dispositivos Linux / Android no mercado com processador ARM de 1 GHz, 512 MByte de RAM e cca. Armazenamento de 4 Gbyte por US $ 35 a US $ 40. Se eu comprar 5 peças, são apenas cerca de US $ 200.

Digamos que temos de 5 a 10 unidades, e resolvemos coisas básicas, por exemplo, eles executam algum tipo de distribuição Linux não muito raro (Debian, por exemplo), temos acesso root e eles estão conectados na rede local, com IP. Então, tudo está pronto para fazer um cluster (eu acho).

Temos um computador ou notebook (processador de 2 GHz x86, 1-2 GByte de RAM, vários GBytes de espaço em HDD / SSD), que também executa uma distribuição Linux padrão. Possui teclado, mouse, monitor, queremos usá-lo como o "frontend" do cluster.

Portanto, a pergunta é: qual é a maneira mais fácil de utilizar a potência de dois computadores pequenos com um computador de mesa?

Os programas de área de trabalho não são projetados para funcionar nesse ambiente; portanto, não quero configurar um cluster real, o projeto está prestes a enviar alguns trabalhos do computador desktop / netbook e compartilhá-lo da melhor maneira possível entre os pequenos .

Digamos, eu deveria iniciar o navegador em um computador pequeno, usando o X11, ele não consome a memória da minha máquina desktop. Se houver muitas páginas abertas, posso iniciar outra em outra máquina pequena.

Também posso iniciar meu editor de texto em um computador pequeno, basta compartilhar a pasta em que estou trabalhando. Ele tem um pequeno problema: estou usando o Geany e inicio o compilador pressionando F8; portanto, a pequena máquina deve iniciar o compilador na máquina de desktop. Eu não me importo, se eu tiver que escrever um pequeno script para ele.

Qual é o seu conselho, ele voaria?

ern0
fonte

Respostas:

5

Uma abordagem que funciona bastante bem para mim ...

  • Conecte um desses monitores obsoletos que você possui "apenas por precaução" a cada um dos computadores pequenos ( RaspberryPi , etc.).

  • Execute um sistema operacional minúsculo, rápido e baseado em RAM, como o Puppy Linux (veja como funciona) em todos os computadores.

  • Configurar SSH sem senha (distribuição de senha pré-compartilhada) entre todos os computadores.

  • Instale o software KVM como o Synergy em todos os computadores, executando o "servidor" no computador com o teclado e o mouse. Os outros serão "clientes". Opcionalmente, o Synergy também pode ser executado através do SSH para melhor segurança.

  • Use o fusível SSHFS (preferencial) ou NFS para montar dispositivos de armazenamento na inicialização.

  • Você também pode configurar a inicialização através da rede (PXE, etc.).

Agora você tem seu próprio console de vários monitores!

Com o aumento dramático no tamanho da área de trabalho visível, 2,5 a 7 GB de RAM e 6 a 11 "núcleos", você pode executar vários navegadores (achei o Chromium o mais fácil em recursos) e, assim, consegui ver muitas páginas ao procurar a sintaxe dos comandos e fazer outras pesquisas enquanto programa ou escreve.

DocSalvager
fonte
3

Estou um pouco confuso com o que exatamente você deseja que seu cluster faça. Parece um pouco como tudo o que você deseja é iniciar programas e executá-los em caixas diferentes. Se for esse o caso, SSH / X-forwarding / NFS deve ajudá-lo.

IMHO isso realmente não tem nada a ver com clustering, é simplesmente controlar remotamente máquinas diferentes. Eu realmente tenho que perguntar uma coisa. Por que todo esse problema acasala? Atualmente, por US $ 400, você pode montar um computador para PC, com bastante memória para executar aplicativos de desktop :)

JustDanyul
fonte
1

Parece que você está procurando algo como o cluster Beowulf .

Este é um cluster desenvolvido para computação paralela em várias "caixas".

Nils
fonte
1
tente ler a parte "o que um cluster de beowulf não pode fazer" no link que você postou. de ler o seu post, ele não me parece que Beowulf é o que ele está procurando :)
JustDanyul