<?xml version="1.0" encoding="utf-8"?>
<!-- generator="" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>OpenMosix - Linux Supercomputer</title>
		<description><![CDATA[Leading Network Security & Cyber Security site. Cisco Routing/Switching, VPN, Microsoft, SASE, SSE, F5, PaloAlto Firewalls, Protocol Analysis, Tips & more.]]></description>
		<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer.html</link>
		<lastBuildDate>Sat, 11 Apr 2026 12:48:08 +1000</lastBuildDate>
		<generator></generator>
		<atom:link rel="self" type="application/rss+xml" href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer.feed?type=rss"/>
		<language>en-gb</language>
		<item>
			<title>OpenMosix - Part 9: Interesting Ideals: Distributed Password Cracking &amp; Encoding MP3s</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-ideas.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-ideas.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Now that you hopefully have a nice powerful cluster running, there are hundreds of different ways you can use it. The most obvious use is any activity that takes a long time and uses a large amount of CPU processing power and/or RAM. We're going to show you a couple of projects that have benefited us in the real world.</p>
<p style="text-align: justify;">Bear in mind that there are some applications that migrate very nicely over an openMosix cluster, for example 'make' when you're compiling can speed up your compile times significantly. If you do a little research on the net, you'll find examples of applications that will migrate well and which won't yield much speed increase. If you are a developer looking to take advantage of openMosix, applications that fork() child processes will migrate wonderfully, whereas multithreaded applications at present, do not seem to migrate threads.</p>
<p style="text-align: justify;">Anyway, here are a couple of cool uses for your cluster:</p>
<h2>Distributed Password Cracking</h2>
<p style="text-align: justify;">If your role is in security role or if you work as a penetration tester, you'll probably encounter the need to crack passwords at some point or other. We regularly use l0phtcrack for Windows passwords, but were interested by the opportunity to use our nice new 10 system cluster to significantly speed things up. After briefly hunting around the net, we discovered 'Cisilia', which is a Linux based Windows LM / NTLM password cracker designed specifically to take advantage of openMosix style clustering!</p>
<p style="text-align: justify;">You can get a copy of cisilia by visiting the following site and clicking on the R&amp;D Projects menu on the left: <a href="http://www.citefa.gov.ar/SitioSI6_EN/si6.htm" target="_blank" rel="nofollow noopener">http://www.citefa.gov.ar/SitioSI6_EN/si6.htm</a></p>
<p style="text-align: justify;">There you'll find two files, 'cisilia' which is the actual command line based password cracking engine and 'xisilia' which is an X based GUI for the same. We didn't install the X based GUI, since we were working with our cluster completely over SSH.</p>
<p style="text-align: justify;">Once you download the RPMs, you can install them by typing:</p>
<p style="color: #00ff00; text-align: justify;"><em>rpm -ivh *isilia*.rpm</em></p>
<p style="text-align: justify;">If you installed from the tarball sources like we did, it is just as simple:</p>
<p style="text-align: justify;">1) Unzip the tarball</p>
<p style="color: #00ff00; text-align: justify;"><em>tar xvzf cisilia*.tar.gz</em></p>
<p style="text-align: justify;">2) Enter the directory and configure the compilation process for your system:</p>
<p style="color: #00ff00; text-align: justify;"><em>./configure </em></p>
<p style="text-align: justify;">3) Finally, start the compilation process:</p>
<p style="color: #00ff00; text-align: justify;"><em>make</em></p>
<p style="text-align: justify;">Now you need to get a Windows password file to crack. For this you'll want to use pwdump to grab the encrypted password hashes. This is available at the following link:</p>
<p style="text-align: justify;"><a href="https://packetstormsecurity.com/files/13790/pwdump2.zip.html" target="_blank" rel="nofollow noopener">https://packetstormsecurity.com/files/13790/pwdump2.zip.html</a></p>
<p style="text-align: justify;">Unzip it and run it on the Windows box which has the passwords you want to crack. You will want to save the results to a file, so do the following:</p>
<p style="color: #00ff00; text-align: justify;"><em>pwdump2 &gt; passwdfile</em></p>
<p style="text-align: justify;">Now copy the file 'passwdfile' across to a node in your cluster. Fire up cisilia using the following command:</p>
<p style="color: #00ff00; text-align: justify;"><em>cisilia -l crack_file -n 20 &lt;path to the passwdfile you copied&gt;</em></p>
<p style="text-align: justify;">&nbsp; <em>-l &nbsp;</em> tells cisilia to save the results to a file called crack_file</p>
<p style="text-align: justify;">&nbsp; <em>-n</em>&nbsp; tells cisilia how many processes it should spawn. We started 20, since we wanted 2 processes to go to each node in the cluster.</p>
<p style="text-align: justify;">We were pleasantly surprised by how quickly it started running through 6-7 character alphanumeric passwords. Enjoy !</p>
<h2>Encoding MP3s</h2>
<p style="text-align: justify;">Do you get annoyed by how long it takes to convert a CD to MP3? Or to convert any kind of media file?</p>
<p style="text-align: justify;">This is one of the places where a cluster excels. When you convert your rips to MP3, you only process one WAV file at a time, how about you run it on your cluster and let it simultaneously encode all your MP3s?</p>
<p style="text-align: justify;">Someone has already taken this to the absolute extreme, check out <a href="http://www.rimboy.com/cluster/" target="_blank" rel="nofollow noopener">http://www.rimboy.com/cluster/</a> for what he's got setup.</p>
<p style="text-align: justify;">To quickly rip a CD and convert it to digital audio, you will need 2 programs:</p>
<p style="text-align: justify;">A digital audio extractor, and an audio encoder.</p>
<p style="text-align: justify;">For the digital audio extractor we recommend Cdparanoia. For the audio encoder, we're going to do things a bit differently:</p>
<p style="text-align: justify;">In the spirit of the free open source movement, we suggest you check out the OGG Vorbis encoder. This is a free, open audio compression standard that will compress your WAV files much better than MP3, and still have a higher quality!</p>
<p style="text-align: justify;">They also play perfectly in Winamp and other media players. Sounds too good to be true? Check out their website at the link below. Of course if you still aren't convinced that OGG is better than MP3, you can replace the OGG encoder with any MP3 encoder for this tutorial.</p>
<p style="text-align: justify;">Get and install both the cdparanoia ripper and the oggenc encoder from the following URLs:</p>
<p style="text-align: justify;">CDparanoia - <a href="http://www.xiph.org/paranoia/" target="_blank" rel="nofollow noopener" title="http://www.xiph.org/paranoia/">http://www.xiph.org/paranoia/</a></p>
<p style="text-align: justify;">OGG Vorbis Encoder - <a href="https://xiph.org/vorbis/" target="_blank" rel="nofollow noopener">https://xiph.org/vorbis/</a></p>
<p style="text-align: justify;">Now we just need to rip and encode on our cluster. Put the CD you want to convert in the drive on one node, and just run the following:</p>
<p style="color: #00ff00; text-align: justify;"><em>cdparanoia -B </em></p>
<p style="color: #00ff00; text-align: justify;"><em>for i in `ls *.wav`; </em></p>
<p style="color: #00ff00; text-align: justify;"><em>do oggenc $i &amp; </em></p>
<p style="color: #00ff00; text-align: justify;"><em>done;</em></p>
<p style="text-align: justify;">This encodes your WAV files to OGG format at the default quality level of 3, which produces an OGG file of a smaller size and significantly better sound quality than an MP3 at 128kbps. You can experiment with the OGG encoder options to figure out the best audio quality for your requirements.</p>
<p style="text-align: justify;">This just about completes the openmosix tutorial we've prepaired for you.</p>
<p style="text-align: justify;">We surely hope it has been an enlighting tutorial and will help most of you make some good use of those old 'mini super computers' you never knew you had :)</p>
<p style="text-align: justify;">Back to the <a href="https://www.firewall.cx/operating-systems/linux-unix.html" title="Linux/Unix Section">Linux/Unix Section</a> or <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer.html" title="OpenMosix Section">OpenMosix Section</a>.</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 08:12:36 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 8: Using SSH Keys Instead Of Passwords</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-ssh-keys.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-ssh-keys.html</guid>
			<description><![CDATA[<p>One of the things that you'll notice with <strong>openMosixview</strong> is that if you want to change the speed sliders of a remote node, you will have some trouble. This is because openMosixview uses SSH to remotely set the speed on the node. What you need to do is set up passwordless SSH authentication using public/private keys.</p>
<p>This is just a quick walk-through on how to do that, for a much more detailed explanation on public/private key SSH authentication, see our tutorial in the GNU/Linux Section.</p>
<p>First, generate your SSH public/private key-pair:</p>
<p style="color: #00ff00;"><em>ssh-keygen -t dsa</em></p>
<p>Second, copy the public key into the authorized keys file. Since your home directory is shared between nodes, you only need to do this on one node:</p>
<p style="color: #00ff00;"><em>cat ~/.ssh/*.pub &gt;&gt;~/.ssh/authorized_keys</em></p>
<p>However, for root, you will have to do this manually for each node (replace Node# with each node individually):</p>
<p style="color: #00ff00;"><em>cat ~/.ssh/*.pub &gt;&gt;/mfs/Node#/root/.ssh/authorized_keys</em></p>
<p>After this, you have to start SSH-agent, to cache your password so you only need to type it once. Add the following to your .bash_profile or .profile:</p>
<p style="color: #00ff00;"><em>ssh-agent $SHELL</em></p>
<p style="text-align: justify;">Now each time after you login, just type ‘ <em>ssh-add</em>' and supply your password once. By following this you will be able to login passwordless to any of the nodes, and the sliders in openMosixview should work perfectly for you. Next: <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-ideas.html" title="Interesting Ideals: Distributed Password Cracking Encoding MP3s">Interesting Ideals: Distributed Password Cracking &amp; Encoding MP3s</a></p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 08:11:13 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 7: The openMosix File System</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-file-system.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-file-system.html</guid>
			<description><![CDATA[<p style="text-align: justify;">You've probably been wondering how <strong>openMosix</strong> handles things like file read/writes when a process migrates to another node.</p>
<p style="text-align: justify;">For example, if we run a process that needs to read some data from a file <strong>/etc/test.conf</strong> on our local machine, if this process migrates to another node, how will openMosix read that file ? The answer is in the openMosix File System, or OMFS.</p>
<p style="text-align: justify;"><strong>OMFS</strong> does several things. Firstly, it shares your disk between all the nodes in the cluster, allowing them to read and write to the relevant files. It also uses what is known as Direct File System Access (DFSA), which allows a migrated process to run many system calls locally, rather than wasting time executing them on the home node. It works somewhat like NFS, but has features that are required for clustering.</p>
<p style="text-align: justify;">If you installed openMosix from the RPMs, the omfs should already be created and automatically mounted. Have a look in /mfs, and you will see a subdirectory for every node in the cluster, named after the node ID. These directories will contain the shared disks of that particular node.</p>
<p style="text-align: justify;">You will also see some symlinks like the following:</p>
<p style="text-align: justify;"><strong><span style="font-style: italic;">here</span> </strong>-&gt; maps to the current node where your process runs</p>
<p style="text-align: justify;"><strong><span style="font-style: italic;">home</span> </strong>-&gt; maps to your home node</p>
<p style="text-align: justify;">If the /mfs directory has not been created, you can mount it manually with the following:</p>
<p style="color: #00ff00; text-align: justify;"><em>mkdir /mfs </em></p>
<p style="color: #00ff00; text-align: justify;"><em>mount /mfs /mfs -t mfs</em></p>
<p style="text-align: justify;">If you want it to be automatically mounted at boot time, you can create the following entry in your /etc/fstab</p>
<p><em>mfs_mnt /mfs mfs dfsa=1 0 0</em></p>
<p style="text-align: justify;">Bear in mind that this entry has to be on all the nodes in the cluster. Lastly, you can turn the openMosix file system off using the command:</p>
<p style="color: #00ff00; text-align: justify;"><em>mosctl nomfs </em></p>
<p style="text-align: justify;">Now that we've got that all covered, it's time to take a look on how you can make the ssh login process less time consuming, allowing you to take control of all your cluster nodes any time you require, but also help the cluster system execute special functions. Next topic covers <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-ssh-keys.html" title="using SSH keys with openMosix instead of passwords">using SSH keys with openMosix instead of passwords</a>.</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 08:09:31 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 6: Controlling Your OpenMosix Cluster</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-controlling.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-controlling.html</guid>
			<description><![CDATA[<p style="text-align: justify;">The <strong>openMosix</strong> team have provided a number of ways of controlling your cluster, both from the command line, as well as through GUI based tools in X.</p>
<p style="text-align: justify;">From the command line, the main monitoring and control tools are:</p>
<ul style="text-align: justify;">
<li><strong>mosmon</strong> – which shows you the load on each of the nodes, their speed, memory usage, etc. Pressing 'h' will bring up the help with the different options;</li>
</ul>
<ul style="text-align: justify;">
<li><strong>mosctl</strong> - which is a very powerful command that allows you to control how your system behaves in the cluster, some of the interesting options are:
<ul>
<li><strong>mosctl block</strong> – this stops other people's processes being run on your system (a bit selfish don't you think ;))</li>
</ul>
<ul>
<li><strong>mosctl -block</strong> – the opposite of the above</li>
<li><strong>mosctl lstay</strong> – this stops your local processes migrating to other nodes for processing</li>
<li><strong>mosctl nolstay</strong> – the opposite of the above</li>
<li><strong>mosctl setspeed &lt;number&gt;</strong> - which sets the max processing speed to contribute. 10000 is a benchmark of a Pentium 3 1Ghz.</li>
<li><strong>mosctl whois &lt;node number&gt;</strong> - this tells you the IP address of a particular node</li>
<li><strong>mosctl expel</strong> – this expels any current remote processes and blocks new ones from coming in</li>
<li><strong>mosctl bring</strong> – this brings back any of your own local processes that have migrated to other nodes</li>
<li><strong>mosctl status &lt;node number&gt;</strong> - which shows you whether the node is up and whether it is 'blocking' processes, 'staying' them, etc.</li>
<li><strong>mosrun </strong>- allows you to run a process controlling which nodes it should run on</li>
<li><strong>mps </strong>- this is just like '<strong>ps</strong>' to show you the process listing, but it also shows which node a process is running on</li>
<li><strong>migrate</strong> - this command allows you to manually migrate a process to any node you like, the syntax for using it is '<strong>migrate &lt;pid&gt; &lt;node #&gt;</strong>'. You can also use '<strong>migrate &lt;pid&gt; balance</strong>' to load balance a process automatically.</li>
<li><strong>dsh</strong> - Distributed Shell. This allows you to run a command on all the nodes simultaneously. For example ‘ <strong>dsh -a reboot</strong> ' will reboot all the nodes.</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">From the GUI, you can just start 'openmosixview'. This allows you to view and manage all the nodes in your cluster. It also shows you the load balancing efficiency of the cluster in near-real-time. You can also see what is the total speed and RAM that your cluster is providing you:</p>
<div align="center"><img src="https://www.firewall.cx/images/stories/linux-openmosix-controlling-cluster-1.jpg" alt="linux-openmosix-controlling-cluster-1" width="600" height="222" style="display: block; margin-left: auto; margin-right: auto;" /></div>
<p style="text-align: justify;">We should note that all cluster nodes that are online are represented with the <strong>green </strong>colour, while all offline cluster with the <strong>red </strong>colour.</p>
<p style="text-align: justify;">One of the neatest things about '<strong>openmosixview</strong>' is the GUI for controlling process migration.</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/linux-openmosix-controlling-cluster-2.jpg" alt="linux-openmosix-controlling-cluster-2" width="600" height="652" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">It depicts your current node at the center, and other nodes in the cluster around it. The ring around your node represents the processes running on your local box. If you hover over any of them you can see the process name and PID. Whenever one of your processes migrates to another node, you will see it detach and appear on a new node with a line linking it to your system!</p>
<p style="text-align: justify;">You can also manually control the migration. You can drag and drop your processes onto other nodes, even selecting multiple processes and then dragging them to another node is easy. If you double click on a process running on a remote node, it will come back home and execute locally.</p>
<p style="text-align: justify;">You can also open the openMosix process monitor which shows you which process is running on which node.</p>
<p style="text-align: justify;">There is also a history analyzer to show you the load over a period of time. This allows you to see how your cluster was being used at any given point in time:</p>
<p><img src="https://www.firewall.cx/images/stories/linux-openmosix-controlling-cluster-3.jpg" alt="linux-openmosix-controlling-cluster-3" width="600" height="388" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">As you can see, the GUI tools are very powerful, they provide you with a large amount of the functionality that the command line tools do. If, however, you want to make your own scripts, the command line tools are much more versatile. Managing a cluster can be a lot of fun, modify the options and play around with the GUI to tweak and optimize your raw processing power!! Our next article covers <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-file-system.html" title="The openMosix File System">The openMosix File System</a>.</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 08:05:16 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 5: Testing Your Cluster</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-testing-cluster.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-testing-cluster.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Now let's actually make this cluster do some work! There is a quick tool you can use to monitor the load of your cluster.</p>
<p style="text-align: justify;">Type 'mosmon' and press enter. You should see a screen similar to the screenshot below:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/linux-openmosix-testing-cluster-1.jpg" alt="linux-openmosix-testing-cluster-1" width="600" height="436" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;" align="center">&nbsp;</p>
<p style="text-align: justify;">Run mosmon in one VTY (press ctrl+alt+f1), then switch to another VTY (ctrl+alt+f2)</p>
<p style="text-align: justify;">Let's run a simple awk command to run a nested loop and use up some processing power. If everything went well, we should see the load in mosmon jump up on one node, and then migrate to the other nodes.</p>
<p style="text-align: justify;">The command you need to run is:</p>
<p style="color: #00ff00; text-align: justify;"><em>awk 'BEGIN {for(i=0;i&lt;10000;i++)for(j=0;j&lt;10000;j++);}'</em></p>
<p style="text-align: justify;">If you choose to, you can start multiple awk processes by backgrounding them. Just append an ‘&amp;' to the command line and run it a few times.</p>
<p style="text-align: justify;">Go back to mosmon by pressing <strong>ctrl+alt+f1</strong>, you should see the load rising on your current node, and then slowly distributing to the other machines in the cluster like in the picture below:</p>
<p align="center"><img src="https://www.firewall.cx/images/stories/linux-openmosix-testing-cluster-2.jpg" alt="linux-openmosix-testing-cluster-2" width="600" height="436" style="display: block; margin-left: auto; margin-right: auto;" /></p>
<p style="text-align: justify;">Congratulations! You are now taking advantage of multi system clustering!</p>
<p style="text-align: justify;">If you want you can time the process running locally, turn off openmosix by entering the command:</p>
<p style="color: #00ff00; text-align: justify;"><em>/etc/init.d/openmosix stop </em></p>
<p style="text-align: justify;">Then run the following script:</p>
<p style="color: #00ff00; text-align: justify;"><em>#!/bin/sh </em></p>
<p style="color: #00ff00; text-align: justify;"><em>date </em></p>
<p style="color: #00ff00; text-align: justify;"><em>awk 'BEGIN {for(i=0;i&lt;10000;i++)for(j=0;j&lt;10000;j++);}' </em></p>
<p style="color: #00ff00; text-align: justify;"><em>date </em></p>
<p style="text-align: justify;">This will tell you how long it took to perform the task. You can modify the loop values to make it last longer. Now restart openmosix, using the command:</p>
<p style="color: #00ff00; text-align: justify;"><em>/etc/init.d/openmosix start</em></p>
<p style="text-align: justify;">Re-run the script to see how long it takes to process. Remember that your network is a bottleneck for performance. If your process finishes really quickly, it won't have time to migrate to the other nodes over the network. This is where tweaking and optimizing your cluster becomes fun.</p>
<p style="text-align: justify;" align="left">Next up we'll take a look on how you can <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-controlling.html" title="control a OpenMosix cluster">control a OpenMosix cluster</a>.</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 08:02:24 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 4: Starting Up Your OpenMosix Cluster</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-starting-cluster.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-starting-cluster.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Okay, so now you've got a couple of machines with <strong>openMosix</strong> installed and booted, it's time to understand how to add systems to your cluster and make them work together.</p>
<p style="text-align: justify;">OpenMosix has two ways of doing this:</p>
<h2>1. Auto-discovery of Cluster Nodes</h2>
<p style="text-align: justify;">OpenMosix includes a daemon called '<strong>omdiscd</strong>' which identifies other openMosix nodes on the network by using multicast packets (for more on multicasting, please see our <a href="https://www.firewall.cx/networking/network-fundamentals/network-multicast.html" target="_blank" title="Multicast">multicast </a>page). This means that you don't have to bother manually configuring the nodes. This is a simple way to get your cluster going as you just need to boot a machine and ensure it's on the network. When this stage is complete, it should then discover the existing cluster and add itself automatically!</p>
<p style="text-align: justify;">Make sure you set up your network properly. As an example, if you are assigning an IP address of 192.168.1.10 to your first ethernet interface and your default gateway is 192.168.1.1 you would do something like this:</p>
<p><em>ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up (configure's your system's ethernet interface) </em></p>
<p><em>route add default gw 192.168.1.1 (adds the default gateway) </em></p>
<p style="text-align: justify;">The auto-discovery daemon might have started automatically on bootup, check using:</p>
<p><strong>ps aux | grep 'omdiscd'</strong></p>
<p style="text-align: justify;">The above command should reveal the 'omdiscd' process running on your system.</p>
<p style="text-align: justify;">If it hasn't, you can manually start by typing 'omdiscd'. If you want to see the nodes getting added, you can choose to run omdiscd in the foreground by typing '<strong>omdiscd -n</strong>'. This will help you troubleshoot the auto-discovery.</p>
<h2>2. The /etc/openmosix.map File Configuration</h2>
<p style="text-align: justify;">If you don't want to use autodiscovery, you can manually manage your nodes using the openmosix.map file in the /etc directory. This file basically contains a list of the nodes on your cluster, and has to be the same across all the nodes in your cluster.</p>
<p style="text-align: justify;">The syntax is very simple, it is a tab delimited list of the nodes in your cluster. There are 3 fields:</p>
<p>Node ID, IP Address and Number.</p>
<p><strong>&nbsp; Node ID is the unique number for the node.</strong></p>
<p><strong>&nbsp; IP address is the IP address of the node.</strong></p>
<p><strong>&nbsp; Number specifies how many nodes in the range after the IP.</strong></p>
<p style="text-align: justify;">As an example, if you have nodes</p>
<p style="text-align: justify;">192.168.1.10</p>
<p style="text-align: justify;">192.168.1.11</p>
<p style="text-align: justify;">192.168.1.12</p>
<p style="text-align: justify;">192.168.1.50</p>
<p style="text-align: justify;">your file would look like this:</p>
<p><strong>1 192.168.1.10 2</strong></p>
<p><strong>2 192.168.1.50 1</strong></p>
<p style="text-align: justify;">We could have manually specified the IP's 192.168.1.11 and 192.168.1.12, but by using the 'number' field, openmosix counts up the last octet of the IP, and saves you the trouble of making individual entries.</p>
<p style="text-align: justify;">Once you've done your configuration, you can control openMosix using the init.d script that should have been installed. If they were not, you can find it in the scripts directory of the userland tools you downloaded, make it executable and copy it to the init.d directory like this:</p>
<p style="color: #00ff00; text-align: justify;"><em>mv ./openmosix /etc/init.d </em></p>
<p style="color: #00ff00; text-align: justify;"><em>chmod 755 /etc/init.d/openmosix </em></p>
<p style="text-align: justify;">You can now start, stop and restart openMosix with the following commands:</p>
<p style="color: #00ff00; text-align: justify;"><em>/etc/init.d/openmosix start </em></p>
<p style="color: #00ff00; text-align: justify;"><em>/etc/init.d/openmosix stop </em></p>
<p style="color: #00ff00; text-align: justify;"><em>/etc/init.d/openmosix restart </em></p>
<p style="text-align: justify;">Next up we'll take a look on how you can <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-testing-cluster.html" title="test your new openMosix cluster">test your new openMosix cluster</a>!</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 07:59:49 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 3: Using ClusterKnoppix</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-using-cluster.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-using-cluster.html</guid>
			<description><![CDATA[<p style="text-align: justify;">So maybe none of those methods worked for you. Well, you'll be happy to know that you can get a cluster up and running within a few minutes using an incredible bootable Knoppix liveCD that is preconfigured for clustering. It's called ‘ClusterKnoppix' and a quick search on Google will reveal a number of sources from where you can download the ISO images.</p>
<p style="text-align: justify;">The best thing about Cluster Knoppix, is that you can just boot a system with the CD and it will automatically add itself to the cluster. You don't even need to install the O/S to your hard disk. This makes it a very useful way to setup a cluster in a hurry using pre-existing systems.</p>
<p style="text-align: justify;">Another really nice feature is that you don't need to burn 20 copies of the CD to make a 20 system cluster. Just boot one system with the CD, and then run the command</p>
<p style="color: #00ff00; text-align: justify;"><strong><em>knoppix-terminalopenmosixserver</em></strong></p>
<p style="text-align: justify;">This will let you setup a clustering-enabled terminal-server. Now if you have any systems that can boot from their network card (PXE compliant booting), they will automatically download a kernel image and run Cluster Knoppix!</p>
<p style="text-align: justify;">It's awesome to see this at work, especially since we were working with 2 systems that didn't have a CD-ROM drive or a hard-disk. They just became diskless clients and contributed their resources to the cause! Next page covers <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-starting-cluster.html" title="starting up your openMosix Cluster">starting up your openMosix Cluster</a>.</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 07:54:47 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 2: Building An openMosix Cluster</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-building.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-building.html</guid>
			<description><![CDATA[<p style="text-align: justify;">Okay, let's get down to the fun part! Although it may sound hard, setting up a cluster is not very difficult, we're going to show you the hard way (which will teach you more) as well as a very neat quick way to set up an instant cluster using a Knoppix Live CD. We suggest you try both out to understand the benefits of each approach.</p>
<p style="text-align: justify;">We will require the following:</p>
<p style="text-align: justify;">1. Two or more machines (we need to cluster something!), the configuration doesn't matter even if they are lower end. They will require network cards and need to be connected to each other over a network. Obviously, the more systems you have, the more powerful your cluster will be. Don't worry if you don't have many machines, we'll show you how to temporarily use resources from systems and schedule when they can contribute their processing power (this works very well in an office when you might want some systems to join the cluster only after office hours).</p>
<p>2. A Cluster Knoppix LiveCD for the second part of this tutorial. While this is not strictly necessary, we want to show you some of the advantages of using the LiveCD for clustering. It also makes setting up the cluster extremely easy. You can get a fully working cluster up in the amount of time it takes you to boot a system ! You can get Cluster Knoppix from the following link: <a href="https://distrowatch.com/table.php?distribution=clusterknoppix" target="_blank" rel="nofollow noopener">https://distrowatch.com/table.php?distribution=clusterknoppix</a></p>
<h2>Getting &amp; Installing openMosix</h2>
<p style="text-align: justify;">OpenMosix consists of two parts, the first is the kernel patch which does the actual clustering and the second is the userland tools that allow you to monitor and control your cluster.</p>
<p style="text-align: justify;">There are a variety of ways to install openMosix, we've chosen to show three of them:</p>
<p><strong>1. Patching the kernel and installing from the source</strong></p>
<p><strong>2. Installing from RPM's</strong></p>
<p><strong>3. Installing in Debian</strong></p>
<h3>1. Installing from source</h3>
<p style="text-align: justify;">The latest version of openMosix at the time of this writing works with the kernel version 2.4.24. If you want to do this the proper way, get the plain kernel sources for 2.4.24 from&nbsp;<a href="https://www.kernel.org/" target="_blank" rel="nofollow noopener">https://www.kernel.org/</a> and the openMosix patch for the same version of the kernel from&nbsp;<a href="https://sourceforge.net/projects/openmosix/" target="_blank" rel="nofollow noopener">https://sourceforge.net/projects/openmosix/</a></p>
<p style="text-align: justify;">At the time of writing this, the direct kernel source link is</p>
<p style="text-align: justify;"><a href="http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.24.tar.bz2" target="_blank" rel="nofollow noopener">http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.24.tar.bz2</a></p>
<p style="text-align: justify;">Once you've got the kernel sources, unpack them to your kernel source directory, in this case that should be:</p>
<p style="text-align: justify;">/usr/src/linux-2.4.24</p>
<p style="text-align: justify;">Now move the openMosix patch to the kernel source directory and apply it, like so:</p>
<p style="color: #00ff00; text-align: justify;"><em>mv /root/openMosix-2.4.24.gz /usr/src/linux-2.4.24 </em></p>
<p style="color: #00ff00; text-align: justify;"><em>cd /usr/src/linux-2.4.24 </em></p>
<p style="color: #00ff00; text-align: justify;"><em>zcat openMosix-2.4.24.gz | patch -Np1 </em></p>
<p style="text-align: justify;"><em>NOTE: If you downloaded a bzip zipped file, you might need to use 'bzcat' rather than 'zcat' in the last line. </em></p>
<p style="text-align: justify;">Now your kernel sources are patched with openMosix.</p>
<p style="text-align: justify;">Now you have to configure your kernel sources, using one of the following commands:</p>
<p style="color: #00ff00; text-align: justify;"><em>make config </em></p>
<p style="color: #00ff00; text-align: justify;"><em>make menuconfig<span style="color: #ffffff;"> (uses an ncurses interface) </span></em></p>
<p style="color: #00ff00; text-align: justify;"><em>make xconfig<span style="color: #ffffff;"> (uses a TCL/TK GUI interface)</span></em></p>
<p style="text-align: justify;">If you use X and have a recent distribution, '<strong><em>make xconfig</em></strong>' is your best bet. Once you get the kernel configuration screens, enable the following openMosix options in the kernel configuration:</p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em># CONFIG_MOSIX_TOPOLOGY is not set </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_UDB=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em># CONFIG_MOSIX_DEBUG is not set </em></p>
<p style="color: #00ff00; text-align: justify;"><em># CONFIG_MOSIX_CHEAT_MIGSELF is not set </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_WEEEEEEEEE=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_DIAG=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_SECUREPORTS=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_DISCLOSURE=3 </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_QKERNEL_EXT=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_DFSA=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_FS=y </em></p>
<p style="color: #00ff00; text-align: justify;"><em>CONFIG_MOSIX_PIPE_EXCEPTIONS=y </em></p>
<p style="text-align: justify;"><span style="color: #00ff00;"><em>CONFIG_QOS_JID=y</em></span></p>
<p style="text-align: justify;">Feel free to tweak your other kernel settings based on your hardware and requirements just as you would when installing a new kernel.</p>
<p style="text-align: justify;">Finally, finish it all off by compiling the kernel with:</p>
<p style="color: #00ff00; text-align: justify;"><em>make dep bzImage modules modules_install </em></p>
<p style="text-align: justify;">Now install your new kernel in your bootloader. For example, if you use LILO, edit your /etc/lilo.conf and create a new entry for your openMosix enhanced kernel. If you simply copy the entry for your regular kernel and change the kernel image to point to your new kernel, this should be enough. Don't forget to run '<em><strong>lilo</strong></em>' when you finish editing the file.</p>
<p style="text-align: justify;">After you have completed this, reboot, and if all went well, you should be able to select the openMosix kernel you just installed and boot with it. If something didn't work right, you can still select your regular kernel and boot normally to troubleshoot.</p>
<h3>2. Installing from RPM</h3>
<p style="text-align: justify;">If you have an RPM based distribution, you can directly get a pre-compiled kernel image with openMosix enabled from the openMosix site (<a href="https://sourceforge.net/projects/openmosix/" target="_blank" rel="nofollow noopener">https://sourceforge.net/projects/openmosix/</a>).</p>
<p style="text-align: justify;">This is a fairly easy way to install openMosix as you just need to install 2 RPMs. This should work with Red Hat, SUSE etc. Get the two latest RPMs for the</p>
<p style="text-align: justify;">a) openmosix-kernel</p>
<p style="text-align: justify;">b) openmosix-tools</p>
<p style="text-align: justify;">Now you can simply install both of these by using the command:</p>
<p style="color: #00ff00; text-align: justify;"><em>rpm -Uvh openmosix*.rpm</em></p>
<p style="text-align: justify;">If you are using GRUB, the RPM's will even make the entry in your GRUB config so you can just reboot and select the new kernel. If you use LILO you will have to manually make the entry in /etc/lilo.conf. Simply copying the entry for your regular kernel and changing the kernel image to point to your new kernel should be enough. Don't forget to run <span style="font-style: italic;">'</span><em><strong>lilo</strong></em><span style="font-style: italic;">'</span> when you finish editing the file.</p>
<p style="text-align: justify;">That should be all you need to do for the RPM based installation. Just reboot and choose the openMosix kernel when you are given the choice.</p>
<h3>3. Installing in Debian</h3>
<p style="text-align: justify;">You can install the RPM's in Debian as well as using Alien, but it is better to use apt-get to install the kernel sources and openmosix kernel patch. You can also use the '<strong><em>apt-get</em></strong>' command to install openmosixview, which will give you a GUI to manage the cluster.</p>
<p style="text-align: justify;">This is the basic procedure needed to follow for installing openMosix under Debian.</p>
<p style="text-align: justify;">First, get the packages:</p>
<p style="color: #00ff00; text-align: justify;"><em>cd /usr/src </em></p>
<p style="color: #00ff00; text-align: justify;"><em>apt-get install kernel-source-2.4.24 kernel-package \ </em></p>
<p style="color: #00ff00; text-align: justify;"><em>openmosix kernel-patch-openmosix </em></p>
<p style="text-align: justify;">Untar them and create the links:</p>
<p style="color: #00ff00; text-align: justify;"><em>tar vxjf kernel-source-2.4.24.tar.bz2 </em></p>
<p style="color: #00ff00; text-align: justify;"><em>ln -s /usr/src/kernel-source-2.4.24 /usr/src/linux </em></p>
<p style="text-align: justify;">Apply the patch:</p>
<p style="color: #00ff00; text-align: justify;"><em>cd /usr/src/linux </em></p>
<p style="color: #00ff00; text-align: justify;"><em>../kernel-patches/i386/apply/openmosix </em></p>
<p style="text-align: justify;">Install the kernel:</p>
<p style="color: #00ff00; text-align: justify;"><em>make menuconfig </em></p>
<p style="color: #00ff00; text-align: justify;"><em>make-kpkg kernel_image modules_image </em></p>
<p style="color: #00ff00; text-align: justify;"><em>cd .. </em></p>
<p style="color: #00ff00; text-align: justify;"><em>dpkg -i kernel-image-*-openmosix-*.deb </em></p>
<p style="text-align: justify;">After this you can use '<strong><em>apt-get</em></strong>' to install the openmosixview GUI utility for managing your cluster using the following command:</p>
<p><strong>apt-get install openmosixview</strong></p>
<p style="text-align: justify;">Assuming you've successfully installed ClusterKnoppix, your ready to start using it - which also happens to be the topic of the next section:&nbsp; <a href="https://www.firewall.cx//tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-using-cluster.html" title="Using ClusterKnoppix">Using ClusterKnoppix</a></p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 07:52:41 +1000</pubDate>
		</item>
		<item>
			<title>OpenMosix - Part 1: Understanding openMosix</title>
			<link>https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-understand.html</link>
			<guid isPermaLink="true">https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-understand.html</guid>
			<description><![CDATA[<p style="text-align: justify;">As we said before, openMosix is a single system image clustering extension for the Linux kernel. It has its roots in the extremely popular MOSIX clustering project, the main difference being that it is distributed under the GNU General Public License.</p>
<p style="text-align: justify;">It allows a cluster of computers to behave like one big multi-processor computer. For example, if you run 2 processes on a single machine, each process will only get 50% of the CPU time. However, if you run both these processes over a 2 node cluster, each process will get 100% CPU time since there are two processors available. In essence, this behavior is very similar to SMP (Symmetric Multi-Processor) systems.</p>
<h2>Diving Deeper</h2>
<p style="text-align: justify;">What openMosix does is balance the processing load over the systems in the cluster, taking into account the speed of the systems and the load they already have. Note however, that it does not parallelize the processing. Each individual process only runs on one computer at a time.</p>
<p style="text-align: justify;">To quote the openMosix website example :</p>
<table border="1" style="width: 592px;"><!--DWLayoutTable-->
<tbody>
<tr>
<td style="text-align: center; width: 620px;"><em>'<span>If your computer could convert a WAV to a MP3 in a minute, then buying another nine computers and joining them in a ten-node openMosix cluster would NOT let you convert a WAV in six seconds. However, what it would allow you to do is convert 10 WAVs simultaneously. Each one would take a minute, but since you can do lots in parallel you'd get through your CD collection much faster.</span>'</em></td>
</tr>
</tbody>
</table>
<p style="text-align: justify;">This simultaneous processing has a lot of uses, as there are many tasks that adapt extremely well to being used on a cluster. In the later sections, we'll show you some practical and fun uses for an openMosix based GNU/Linux cluster. <strong>Next</strong>: <a href="https://www.firewall.cx/tools-tips-reviews/products/openmosix-linux-supercomputer/linux-openmosix-building.html">Building An openMosix Cluster</a></p>
<p>&nbsp;</p>]]></description>
			<category>OpenMosix- Linux Supercomputer</category>
			<pubDate>Thu, 21 Jul 2011 07:49:00 +1000</pubDate>
		</item>
	</channel>
</rss>
