Thread: [SSI-users] Changing IP address for master node
Brought to you by:
brucewalker,
rogertsang
From: Eric T. <Eri...@dc...> - 2003-11-20 16:58:37
|
Hi all. I've recently started work on testing OpenSSI for a future project and I am happy with how the installation went. I successfully got a three node test cluster going using RedHat 9 and OpenSSI 0.9.95 over Penguin Computing dual-AMD servers. I ran into trouble when I needed to change the private-LAN IP address the master node uses. The master has eth0 configured with a public LAN IP, and eth1 was initially configured with 192.168.1.1; the other nodes then got .2, .3, and so on. For administrative reasons, I had to switch the master and other nodes to use 192.168.10. addresses. I made the changes in /etc/clustertab and /etc/dhcpd.conf for all the nodes. Despite those changes and changing the /etc/sysconfig/network-scripts/ifcfg-eth1 (yes the directory is the correct symlink) script to use 192.168.10.1, the system always ends up with eth1 using 192.168.1.1. I tried using the clusterip.sh script, and that works temporarily, but the changes don't stick after a reboot. I am unable to add new nodes because the install script bombs on the conflict between the "configured" 192.168.1.1 address and the new one in /etc/clustertab for node 1. I tried to run mkinitrd again but got the same message: [root@master boot]# mkinitrd --cfs /boot/initrd-2.4.20-ssi.img 2.4.20-20.9_ssi_8ssi mkdhcpd.conf: fatal error: Field 2 (IP address) of line 33 of /etc/clustertab disagrees with currently configured address (192.168.1.1) Error generating boottab and dhcpd.conf. Try again despite [root@master boot]# ifconfig -a [...] eth1 Link encap:Ethernet HWaddr 00:E0:81:22:BE:FD inet addr:192.168.1.1 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 which I had to set using the clusterip.sh script. I searched through the archives for this list with no luck. How do I go about changing the master's IP address? Thanks in advance. - Eric |
From: Aneesh K. KV <ane...@di...> - 2003-11-20 17:23:09
|
Can you send the dhcp.conf and /etc/clustertab file -aneesh -- ph: 603-884-5742 |
From: Eric T. <Eri...@dc...> - 2003-11-20 18:26:47
|
On Thu, 20 Nov 2003, Aneesh Kumar KV wrote: > Can you send the dhcp.conf and /etc/clustertab file Certainly. dhcpd.conf: (comments removed) -------------------------- ddns-update-style ad-hoc; subnet 192.168.0.0 netmask 255.255.0.0 { filename "/combined"; host node1 { hardware ethernet 00:E0:81:22:BE:FD; fixed-address 192.168.10.1; } host node2 { hardware ethernet 00:E0:81:22:BE:FA; fixed-address 192.168.10.2; } host node3 { hardware ethernet 00:E0:81:23:35:DE; fixed-address 192.168.10.3; } host node4 { hardware ethernet 00:E0:81:23:36:08; fixed-address 192.168.10.4; } } subnet 192.168.0.0 netmask 255.255.0.0 { filename "/pxelinux.0"; } /etc/clustertab --------------------------------------- 1 192.168.10.1 00:E0:81:22:BE:FD E 1 /dev/hda1 2 192.168.10.2 00:E0:81:22:BE:FA E 0 3 192.168.10.3 00:E0:81:23:35:DE E 0 4 192.168.10.4 00:e0:81:23:36:08 E 0 - Eric |
From: Brian J. W. <Bri...@hp...> - 2003-11-21 02:58:23
|
Eric Trager wrote: > Despite those changes and changing the > /etc/sysconfig/network-scripts/ifcfg-eth1 (yes the directory is the > correct symlink) script to use 192.168.10.1, the system always ends up > with eth1 using 192.168.1.1. I tried using the clusterip.sh script, and > that works temporarily, but the changes don't stick after a reboot. I am > unable to add new nodes because the install script bombs on the conflict > between the "configured" 192.168.1.1 address and the new one in > /etc/clustertab for node 1. I tried to run mkinitrd again but got the same > message: The change to .../network-scripts/ifcfg-eth1 is meaningless when you're running an OpenSSI kernel. The IP address in the SSI initrd (which comes from /etc/clustertab) is the one that matters. The ifcfg-eth1 file only means something if you reboot your first node into a base kernel. As you have guessed, the /etc/clustertab file is the correct place to make the change for OpenSSI. Also, you've guessed correctly that you need to re-run mkinitrd for the change to have any effect. In the future, I plan to enhance the chnode command to do all this for you. > [root@master boot]# mkinitrd --cfs /boot/initrd-2.4.20-ssi.img > 2.4.20-20.9_ssi_8ssi > mkdhcpd.conf: fatal error: > Field 2 (IP address) of line 33 of /etc/clustertab disagrees with > currently configured address (192.168.1.1) > Error generating boottab and dhcpd.conf. Try again The mkdhcpd.conf script is called by mkinitrd when the --cfs or --gfs options are used. It's purpose is to read /etc/clustertab and use it to generate /etc/dhcpd.conf for network booting and a simplified boottab file for the initrd. Since the netmask for the cluster interconnect is not part of /etc/clustertab, the mkdhcpd.conf script extracts the netmask from a locally configured interface that matches a line in /etc/clustertab. The error you're seeing is a safeguard to prevent a bogus netmask from being extracted from a misconfigured interface. Sorry for the trouble. Once I enhance chnode to let you change IP addresses, this won't be a problem. The easiest way for now to work around this issue is to reboot the first node into the base kernel. Since you've changed ifcfg-eth1, it should configure eth1 with the 192.168.10.1 address that you desire. Now you should be able to run mkinitrd without trouble. Reboot into the OpenSSI kernel, network boot your dependent nodes (whether or not they have local boot device), then run ssi-ksync to update all the local boot devices in the cluster. Hopefully this fixes your problem. Thanks for the detailed bug report. Also, thanks for reading the archives before reporting it. I appreciate the effort. :) Sorry for the trouble my scripts have caused you, Brian |
From: Eric T. <Eri...@dc...> - 2003-11-21 13:52:00
|
On Thu, 20 Nov 2003, Brian J. Watson wrote: > The mkdhcpd.conf script is called by mkinitrd when the --cfs or --gfs > options are used. It's purpose is to read /etc/clustertab and use it to > generate /etc/dhcpd.conf for network booting and a simplified boottab > file for the initrd. > > Since the netmask for the cluster interconnect is not part of > /etc/clustertab, the mkdhcpd.conf script extracts the netmask from a > locally configured interface that matches a line in /etc/clustertab. The > error you're seeing is a safeguard to prevent a bogus netmask from being > extracted from a misconfigured interface. Sorry for the trouble. Once I > enhance chnode to let you change IP addresses, this won't be a problem. Ah... okay. I hadn't boiled it down to where the check was taking place or why. Aneesh Kumar (thanks again) wrote me directly and suggested that for the moment I modify the Clustertab.pm module to remove/comment out the lines where the check takes place. I included part of what he sent me at the end of this message. This hack was effective, and following a reboot I was able to complete adding a new node. > The easiest way for now to work around this issue is to reboot the first > node into the base kernel. Since you've changed ifcfg-eth1, it should > configure eth1 with the 192.168.10.1 address that you desire. Now you > should be able to run mkinitrd without trouble. Reboot into the OpenSSI > kernel, network boot your dependent nodes (whether or not they have > local boot device), then run ssi-ksync to update all the local boot > devices in the cluster. Exellent suggestion. I had only just discovered the reliance on initrd and it hadn't occurred to me that the check on the currently configured address would not fail if I had booted into the original system kernel. > Hopefully this fixes your problem. Thanks for the detailed bug report. > Also, thanks for reading the archives before reporting it. I appreciate > the effort. :) > > Sorry for the trouble my scripts have caused you, Not at all... The software is excellent (the installation docs were perfect) and it's been fun getting this far. A couple of our scientists are looking forward to taking it for a spin. - - - - - Eric Trager Unix/Linux Infrastructure Management NIH -> CIT -> DCB -> HPCIO Eri...@dc... *** Clustertab.pm.old Thu Nov 20 14:32:22 2003 --- Clustertab.pm Thu Nov 20 14:33:05 2003 *************** *** 271,288 **** next unless $record; my $ipaddr = $interface->{IPADDR}; ! die "Field 2 (IP address) of line $record->{LINE} of " . ! "$clustertab disagrees with\n" . ! "\tcurrently configured address ($ipaddr)\n" ! unless $record->{IPADDR} eq $ipaddr; my $mask = $interface->{NETMASK}; my $net = $interface->{NETADDR}; foreach (@$records) { ! die "Field 2 (IP address) of line $_->{LINE} of " . ! "$clustertab is on a different network\n" ! if getnet($_->{IPADDR}, $mask) ne $net; } return $interface; --- 271,288 ---- next unless $record; my $ipaddr = $interface->{IPADDR}; ! # die "Field 2 (IP address) of line $record->{LINE} of " . ! # "$clustertab disagrees with\n" . ! # "\tcurrently configured address ($ipaddr)\n" ! # unless $record->{IPADDR} eq $ipaddr; my $mask = $interface->{NETMASK}; my $net = $interface->{NETADDR}; foreach (@$records) { ! # die "Field 2 (IP address) of line $_->{LINE} of " . ! # "$clustertab is on a different network\n" ! # if getnet($_->{IPADDR}, $mask) ne $net; } return $interface; |
From: Aneesh K. KV <ane...@di...> - 2003-11-21 14:22:48
|
Eric Trager wrote: > > >*** Clustertab.pm.old Thu Nov 20 14:32:22 2003 >--- Clustertab.pm Thu Nov 20 14:33:05 2003 >*************** >*** 271,288 **** > next unless $record; > > my $ipaddr = $interface->{IPADDR}; >! die "Field 2 (IP address) of line $record->{LINE} of " . >! "$clustertab disagrees with\n" . >! "\tcurrently configured address ($ipaddr)\n" >! unless $record->{IPADDR} eq $ipaddr; > > my $mask = $interface->{NETMASK}; > my $net = $interface->{NETADDR}; > > foreach (@$records) { >! die "Field 2 (IP address) of line $_->{LINE} of >" . >! "$clustertab is on a different >network\n" >! if getnet($_->{IPADDR}, $mask) ne $net; > } > > > I guess instead of this "die" we should just be warning the user ? -aneesh |
From: Brian J. W. <Bri...@hp...> - 2003-11-21 21:58:42
|
Aneesh Kumar KV wrote: > I guess instead of this "die" we should just be warning the user ? I'm nervous about allowing mkinitrd to continue and cause problems later on if it has a bogus netmask for the cluster interconnect. The "die" might be annoying, but it makes it clear that something's wrong. Once chnode has support for changing IP addresses, perhaps this won't be a problem anymore. Brian |
From: Brian J. W. <Bri...@hp...> - 2003-11-21 21:22:40
|
Eric Trager wrote: > Not at all... The software is excellent (the installation docs were > perfect) and it's been fun getting this far. A couple of our scientists > are looking forward to taking it for a spin. Great!! I hope your scientists enjoy it as much as you have. Brian |