DrQueue + Blender = Render Farm para mortais

Neste artigo abordarei alguns softwares simples que ajudarão os designers 3D a construir um Render Farm (cluster) com máquinas simples utilizando o software DrQueue. O artigo, passo a passo, é direcionado àqueles que não estão habituados as tarefas de administração de sistemas.

[ Hits: 52.224 ]

Por: em 14/05/2007


Configuração



Com o programa instalado, vamos compartilhar o diretório de instalação para que as máquinas escravas possam utilizar os arquivos binários, logs, arquivos temporários e principalmente, o arquivo a ser renderizado.

Nota: Questões como segurança de acesso e performance do compartilhamento estão fora do escopo deste artigo. Além disso o DrQueue não se importa com a topologia de rede, se os IPs são atribuídos de forma manual ou automática (via DHCP) para os clientes. Apenas devemos deixar o nó master com IP fixo, principalmente se você pretende automatizar o serviço.

Para instalar o NFS no Debian, basta rodar o seguinte comando:

# aptitude install nfs-kernel-server portmap nfs-common

Vamos editar o arquivo /etc/exports e acrescentar ao final do mesmo:

/home/drqueue *(rw)

Feito isso, basta iniciar/reiniciar o compartilhamento com o comando:

# /etc/init.d/nfs-kernel-server start
ou
# exportfs -a

se ele já estiver em execução.

Configurando o serviço e iniciando os serviços de master/client

Falta pouco. A configuração do drqueue é bem tranqüila. Dentro de /home/drqueue/etc existem 3 arquivos que devem ser editados, o master.conf, o slave.conf e o drqman.conf. Estes arquivos são responsáveis por indicar para o drqueue aonde estão as pastas logs, tmp e root do programa.

Segue um exemplo do master.conf, slave.conf e drqman.conf, na ordem.

#master.conf
#
# Lines starting with '#' will not be parsed
# Use the following as examples (without the '#' character)
#

logs=/home/drqueue/logs
tmp=/home/drqueue/tmp
db=/home/drqueue/db
bin=/home/drqueue/bin
etc=/home/drqueue/etc

#slave.conf
#
# Lines starting with '#' will not be parsed
# Use the following as examples (without the '#' character)
#
#

logs=/home/drqueue/logs
tmp=/home/drqueue/tmp
pool=Default

#drqman.conf
#
# This lines must be ignored
#
#

logs=/home/drqueue/logs
tmp=/home/drqueue/tmp
db=/home/drqueue/db

Agora vamos criar alguns scripts pra facilitar a chamada do master, slave e drqman. Os scripts master e drqman devem estar na máquina master e o script slave na máquina escrava, todos com permissão de execução.

Criei os scripts como root e os coloquei dentro da pasta /bin, de modo que qualquer usuário possa, na máquina master, submeter seu Job ao cluster. Lembrando que quem de fato lê e escreve no diretório compartilhado é o usuário drqueue e que este usuário e sua pasta deve existir dentro de cada nó do cluster.

drqueue.master:

#!/bin/bash
export DRQUEUE_ROOT=/home/drqueue
export DRQUEUE_MASTER=localhost
$DRQUEUE_ROOT/bin/master

drqueue.slave:

#!/bin/bash
export DRQUEUE_ROOT=/home/drqueue
export DRQUEUE_MASTER=192.168.1.1
$DRQUEUE_ROOT/bin/slave

drqman:

#!/bin/bash
export DRQUEUE_ROOT=/home/drqueue
export DRQUEUE_MASTER=192.168.1.1
$DRQUEUE_ROOT/bin/drqman

Montando o compartilhamento nos clientes:

Para começar a usufruir dos poderes de um render farm, precisamos antes montar o compartilhamento de diretório nos clientes com o comando:

# mount -t nfs 192.168.1.1:/home/drqueue /home/drqueue

Para facilitar podemos colocar isso dentro do /etc/fstab de modo que este diretório será montado automaticamente a cada boot.

# <file system>             <mount point>   <type>  <options>       <dump>  <pass>
192.168.1.1:/home/drqueue   /home/drqueue     nfs   defaults         0          0

Agora basta chamar o script drqueue.master e drqman na máquina master e chamar o script drqueue.slave na máquina cliente e você terá uma render farm pronta para começar seu primeiro trabalho.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração
   4. Considerações finais
Outros artigos deste autor

Apresentando o monitor de redes EtherApe

Teclas de atalho com Xbindkeys

Leitura recomendada

GNU/Linux, um projeto de sucesso (parte 1)

O que fazer com o BASIC LINUX

Asterisk - O PBX de código aberto

Grade Computacional com OurGrid no Debian Lenny

UNIX - Definição e História

  
Comentários
[1] Comentário enviado por eslijr em 14/05/2007 - 10:29h

Amigão...
excelente artigo....
já tinha mexido com o Drqueue, Openmosix e Blender para fazer um trabalho...
Pra quem quer mexer com animação 3D...essa solução é uma mão na roda pra quem não tem $$$, e quer aproveitar máquinas no ambiente de trabalho...
Bacana o artigo.
Parabéns

[2] Comentário enviado por jalexandre em 14/05/2007 - 11:26h

Obrigado pelo elogio. Espero ter tempo pra soltar mais artigos do genero =D

[3] Comentário enviado por jragomes em 14/05/2007 - 12:26h

muito loca a parada aqui, hein Jack!!! daqui a pouco podemos montar uma DreamWorks ou Pixar... :-)

[4] Comentário enviado por calaff2 em 14/05/2007 - 20:07h

:) muito bom man!! Continue assim!

[5] Comentário enviado por jalexandre em 15/05/2007 - 17:02h

Mas uma vez, obrigado pelo incentivo e comentários.

[ ]'s

[6] Comentário enviado por f4bs em 15/05/2007 - 23:48h

cara, sem palavras...

muito, muito obrigada!

:D

[7] Comentário enviado por morcegodourado em 17/05/2007 - 19:16h

Ai Jack, Muito bom o seu artigo.
Ele já chegou até onde ele deveria chegar, era isso que agente estava precisando, vou testar aqui na nossa rede e qualquer dúvida eu te pergunto.
(De: Leandro da Dinâmica Visual)

[8] Comentário enviado por jalexandre em 23/05/2007 - 18:44h

Obrigado pelos comentários e incentivos.
:)

[9] Comentário enviado por zanak em 12/07/2008 - 19:11h

Po cara legal mais render farm tem que usar 2 ou mais maquinas para renderizar 1 frame soh ao mesmo tempo naum vejo sentido neste render farm ... pra que esse trabalho todo é soh abrir o mesmo job em todas as maquinas e mandar cada uma renderizar um frame.... isso foi para naum ter 4 programas e soh ter um soh ? pois soh assim eu vejo lógica nisso..... Isso me lembra aquele ditado que o computador veio para resolver problemas que naum existiam antes dele mais legal

[10] Comentário enviado por gpr.ppg.br em 17/10/2008 - 23:31h

gostei, li só a teoria, depois vou testar na pratica, pois dai vou poder criar no blender em meu laptop e renderizar numa lanhouse de amigos
;-D

[11] Comentário enviado por removido em 21/01/2009 - 20:42h

uso um imac, vim aqui porque vi um debate sobre renderfarms ... muito boa essa dica. parabéns mesmo, uau.

[12] Comentário enviado por sancler em 21/02/2009 - 15:06h

Boa tarde!!
O link com as dependências está quebradro. Alguem pode postar um novo link ou alguma coisa com as dependências???

No mais, o artigo é digno de elogios.
Att,

[13] Comentário enviado por erasmo em 08/02/2010 - 20:17h

Por gentileza,

estou criando um programa que estará voltado
para o SOFTWARE LIVRE.(sem muitos recursos)

gostaria de saber se alguém pode me ajudar.
preciso criar uma vinheta para o programa,
em contrapartida posso colocar o nome/empresa
no programa. além disso posso entrevistar
em um dos programas.

"Saber e Aprender Cultura"

primeiro bloco: entrevista com alguém das comunidade
de SL.
segundo bloco: cultura/hardware
terceiro bloco: instalação de programas e uso.
quarto bloco: responder e-mail e apresentação de
eventos e revistas.


se tudo correr bem deve ser lançado em março.

obrigado,

erasmo

[14] Comentário enviado por carlosalberto4ti em 03/06/2010 - 21:27h

Acabei de verificar que existe esse aplicativo para render famr também :

http://sourceforge.net/projects/loki-render/

encontrei aqui : http://www.blender.org/forum/viewtopic.php?t=12003

É só um pedido , dá para fazer um artigo desse render também ?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts