View Full Version : diskless crunching
ookabooka
09-21-03, 12:17 PM
I know I know, there have probably been a million threads about this topic. But I haven't seen any that really show step by step how to make a basic folding farm using network booting. First off, I don't have a network card with a boot rom in it, can I buy the boot rom separate(can you say ebay?), or is it better just to get a new nic that already has it? I already compiled a kernel I plan on using (only 650 kb in size. hehe) that has complete NFS support and ramdisk, root on NFS, etc. . . I plan on only having the extreme basics on the drones, such as sh, ifconfig, route, bash, am i missing any? I have the dhcp and NFS ready on my server, It's just getting the clients to boot that I am a little sketchy on. The init scripts will be personalized for each computer (ethernet setup, seti directory). I am debating whether to keep the seti on the NFS (which would be easy in case of power outage, etc. could start right where it left off) or to keep it on ramdisk and have it update via NFS every 20 minutes or so using a script/daemon. If I remember correctly, Seti writes/reads to the disk in blocks every few minutes, where folding@home likes to read/write constantly. So NFS for seti, and script for folding@home? Thoughts, suggestions, flames?
http://www.ocsetiteam.com/nidex.php?targetframe=other/cluster.htm (http://www.ocsetiteam.com/index.php?targetframe=other/cluster.htm)
rogerdugans
09-21-03, 04:18 PM
The pertinent info is in that article- basically all you need to boot the clients once everything else is configured is a floppy drive and the correct boot floppy.
The boot floppy will look for the server and then the server will take care of all the rest.
The K12LTSP distro has a bunch of images included and I think the LTSP pakages also include them although I am not sure of that.....
There is a link in the article for a site that will help you generate your own boot images as well. :)
Ddruid_SMP
09-21-03, 04:23 PM
I would suggest getting a PXE compliant nic instead of a bootrom (unless you have a burner). I am using a biostar m7vkq pro mobo and the onboard nic (sis900) is PXE compliant.
Refer to the following how-tos (these will get the system to boot):
Diskless howto (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Diskless-HOWTO.html)
NFS Root #1 (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Diskless-root-NFS-HOWTO.html)
NFS Root #2 (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Diskless-root-NFS-other-HOWTO.html)
NFS Root #3 (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NFS-Root-Client-mini-HOWTO.html)
NFS Root #4 (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NFS-Root.html)
N.B.E.R Howto (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Network-boot-HOWTO.html)
Remote Boot (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Remote-Boot.html)
Refer to the following to populate the system:
From Power up to bash prompt (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/From-PowerUp-To-Bash-Prompt-HOWTO.html)
Bootprompt howto (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/BootPrompt-HOWTO.html)
Bootdisk howto (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Bootdisk-HOWTO.html)
FileSystem Hierarchy (http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/Linux-Filesystem-Hierarchy.html)
PocketLinux (http://www.tldp.org/LDP/Pocket-Linux-Guide/html/index.html)
Linux From Scratch (http://lfs.learnbyexample.com/lfs/news.html)
And ofcourse
LTSP (http://www.ltsp.org/)
Some tips I can give you:
The root fs is READ ONLY! so you will need to mount additional directories that have read-write capabilities after the system starts (read: /var, /tmp, /home) either by NFS or by a ram disk.
Use devfs.
Be sure you compile in support for NFSv3 into the kernel.
In the /etc directory make a symbolic link from /etc/mtab to /proc/mounts.
rpc.statd takes a second or so to establish it's connection and locks, if you are not starting alot during boot up then you need to ad a call to 'sleep' in the startup script.
Portmap requires the 'lo' loopback interface to work, so be sure to initialize that before calling portmap.
My current setup has seti runnign on a NFS mounted home directory, and yes it does create alot of traffic, but not enough to cause a problem, a ramdisk would suffice, but if there is a shutdown then you lose the WU.
http://ddruid.servebeer.com:81/sys/MVC-371S.JPG
Fast420A
09-21-03, 04:51 PM
Overclockix has Seti installed too, you just have to make it stop folding and then start SETI.
ookabooka
09-21-03, 10:00 PM
I am going for a completely diskless solution, IE nothing that spins other than the fan. I think i will just pick up some refurbished boards at newegg (35 bucks for a kt400 board with onboard nic/sound)I plan on making a small farm of 5 or so rigs. I am going to wait until i can find some of those new DLT3C JIXHB 1800+'s.
druid, I was thinking that I could have seti run on the ramdisk directory, but write a script that would copy the contents over to the NFS directory every 20 minutes or so. I also compiled in NFSv3.
Ddruid_SMP
09-21-03, 10:53 PM
That could be done with cron easily enough:
*/20 * * * * /path/to/script
There is plenty of free ram left on my cruncher, it has a 128m ddr2100 and there is about 70 megs free, more than enough room for a ramdisk. At this point the filesystem for the diskless is about 25megs (most in library files) once I get done it will probably be in the neighborhood of about 300megs or so. Right now it boots, starts crunching, and dumps a shell.
The diskless how-to on our site would provide you with a completely diskless solution if you go with pxe enabled nics. That's how I set mine up, ad it takes almost no preparation aside from a very minor adjustment to dhcpd.conf - telling the pxe board to load the proper kernel.
ookabooka
09-22-03, 01:24 PM
my concern is what to do after the kernel loads. Like I said I want to run the bare minimum, I don't want to see redhat's rc starting everything up, I want to see just a few lines of commands run. I guess I could just manually strip down rc's scripts, but I would rather just write my own (if its not all too dificult) since I really only need networking and bash, perhaps i could toss in a ftp client and ssh server.
Ddruid_SMP
09-22-03, 06:44 PM
Originally posted by ookabooka
my concern is what to do after the kernel loads. Like I said I want to run the bare minimum, I don't want to see redhat's rc starting everything up, I want to see just a few lines of commands run. I guess I could just manually strip down rc's scripts, but I would rather just write my own (if its not all too dificult) since I really only need networking and bash, perhaps i could toss in a ftp client and ssh server. Refer to the following to populate the system:
From Power up to bash prompt (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/From-PowerUp-To-Bash-Prompt-HOWTO.html)
Bootprompt howto (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/BootPrompt-HOWTO.html)
Bootdisk howto (http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/Bootdisk-HOWTO.html)
FileSystem Hierarchy (http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/Linux-Filesystem-Hierarchy.html)
PocketLinux (http://www.tldp.org/LDP/Pocket-Linux-Guide/html/index.html)
Linux From Scratch (http://lfs.learnbyexample.com/lfs/news.html)
Again, look at the above links, they will describe how to populate the system and what is required.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.