The /etc/hosts file from Ralphzilla includes the following records for the machines that comprise Ralphzilla:
10.1.93.47 Ralphzilla
210.1.1.2 Ralphzilla
210.1.1.3 Ralphzilla-faxa
210.1.1.4 Ralphzilla-raider
210.1.1.5 Ralphzilla-free
210.1.1.6 Ralphzilla-b-free
The 10.1.93.x network is the local subnet of the public network on which Ralphzilla exists. (Some would argue that using public network in this sense is a misnomer, since it is seperated from the Internet by a firewall and the first section of the address clearly indicates a network designated as private. In the context of this discussion that distinction is largely semantic, the 10.1.93.x subnet connects to a network of tens of thousands of users over a geographically disperse area. Compared to five machines connected to the same hub, I'd say that qualifies as a public network. The 210.1.1.x network represents that one hub. I assigned that address arbitrarily when I started to set up the cluster. While it is not one of the address ranges defined as reserved for private networks the face that Ralphzilla is not configured to route between the two networks renders that point almost moot. The only context in which this would cause a modest problem would lie in name resolution requests from Ralphzilla itself. I can see only two areas in which that could conceivably represent a conflict: 1) apt-get operations and 2) potential confirmatory e-mails from ralphzilla to fax senders or routing incoming fax transmissions to e-mail recipients. Neither case represents a problem in this instance, because neither the debian mirrors I use nor them email gateway used by the State of Indiana are in this range. While I would assign these addresses differently if I were starting over, it is not important enough for me to go back and change them. Let this represent an object lesson to you ... to be absolutely free from the possiblility of conflict you should use addresses from those Class A network addresses defined as private. For example, given that the larger network is defined as 10.x.x.x, the cluster addresses could have been assigned from the 192.x.x.x network.
In any event, once the cluster was in place my only method of contact with the machines in the cluster was through Ralphzilla, by telnetting to Ralphzilla and from there telnetting to cluster machines. For that reason I wanted the addresses of each of Ralphzilla's network cards in its hosts file. However, since Mosix also uses the addresses in the hosts file, that complicated matters slightly for the map file. It would, at first glance, seem that the mosix.map file for a simple cluster such as this could be as basic as:
Mosrun
The mosrun utility is used during configuration primarily to specify which daemons should not be allowed to migrate from the machine on which they originate. The general advice regarding which processes should be restricted to their home node seems to be that daemons that establish the operation and environment of the node should probably be kept local. (The /etc/inittab file I've put together for a generic cluster box is here.) That makes sense, if you think about it. While the cluster might be able to function if the nmbd daemon from ralphzilla-free had migrated to ralphzilla-raider, for example, it would take a context so extreme and unusual for that to represent efficient operation that the context would probably never occur, and even if it did would be fleeting. Similarly, the postmaster daemon on the database server in the cluster, ralphzilla-raider, should almost certainly be locked down to that machine. The only context I can envision in which it would make sense to allow it to migrate would be when database access is expected to be very infrequent, in which case one might allow it to migrate so the more powerful processor in that processor could be used by another process. In such a circunstance, however, it would seem more rational to put the database server on a less-powerful node and lock it down there. Regardless, these are the considerations that should be brought to bear when assessing when to lock a process to a given machine with mosrun.
The discussion above does bring up a point that I hope to address as I experiment with the cluster. That is, I'm not at this point sure whether processes like the samba daemons are required, optional, or irrelevant on the cluster nodes beyond the controller. Since the shared directory is mounted under the /mfs mount point, and visible to all machines in the cluster, my suspicion is that they are not required. Recall, however, that my strategy is to install a working system, and then pull stuff out until it breaks or slows down significantly. We'll find out the answer to some of these questions as we go along.
Once the mosix.map, /etc/default/mosix, and /etc/inittab files are configured to support your configuration, you should be able to start mosix on the machine in question by issuing the command "/etc/init.d/mosix start". The debian installation will have configured your machine so this script will also be run at system startup.