Secret Recipe for Raspberry Pi Server Cluster Revealed

You asked and we listened.

We received tons of positive feedback on this week’s Raspberry Pi server cluster blog post, and requests from fans for a guide on how to build one themselves.

So, we asked Chef Adam – aka high-performance computing systems engineer Adam DeConinck – if he’d be willing to give fans his recipe for making the internet’s most popular pi. He was more than happy to comply, secret sauces and ingredients included:

Physical setup:

  1. Raspberry Pi is powered through a micro-USB port, so use a USB hub to distribute power to all five computers. Any powered hub should work as long as it can provide at least five volts and 700 milliamperes to each Pi.
  2. You’ll need a basic eight-port Ethernet switch for networking.
  3. Adam’s rack was custom-built. He had a rough idea of the design when he went to the Lego store, but it evolved as he went along with it; feel free to customize your rack, it just needs to supports the cluster.
  4. Use one of the Pis as a head node, like in a larger HPC cluster, which provides a shared file system, cluster scheduler and other services. The other four Pis will act as compute nodes, used only for running computation jobs.

Operating system: You can use the most recent version of Raspbian Linux, a variant of Debian which has been designed specifically for the Raspberry Pi.  Find instructions for how to install the OS on the servers here.

Software configuration: Adam put this system together as a platform for playing with HPC clusters and system administration, so part of the project was automating the process of setting up all the system software. An open-source tool called Ansible was utilized for this part.

All of Adam’s Ansible playbooks for setting up the cluster can be found on GitHub at There are also some more detailed technical notes on the OS installation and networking setup in the README file at that link.

Bon appétit! Let us know in the comments if you plan on cooking up your own cluster.

Don't forget an 8-port Ethernet switch.
Don’t forget an 8-port Ethernet switch.

Similar Stories

  • Pooter –

    Really? Stack what 5 of them in a cluster and you get combined processing power that of a Nintendo 64? Doesnt seem practical. I waited for 5 months to get my Pi then found out how stupid slow it was and so i couldnt get rid of it fast enough. There are so many faster “USB Stick Computers” out there that are more useful then the Pi junk. It was a great concept but then the hardware is just way to inferior to do anything with it. 

  • Lawrence Jones

    If that’s your opinion then I think you’ve probably missed the point. The raspberry pi is useful because of it’s gpios and ability to communicate with custom hardware. It’s power lies in the bread and butter electronic capabilities, not in higher level software.

  • Marvin Heep

    Duuuuude… it’s not meant to be used in any “productive” way, it doesn’t need to have computing power and that’s okay. But it’s still a computer and it behaves like one so it’s still a cheap way to build up a HPC-like setup to see what it behaves like with no need to buy real HPC components for thousands of €.

  • Cameron Handoe

    Pooter, the cluster is supposed to be a tech demo/ fun geek toy.

    The Pi isn’t designed for massive tasks but rather as a CHEAP as possible tool to write some lines of code on and that’s really it. It is also supposed to be used as a tech demo.

    Thanks Nvidia for this, I think it’s really cool and it would be useful to set up a small cluster like this in practice and understanding for real clusters

  • John Carlin

    Thanks for posting this looking to see what it would cost to play with this..

  • mintslice

    Putting class 10 SD cards in your Pi makes them a lot more bearable.

  • Ioannis Latousakis

    Well as others mentioned, you obviously did not get the point, or its simply not for you. Also, I would guess its faster than most pre-xbox consoles. At least it can playback HD vid.

  • David Thole

    I totally disagree that it can’t be used in a productive way.  I use one of my two raspberry pis as a remote server.  It runs emacs, my GTD system, some simple linux programs, and basically acts as my gateway for getting into my home network.  It’s a little slow, disk io wise, but I’d say it’s very productive in what it’s being used for, and I’m glad I have it.

  • David Thole

    This is really cool, and useful information.  I never used Slurm before, but instead used Rocks/sge.  They seem to be roughly the same thing.  The “footprint” also seems low, considering using a powered USB hub is enough to keep all of these going.  I think I’ll order a few more raspberry pis this weekend and get started on building something like this.

  • bob2222222

    Why would anyone choose Raspbian when FreeBSD works just fine?

  • He Jie

    Thanks for sharing, I love it. 😉

  • Henry Wait

     Sorry Pooter but if you knew anything about hardware, you would know a single Raspberry Pi is more powerful than a Nintendo 64 and also that speed isn’t everything.

  • Bereket Tesfayohannes

    that is cool, but how onc can

  • Bereket Tesfayohannes

    WOW that is cool. Could you also show us how to build our own Data Center for the purpose of running a single website using Raspberry Pis. What is available to Joe public is a home broadband, DDNS service, cheap switches, Load balance broadband Cable router and plenty Raspberry Pis. Come on show us please…. 


  • Mike Gleen

    I am confused about the USB power supply. I understand you need 700ma x 5 or 3.5amp. The best USB hub that will drive 5 ports that I can find is only 2a. There are some chargers that go to 4a but that doesn’t look like what you have. Did you upgrade the power supply for the hub?

  • Marvin Heep

    fine, with whom you disagree? I only wrote “it’s not meant to…” because i also think there are some useful things you can do with it.

  • PyPlate

    You need a load balancer – you could use an old PC with Linux and Apache2 installed.  You need to install an extra ethernet card in the pc and install mod load balancer.  The PC’s ethernet adapters would be on different subnets.  One would be connected to your router, the other would be connected to the ethernet switch with all the Pis. Then just install the same web site on each Pi.

  • PyPlate

    I wondered about that as well.  Is that a USB battery pack on the bottom shelf?

  • DX Mage

    Now that would be cool, I would like to see this setup with all Raspberries, that should be possible and cool at the same time =) no PC head have a Raspberry Pi do that and the load balancing. God that would be insane cool, the whole thing setup that way, DNS, DHPC, just the whole nine yards, use a USB NIC for the private network side of it….. all wrapped in Legos LOL even setup a Lego part set with the Lego corp so we can just buy the Legos as a set. The possibilities for learning and training are nearly limitless.

  • jeb

    here is possibly a dumb question … since its ARM and not x86 … BUT

    …do you think it would run window server 2008 R2-SP2 HPC (64bit)

    like i said…probably dumb question since its ARM

  • LG Testy

    What USB hub did you use? Can you share the make/model?

  • William Baldwin

    The Pi has the processing power of about a Pentium II Processor at about 300 MH, so yes it s not powerful, but what did you expect for $35 or so? It is a teaching tool, ment to teach kids and other adults about programing and Computer Science projects, like this one. I have one new Pi, and later will order maybe 10 more. Have one master, and the rest combined so I will learn how to make a cluster. Then get maybe a network printer for the 12th port, or uplink it to another switch and put the printer in that maybe.

  • William Baldwin

    no, it won’t ARM wont run any windows, also remember the Pi is only a single core 32-bit CPU.

  • Joel S Wilson

    Sounds to me like its this persons only computer – With free wifi access – If that is the case A Pi is nice for under 60 bucks with the extras – Speed is not always every thing its in the software