Drqueue

Un article de Centre Ressources du Labomedia.

Jump to: navigation, search

Ce tuto décrit l'installation d'une ferme de rendu utilisant drqueue. Une ferme de rendu permet de faire les calculs sur un réseau d'ordinateur.

Dans ce tuto, les PC sont sous Ubuntu 8.04 Hardy.

IP du PC maître 192.168.1.7

Nom du PC maître PC4

IP du PC esclave 192.168.1.5

Nom du PC esclave PC5


Sommaire

Utilisateur

Créer un utilisateur "drq" avec le même UID sur tous les postes (pour moi ce sera 1005), avec les droits root. Si vous voulez utiliser un autre "utilisateur" que "drq", changer "drq" par votre "utilisateur" dans toute la suite du tuto.

Installation sur le maître

Installer le paquet drqueue_0.64.3-0hardy1~UFS_i386.deb ou drqueue_0.64.3-0hardy1~UFS_amd64.deb

Dr Queue sera installé dans /urs/share/drqueue. Ce dossier sera partagé avec tous les PC avec NFS. Seul les esclaves travaillent! il y aura donc un esclave sur le maître. Dr Queue ne sera installé que sur le maître, les esclaves trouveront leur logiciel dans le dossier partagé /usr/share/drqueue.

Le fichier .blend sera dans /home/drq/render qui sera lui aussi partagé avec le même chemin sur chaque PC: chaque esclave aura donc un dossier /home/drq/render qui sera en fait celui du maître.

Pour que les esclaves puissent écrire dans les "logs" et excécuter dans le dossier partagé, dans un terminal:

sudo chown -R drq:drq /usr/share/drqueue

sudo chmod 744 -R /usr/share/drqueue/logs # 777 si cela ne veut vraiment pas marcher sudo chmod 766 -R /usr/share/drqueue/tmp

sudo chmod 744 -R /usr/share/drqueue/db

mkdir /home/drq/render

mkdir /home/drq/tmp

chmod 777 /home/drq/render

Dans ces 3 fichiers,changez ## par le nom du PC maître

sudo gedit /usr/bin/drqueue

sudo gedit /usr/bin/drqman

sudo gedit /usr/share/drqueue/bin/sendjob


NFS

ALT+F2 saisir shares-admin

Ajouter : /usr/share/drqueue

Partager avec NFS.

Hotes autorisés, Ajouter, Saisissez le nom du réseau,

Réseau 192.168.1.0 Masque de sous réseau 255.255.255.0 Validez


Ajouter : /home/drq/render

Partager avec NFS.

Hotes autorisés, Ajouter, Saisissez le nom du réseau,

Réseau 192.168.1.0 Masque de sous réseau 255.255.255.0 Validez


Firestarter

Politique, Politique du trafic entrant, clic dans la case pour pouvoir ajouter une règle: autorisez les esclaves; pour moi, j'autorise 192.168.1.5


Redémarrer le maître


Lancement du maître

Pour lancer le maître, dans un terminal drqueue; ou pour le lancer automatiquement au démarrage de votre session drq,

Allez à Système, Préférences, Sessions, Programme au démarrage, Ajouter,

Nom: drqueue

Commande: drqueue


Pour lancer l'interface graphique, dans un terminal: drqman

Ou créer un lanceur sur le bureau, clic droit sur le bureu, Créer un lanceur,

Type: Application Nom: Drqman Command: drqman

Configuration des esclaves

Vous avez créer un utilisateur 'drq' avec l' UID 1005, avec les droits administrateur

drqueue n'est pas installé sur les esclaves !!

Installation des dépendances, création des dossiers, gestion des droits

Reamrques: Vous devez avoir la même version de blender sur tous les postes. Si vous avez migrer sur blender2.48a avec un .deb, installez le sur vos esclaves

sudo apt-get install blender portmap nfs-common tcsh

sudo mkdir /usr/share/drqueue

sudo chown -R drq:drq /usr/share/drqueue

sudo chmod 777 -R /usr/share/drqueue

mkdir /home/drq/render

NFS

sudo gedit /etc/fstab

ajouter ces 2 lignes à la fin, remplacer l'adresse IP par l'adresse de votre maître

192.168.1.7:/usr/share/drqueue /usr/share/drqueue nfs defaults 0 0

192.168.1.7:/home/drq/render /home/drq/render nfs defaults 0 0


puis pour monter ces dossiers, sudo mount -a

Avec 'defaults' : Le PC maître et le réseau doivent être en service quand l'esclave démarre et s'arrête ! Avantage : rien à faire que démarrer et se logger ! NFS ajoute une icone sur votre bureau : 'render', et vous pouvez trouver les fichiers du maître dans /usr/share/drqueue

Script qui lancera l'esclave à l'ouverture de sessions

Coller le code en italique dans

sudo gedit /usr/bin/drqueue_slave

#!/bin/bash

export DRQUEUE_ROOT=/usr/share/drqueue

export DRQUEUE_TMP=/usr/share/drqueue/tmp

export DRQUEUE_MASTER=192.168.1.7 # change for your IP_MASTER

/usr/share/drqueue/bin/slave 1>/dev/null 2>&1 &


sudo chmod a+x /usr/bin/drqueue_slave

Pour lancer l'esclave, dans un terminal drqueue_slave

Pour le lancer automatiquement à la connection de votre session drq,

Allez à Système, Préférences, Sessions, Programme au démarrage, Ajouter, Nom: drqueue_slave,Commande: drqueue_slave

Préparatifs nécessaires

Votre fichier .blend et les dossiers de bake doivent être dans /home/drq/render

Bien sûr le nom de fichier de votre .blend ne doit pas avoir d'espace, le nom est utilisé pour créer la commande qui lance blender.

Utilisation de l'interface grahique

Clic droit dans la fenêtre, New Job, renseignez les zones de saisie.

Des scripts

Utilisation du script sendjob.blender_new.py dans Blender

Copier le script sendjob.blender_new.py dans le dossier ~/render, lancer blender en console blender -w, ouvrez une fenêtre Text Editor, Text, Open, ouvrir sendjob.blender_new.py qui va être dans votre dossier render.

Ctrl+W pour enregister votre .blend, Alt+A dans la fenêtre Text Editor, pour lancer votre rendu sur le réseau.

Installation de nautilus-scripts

Les scripts doivent être copier dans /home/drq/.gnome2/nautilus-scripts. Le nom de fichier doit commencer par une majuscule et être excécutable!

Vous aurez besoin des dépendances suivantes :

sudo apt-get install transcode zenity mpgtx file

Concaténer les bouts de video

Copier le script MovieJoin-0.90 dans /home/drq/.gnome2/nautilus-scripts

Votre fichier .blend doit être dans /home/drq/render

Dans Blender, F10, définissez le dossier de rendu avec //render_parts/video_ , choisissez le format AVI JPEG

Ensuite allez dans le dossier render_parts, Ctrl+A pour sélectionner tout, clic droit, Scipts, MovieJoin, saisissez un nom, votre video est en un seul fichier avi.

Interface intégrée à Blender

Il faut compiler le module python drqueue.

Mais il y a des bugs dans les paquets python2.5 et python2.5-dev, n'installez rien !

et n'utilisez pas :

blender_bucket-0.90.py

interface_drqueue-0.90.py

CompositeImage-0.10

Bibliographie

Contraintes et problèmes

Ne sélectionner pas "Save Buffers" in Output

MovieJoin monte parfois la video de la fin vers le début !