Part 1: Setting up the farm

This is how to build a small renderfarm with Linux and Blender Netrender. These instructions will (hopefully!) work with standard PC’s and recent versions of Blender and Ubuntu, Debian and Linux Mint. I assume that you are familiar with Linux, CLI, Blender and computer networks and know what a renderfarm is.

  1. Start with the hardware. You will need a bunch of computers, each of them capable of doing the type of render jobs you want them to do. This means that if you’re making real simple cartoon-style animations, then some old PC’s might be OK, but if you’re making complicated scenes with zillions of polygons and lots of effects, you might need nodes with eight-core processors and at least 16 GB of memory.
    I guess a four-core processor and 4–8 GB of RAM will take most people a long way.
    If you know how to build computers, you can keep the hardware cost real low, by taking chassises, power supply units, hard drives and fans from scrapped old PC’s, and then buying the cheapest motherboard that will work with the processor and memory you want. Make sure that the motherboard or processor has integrated graphics circuits, so you won’t have to buy a separate graphics card (unless you plan to do GPU rendering, of course). Instead of a hard drive, you can use a 16 GB USB memory stick as a system disk for Linux (smaller sticks can work too, but can be trickier to install on). Choose a USB 3.0 stick, if the motherboard supports that. If you like to gather six of your nodes in one furniture-looking “rack”, and you’re handy with a drill and a saw, you can build a “Helmer farm”.
    You will also need a router and perhaps one or more switches, if your cluster will have more nodes than your router has ports for. And of course ethernet cables for all the computers.
  2. Connect all of the computers (including your workstation) to your router, and the router to the Internet. Set up your router according to the instructions in its manual. Make sure that your workstation will get a static IP address, note the number.
  3. Download an installation disk image for your favorite Ubuntu/Debian/Mint distro (I can recommend Linux Mint 15, which is the fastest one for network rendering I’ve tried this far). Burn the iso image to a CD (if your nodes have a CD reader) or to a USB stick (with e.g. the Ubuntu program usb-creator-gtk).
  4. Install the system to your first slave computer using the CD or USB stick (just follow the instructions from the installation program). Reboot the computer and log in.
  5. Install Blender by opening up a terminal and type:
    sudo apt-get install blender
  6. Now edit the autostart file “rc.local”, as superuser, e.g. in the text editor Gedit by typing:
    sudo gedit /etc/rc.local
    Before the line “exit 0” in rc.local, add a new line with the text:
    /usr/bin/blender -b /home/username/blender/slave.blend --addons netrender -a &
    Save and quit Gedit. (Replace, of course, the word “username” with your user name.) This will start the network renderer each time the computer is started, without the need to log in.
  7. Now start Blender. Choose the menu “File->User Preferences”. Choose “Addons”, then “Render”. Activate “Network Render”, click the button “Save as default” and close the preferences window. In the Engine menu (that probably says “Blender Render”) choose “Network Render”. In the Properties window, choose the render panel. Under the tab “Network settings”, click the button “Slave”. In the field “Address”, type the IP number of your workstation. Create the directory “blender” in your home directory and save the Blender file there as “slave.blend”. Reboot the computer.
  8. Repeat instructions 4–6 on the rest of the slave computers. If you know how to do it, you can, of course, clone the hard drives instead (just remember to give them all a unique name by editing the files “/etc/hostname” and “/etc/hosts”).
  9. Go back to your workstation, and start Blender. Choose the menu “File->User Preferences”. Choose “Addons”, then “Render”. Activate “Network Render”, click the button “Save as default” and close the preferences window. In the Engine menu, choose “Network Render”. In the Properties window, choose the render panel. Under the tab “Network settings”, click the button “Master ”. In the field “Address”, type “localhost”. Create the directory “blender” in your home directory and save the Blender file there as “master.blend”.
  10. Now you can start your farm by clicking the “Start service” button, or by opening a terminal and typing:
    blender -b ~/blender/master.blend --addons netrender -a &
  11. To send a job to the farm, open the Blender file that you want to render. Make sure the Engine menu is set to “Blender Render”, then choose all the settings you want to use, like frame numbers, shadings, output file names, etc. Then save the file and switch the engine to “Network render”. Click “Client” in the render panel. Type “localhost” in the address field and click “Animation on network” to send te job to the farm. Click “Open master Monitor” to open a monitor window in your web browser (or type localhost:8000 in the web browser’s address field).

Part 2: Remote control

Text is available under the Creative Commons Attribution-ShareAlike License.

Part 1: Setting up the farm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s