Jump to content

Help with a diskless cluster


Recommended Posts

Hi all,

Would any of you be able to help me understand how to set up a diskless cluster? I have 4 mini-itx boards, a NAS box, and an Ubuntu 14.04 desktop. If possible, I'd like to operate the cluster from a VM (using VMM) on the desktop, and use the NAS for storing compute data. But a lot of the sites I've read have left me a little overwhelmed. I'm not asking for an idiots guide or anything. But if any of you would be able to explain how things should be configured in simple English, I'd be very grateful!

I should note; the NAS box is currently in use. So, unfortunately, formatting the drives is not an option. So if there's a way to have the nodes use an existing share, that'd be really helpful, too.

My current config is machines > physical switch > router > Internet. I just want to crunch cancer data, and toy around with multiple OSes from home.

Many thanks in advance.

Link to comment
Share on other sites

What you probably want is 2 distinct shares on your NAS, the first will be the root partition of all of your compute nodes, the second will be your crunch data repository. The first will be read-only and preferably exported via NFS.

Your Mini-ITX boxes need to have a network adapter with an EEPROM (i.e. you can boot from Lan) otherwise your compute nodes can't be entirely diskless - something on the node needs to know what to do once the power comes on.

The typical process is:

1. A very minimal OS/Kernel is loaded from the EEPROM - it needs to be minimal because your typical EEPROM is quite small. The point of this is to kick in something of an OS that will successfully detect your network adapter, start it up and get it to load the next stage off the network.

2. Using a really basic protocol like TFTP the minimal OS loads the actual kernel file from across the network into memory, then boots it. This will properly detect all the hardware in your compute nodes.

3. Network-mount the root filesystem from the NAS as read-only and the crunch data repo as read/write. At this stage modules will be available and can be loaded by the kernel. Start whatever services you need and possibly even get to work crunching the data.

Edited by Cooper
Link to comment
Share on other sites

Hi Cooper,

Thanks for your quick response. The mini-itx's can boot from LAN, and I've set them to do so in the bios. I'll work through the steps you've outlined and come back if I get stuck. Though this post will be the only one I can make until tomorrow afternoon, as per the forum settings.

Thanks again!

Link to comment
Share on other sites

Didn't know about those rules. No doubt it's to combat the spam problem.

Here is a link to setting stuff like this up with Gentoo. It might not be the distro you plan to employ, but it should give you a lot of details about the steps you need to take and the commands that will let you take them.

Note that the document assumes that you have, say, 8 nodes of which 1 is a master and the rest are slaves. The idea is that the master has disk storage and it services the diskless nodes. Since in your case this task belongs to the NAS, you can almost certainly ignore most of the stuff about keeping Master and Slave separate. You don't need a kernel for the Master (your NAS can boot just fine) and you only need to make the NAS provide the slave's files to those nodes in the way they want the Master to do so.

Edited by Cooper
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...