Firewire Configuration
Since the machines where based on a RedHat 8.0 environment it was
rather easy to actually install the FireWire cards. I opened the
machines, cut my fingers, and inserted the 2 cards in the machines.
The Kudzu tool from RedHat easily detected my FireWire cards. Here
lspci shows it in one of the 2 machines:
[root@dhcp71 root]# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:0b.0 Multimedia audio controller: Cirrus Logic CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] (rev 01)
00:0d.0 Ethernet controller: 3Com Corporation 3c900B-TPC [Etherlink XL TPC] (rev 04)
00:0f.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 43)
01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro AGP 1X/2X (rev 5c) |
The firewire cards are detected and configured by Kudzu but you still
have to define what you are going to do with these cards. So, the next
step, in order to set up FireWire networking, is to modprobe eth1394.
A dmesg will show you the following output:
ether1394: $Rev: 546 $ Ben Collins bcollins at debian.org
divert: allocating divert_blk for eth1
ether1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (ohci1394)
ieee1394: Device added: Node[01:1023] GUID[0011060000009456] [Linux
OHCI-1394] |
Configuring the cards works just as a normal network card:
- on machine 1
ifconfig eth1 10.0.139.1 netmask 255.255.255.0 up
- on machine 2
ifconfig eth1 10.0.132.2 netmask 255.255.255.0 up |
Now let's ping the other node:
[root@dhcp71 root]# ping 10.0.139.2
PING 10.0.139.2 (10.0.139.2) from 10.0.139.1 : 56(84) bytes of data.
64 bytes from 10.0.139.2: icmp_seq=1 ttl=64 time=0.659 ms
64 bytes from 10.0.139.2: icmp_seq=2 ttl=64 time=0.195 ms
--- 10.0.139.2 ping statistics ---
2 packets transmitted, 2 received, 0% loss, time 1006ms
rtt min/avg/max/mdev = 0.195/0.427/0.659/0.232 ms |
You DID put in the cables, didn't you? ;) Yes it can be that easy to
set up FireWire networking. More info on Linux and FireWire, in case
you run into troubles, can be found on
www.linux1394.orgConfiguring openMosix with this config
First we have to tell openMosix to use the eth1, the FireWire network
adapter, rather than the default eth0.
I first tried to configure openMosix with omdiscd just as I
configured it with the usual ethernet drivers. However this seemed to
fail, even while trying to force the cards into multicast and promisc
mode; it didn't work. So I decided to configure them the old way, with
an /etc/openmosix.map file:
[root@dhcp71 etc]# cat mosix.map.ieee1394
# MOSIX CONFIGURATION
# ===================
#
# Each line should contain 3 fields, mapping IP addresses
# to openMosix node-numbers:
# 1) first openMosix node-number in range.
# 2) IP address of the above node (or node-name from /etc/hosts).
# 3) number of nodes in this range.
#
# Example: 10 machines with IP 192.168.1.50 - 192.168.1.59
# 1 192.168.1.50 10
#
# openMosix-# IP number-of-nodes
# ==========================================
1 10.0.139.1 2 |
After modifying /etc/hosts to reflect the new hostname config, make
sure openMosix would recognize one of the IPs in /etc/openmosix.map as
being a local one.
[dhcp71 etc]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
10.0.139.1 dhcp71.office.be.stone-it.com
10.0.139.2 fire2 |
Then I just ran /etc/init.d/openmosix start
Mar 16 19:47:00 dhcp71 kernel: openMosix configuration disabled
Mar 16 19:47:00 dhcp71 kernel: openMosix configuration changed: This is openMosix #1 (of 2
configured)
Mar 16 19:47:00 dhcp71 kernel: openMosix range: 1-2 begins at 10.0.139.1 |
I ran our usual awk test script to make sure openMosix was actually
migrating processes using the firewire connection. And indeed we now
successfully had built a FireWire based openMosix cluster. So on to
the next target, finding out if it really speeded up our cluster.