Drqueue
Un article de Centre Ressources du Labomedia.
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
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
- la doc du site drqueue
- thanosk.net tuto qui utilise Samba
- helmer.sfe.se un tuto en pdf
- wiki Blender 3D
- Linux Magazine Linux magazine de Février 2008 mais attention des erreurs dans la rédaction
Contraintes et problèmes
Ne sélectionner pas "Save Buffers" in Output
MovieJoin monte parfois la video de la fin vers le début !

