The following is a copy of an email off the ROCKS mailing list from May 8, 2006:
On Mon, 2006-05-08 at 23:04 +1000, Jonathan.Ennis-King@csiro.au wrote:
> I've just upgraded my frontend from Rocks 3.3 to Rocks 4.1.
> When I did this, I found that the NIC that was formerly eth0 had become eth1, and vica-versa. Fine, so I just switched the cables over.
> Except that for using the flexlm license manager (e.g. for intel compilers), the hostid turns out to depend on the MAC address of eth0, so the hostid of my frontend has changed, and the license files don't work. Plus other external things that depend on the MAC address might be affected.
> Any ideas why Rocks 4.1 might change the order of numbering the NICs compared to Rocks 3.3? (I hadn't unplugged from the external network when I did the upgrade, if that is relevant).
> Alternatively, is there some way to change the labelling of the NIC cards as far as hostid is concerned, without breaking any of the Rocks setup?
> Jonathan Ennis-King
Here was the message I got telling me how to do this. I have been using this with only one problem. The extra hosts entry created issues in SGE, so I mnually deleted it from the database when I was done. There probably was a better solution.
From: Philip Papadopoulos <email@example.com>
To: Bill Hoover <firstname.lastname@example.org>, email@example.com
Subject: RE: [Rocks-Discuss]switch eth0/1 on frontend
Date: Mon, 14 Nov 2005 20:23:16 -0800
I assume you are running rocks 4.1?
Warning! The following is _not_ documented, but should work.
1. look ~root/probed-ethers.sh
In this file you will see the ethernet devices and their associated Mac addresses in the add-extra-nic lines. This file is created at install time Eg the contents look like:
add-extra-nic --ip="10.1.1.1" --netmask="255.0.0.0" --name="rocks-159"
--module="e1000" --mac="00:07:E9:23:84:F2" --if="eth0" rocks-159 add-extra-nic --ip="22.214.171.124" --netmask="255.255.255.0"
--module="e1000" --mac="00:07:E9:23:84:F3" --if="eth1" rocks-159
You should _swap_ the mac addresses of these two lines and then do ...
Don't try to do anything else,
You want to keep the internal IP associated with eth0 and external IP address associated with eth1.
You simply want to bind a particular mac address to particular logical interface
# sh ~root/probed-ethers.sh
# dbreport ifcfg eth0 <shortname of frontend> > /etc/sysconfig/network-scripts/ifcfg-eth0
# dbreport ifcfg eth1 <shortname of frontend> >
(you should check the output of dbreport ifcfg eth0 <shortname of
frontend>, to see if it looks
Then reboot your frontend.
(what the following does -- it associates a particular mac address with a particular logical interface.
It then writes the ifcfg-eth<n> files to force a particular mac address to be a particular interface.
== Philip Papadopoulos, Ph.D.
== Director Advanced San Diego Supercomputer Center
== Cyberinfrastructure Lab 9500 Gilman Drive
== Ph: (858) 822-3628 University of California, San Diego
== FAX: (858) 822-0833 La Jolla, CA 92093-0505
> -----Original Message-----
> From: firstname.lastname@example.org
> [mailto:email@example.com] On Behalf Of Bill
> Sent: Monday, November 14, 2005 6:06 PM
> To: firstname.lastname@example.org
> Subject: [Rocks-Discuss]switch eth0/1 on frontend
> After looking in the docs, I don't see how to do this.
> My frontend has dual Intel e1000 gigabit interfaces on board.
> The problem is that the way that Rocks 4.1 uses eth0 and 1 by default
> means that my extra server system management is on the ethernet line
> that is connected to the internal cluster rather than to the public
> IP, making it pretty useless.
> Is there a way to swap which physical ethernet controller is used for
> the two purposes?
- 07 Jun 2006