Enabling biosdevname on PE T610

Jeff Boyce jboyce at meridianenv.com
Wed Jan 25 15:45:00 CST 2012


----- Original Message ----- 
From: "Jeff Boyce" <jboyce at meridianenv.com>
To: <linux-poweredge at lists.us.dell.com>; <Narendra_K at Dell.com>
Sent: Wednesday, January 25, 2012 12:10 PM
Subject: Re: Enabling biosdevname on PE T610


> ----- Original Message ----- 
> From: <Narendra_K at Dell.com>
> To: <jboyce at meridianenv.com>; <linux-poweredge at lists.us.dell.com>
> Sent: Wednesday, January 25, 2012 12:06 PM
> Subject: RE: Enabling biosdevname on PE T610
>
>
>> > > -----Original Message-----
>> > > From: Jeff Boyce [mailto:jboyce at meridianenv.com]
>> > > Sent: Wednesday, January 25, 2012 3:55 AM
>> > > To: linux-poweredge-Lists; K, Narendra
>> > > Subject: Re: Enabling biosdevname on PE T610
>> >
>> > [...]
>> >
>> > >
>> > > Could I do something as simple as renaming the 
>> > > 70-persistent-net.rules
>> > > file
>> > > so that it is not present/recognized then reboot my system?  Would 
>> > > that
>> > > allow 71-biosdevname.rules do it's job?  Based on your comment above 
>> > > I
>> > > am
>> > > not sure if I also need to manually rename my ifcfg-eth0 to 
>> > > ifcfg-em0,
>> > > or
>> > > would just making the 'NAME=' parameter blank in this file do what is
>> > > needed.  I am not sure which combination of actions I need to do, and
>> > > what
>> > > would be easiest and least prone to error.  Some additional guidance
>> > > here
>> > > would be great.  I am a little bit of a Linux novice, but am good at
>> > > reading, listening, and learning.  Thanks for your help.
>> >
>> > Hi,
>> >
>> > Yes, renaming '70-persistent-net.rules' file will be enough.
>> >
>> > 1. Rename ifcfg-eth0 and ifcfg-em1 (or the 'BIOS Device' as suggested 
>> > by
>> > 'biosdevname -d')
>> >
>> > 2. In 'ifcfg-em1'  change the DEVICE=eth0 to DEVICE=em1. (or the 'BIOS
>> > Device' as suggested by 'biosdevname -d').
>> >  This is required as network scripts look/process this directive.
>> >
>> > 3. Ensure the HWADDR is correct.
>> >
>> > Similarly for eth1 (to em2) and eth2 (p4p1). The names would be
>> > deterministic/same across reboots.
>> >
>> > With regards,
>> > Narendra K
>> >
>>
>> Ok, there must be another step somewhere to get this to work, or I have
>> made
>> a mistake somewhere.  Here is what I have done (I will post the output of
>> relevant files below):
>>
>> 1.  Renamed '70-persistent-net.rules'  to  'old.70-persistent-net.rules'
>> 2.  Copied 'ifcfg-eth0'  to  'ifcfg-eth0.old'  and renamed  'ifcfg-eth0' 
>> to
>> 'ifcfg-em1'.  So in my /etc/sysconfig/network-scripts directory I now 
>> have a
>> 'ifcfg-eth0.old'  and an  'ifcfg-em1' file.
>> 3.  Repeated step #2 for the eth1, eth2, and br0 files using the 
>> information
>> from biosdevname -d
>> 4.  In  'ifcfg-em1'  changed the DEVICE=eth0  to DEVICE=em1
>> 5.  Repeated step #4 for all other ifcfg files as appropriate.
>> 6.  Verified that the HWADDR is correct in all ifcfg files.
>> 7.  In  'ifcfg-em1'  changed the NAME="System eth0"  to  NAME="System
>> em1"
>> 8.  Repeated step #7 for all other ifcfg files as appropriate.
>> 9.  Rebooted the system.
>>
>> Results:
>> 1.  Upon reboot the system startup procedure responded that :
>>           Bringing up em1.....Device em1 does not seem to be
>> present....(Failed)
>>           Bringing up eth0.old.....(Succeeded)
>> 2.  #ifconfig ... shows that my first network device is identified as 
>> eth0
>> 3.  A new '70-persistent-net.rules' file was created in the
>> /etc/udev/rules.d  directory.
>> 4.  No new rules were created in the  /etc/udev/rules.d  directory.
>>
>> I did a little more google searching and found a Fedora Wiki article
>> http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming
>> that
>> makes the following recommendations to enable the new naming scheme:
>>
>> 1.  Existing installations upgraded to Fedora 15 will not see a change in
>> names unless /etc/udev/rules.d/70-persistent-net.rules is deleted;
>> 2.  The HWADDR lines are removed from all
>> /etc/sysconfig/network-scripts/ifcfg-* files, and;
>> 3.  Those files are renamed to use the new device names.
>>
>> Following this information, and another comment I saw elsewhere, I made
>> two
>> changes.
>> 1.  Commented out the HWADDR= lines in all ifcfg files.
>> 2.  Commented out the NAME= lines in all ifcfg files.
>>
>> I then rebooted the system (after making sure to remove the new
>> '70-persistent-net.rules' file that was created on the previous boot) and
>> the results were the same as listed above.
>>
>> I am out of ideas now and am wondering if there is something that I have
>> missed.  My current relevant configuration files are listed below. 
>> Thanks.
>
> Hi, I suspect it could be due to the name  'old.70-persistent-net.rules'. 
> Looks like since the renamed file is still having '.rules' extension, it 
> is being processed. I suppose this file is still present in 
> '/etc/udev/rules.d/' directory right ?  Please ensure that the renamed 
> file does not have a '.rules' extention/suffix or  it is deleted.
>
> Also, I think it might be helpful to place the  'ifcfg-ethN.old' files in 
> a different directory (say /etc/sysconfig/network-scripts/backup).
>
> With regards,
> Narendra K
>
>>
>> Jeff
>>
>>
> Thanks, I will give those recommendations a try and report back.
>
> Jeff
>

Ok, the bios device naming scheme now works as expected.  Here are the last 
steps that I did before rebooting again.
1.  Create the directory  /etc/sysconfig/network-scripts/original  and 
placed my original network script here using the naming scheme 
ifcfg-ethx.orig.
2.  Create the directory  /etc/udev/rules.d/original  and placed my original 
'70-persistent-net.rules' here with the new name of 
'70-persistent-net.rules.orig'.
3.  Deleted the current 70-persistent-net.rules file from /etc/udev/rules.d
4.  Reverted the final two changes that I made to all the ifcfg files, so 
that the 'HWADDR=' and 'NAME=' lines are no longer commented out.
5.  Rebooted the host system.

Results show:
1.  #ifconfig....  shows reference to em1 instead of eth0
2.  biosdevname -d....  shows that the BIOS device name and the Kernel name 
are the same for all interfaces.

So if anyone else is needing/wanting to change their system from using the 
previous ethX naming convention to the new biosdevname naming convention 
here is a summary of the steps that were successful for me.

1.  Create the directory /etc/sysconfig/network-scripts/original and placed 
a copy of my original network script here using the naming scheme 
ifcfg-ethx.orig.
2.  Create the directory /etc/udev/rules.d/original and placed a copy of my 
original '70-persistent-net.rules' here with the new name of 
'70-persistent-net.rules.orig'.
3.  Delete the file  '70-persistent-net.rules'  from the directory 
/etc/udev/rules.d
4.  Rename all  'ifcfg-ethX'  files to  'ifcfg-emX'  as defined by 
biosdevname -d
5.  Within each  'ifcfg-emX'  file, change the  'DEVICE=ethX'  to 
'DEVICE=emX'  as defined by biosdevname -d
6.  Within each  'ifcfg-emX'  file, change the  'NAME=System ethX'  to 
NAME=System emX' as defined by biosdevname -d
7.  Check to ensure that the hardware (mac) address listed by  'HWADDR='  is 
correct for each  'ifcfg-'  file
8.  Reboot the system.

Thanks Narendra, I owe you a beer next time you are in Seattle.

Jeff



More information about the Linux-PowerEdge mailing list