Enabling biosdevname on PE T610

Jeff Boyce jboyce at meridianenv.com
Tue Jan 24 16:24:57 CST 2012


> ----- Original Message ----- 
> From: <Narendra_K at Dell.com>
> To: <mfridh at marinsoftware.com>; <jboyce at meridianenv.com>
> Cc: <linux-poweredge at lists.us.dell.com>
> Sent: Monday, January 23, 2012 11:59 PM
> Subject: RE: Enabling biosdevname on PE T610
>

> > -----Original Message-----
> > From: linux-poweredge-bounces-Lists On Behalf Of Mikael Fridh
> > Sent: Tuesday, January 24, 2012 5:19 AM
> > To: Jeff Boyce
> > Cc: linux-poweredge-Lists
> > Subject: Re: Enabling biosdevname on PE T610
> >
> > On Mon, Jan 23, 2012 at 02:39:11PM -0800, Jeff Boyce wrote:
> > > Greetings -
> > >
> > > I have a new PE T610 that I am configuring for my office, and before I
> > > put it into production I wanted to make sure that it was using the new
> > > network device naming scheme implemented by biosdevname.  This box
> > > will be used as a KVM host with 3 virtual machines, all using CentOS.
> > > I initially installed Centos 6.0 in the host OS and for two VM's.  I
> > > have updated the host system to CentOS 6.2.
> > >
> > [...]
> >
> > > I have rebooted the box since the system update and still see that it
> > > is using the old naming convention.
> >
> > [...]
> >
> >
> > I'm using biosdevname on both 5.7 and 6.2 kickstart installs and I 
> > believe that
> > 70-persistent-net.rules overrides the naming from 60-biosdevname.rules.
> >
> > Since you've already installed biosdevname you should be good to go:
> > run biosdevname -i eth0 -> it will show 'em1' or similar
> >
> > rename ifcfg-eth0 to ifcfg-em1 and change DEVICE=eth0 to DEVICE=em1
> > inside the same files. Repeat for all eth interfaces.
> >
> [>]
>
> Hi,
>
> If '/etc/udev/rules.d/70-persistent-net.rules'  file is present, 
> biosdevname will not be launched. 
> '/lib/udev/rules.d/71-biosdevname.rules' > checks if NAME is already set 
> and will not launch biosdevname if it is set. Renaming the config files 
> 'ifcfg-ethN to ifcfg-emN' and changing > DEVICE=ethN to DEVICE=emN  would 
> be required. Also, please ensure that HWADDR field is set correctly.
>
> Executing  'biosdevname -d' will provide details such as what the current 
> 'Kernel name:' is (such as ethN) and what would be the "BIOS > device:" 
> (emN) name as suggested by 'biosdevname' and the MAC address information.
>
> [...]
>
> With regards,
> Narendra K
>


Ok, thanks Narenda. I understand a little bit more, and have found my first 
error of logic. Updating a system installed as CentOS 6.0 does not install 
biosdevname if is wasn't installed originally. I have since run a yum 
install to get the proper biosdevname on my system.

[root at earth jeffb]# biosdevname -d
BIOS device: em1
Kernel name: eth0
Permanent MAC: 78:2B:CB:5C:82:D1
Assigned MAC : 78:2B:CB:5C:82:D1
Driver: bnx2
Driver version: 2.1.11
Firmware version: 6.2.14 bc 5.2.3 NCSI 2.0.11
Bus Info: 0000:01:00.0
PCI name : 0000:01:00.0
PCI Slot : embedded
SMBIOS Device Type: Ethernet
SMBIOS Instance: 1
SMBIOS Label: Embedded NIC 1
sysfs Index: 1
sysfs Label: Embedded NIC 1
Embedded Index: 1

BIOS device: em2
Kernel name: eth1
Permanent MAC: 78:2B:CB:5C:82:D3
Assigned MAC : 78:2B:CB:5C:82:D3
Driver: bnx2
Driver version: 2.1.11
Firmware version: 6.2.14 bc 5.2.3 NCSI 2.0.11
Bus Info: 0000:01:00.1
PCI name : 0000:01:00.1
PCI Slot : embedded
SMBIOS Device Type: Ethernet
SMBIOS Instance: 2
SMBIOS Label: Embedded NIC 2
sysfs Index: 2
sysfs Label: Embedded NIC 2
Embedded Index: 2

BIOS device: p4p1
Kernel name: eth2
Permanent MAC: 00:1B:21:C5:85:6B
Assigned MAC : 00:1B:21:C5:85:6B
Driver: e1000e
Driver version: 1.4.4-k
Firmware version: 5.6-8
Bus Info: 0000:04:00.0
PCI name : 0000:04:00.0
PCI Slot : 4
SMBIOS Label: PCI4
Index in slot: 1

Now I guess my question is how to most efficiently (with the least potential 
for error) have my devices show the new naming scheme, and make sure that it 
persists across reboots?  As I mentioned before, I do have 
'/etc/udev/rules.d/70-persistent-net.rules' present, and I now have 
'/lib/udev/rules.d/71-biosdevname.rules' also present on my system.  I have 
a bridge device for my KVM host, and am only currently using eth0 (but also 
have eth1 on the motherboard, and an add-in card with eth2).  I have not 
updated the OS on my guest VMs yet.

/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="no"
ONBOOT="yes"
HWADDR=78:2B:CB:5C:82:D1
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.112.5
PREFIX=24
GATEWAY=192.168.112.10
DNS1=205.171.3.65
DNS2=205.171.2.65
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
HWADDR=78:2B:CB:5C:82:D1
TYPE=Ethernet
BOOTPROTO=static
# IPADDR=192.168.112.5
# PREFIX=24
# GATEWAY=192.168.112.10
# DNS1=205.171.3.65
# DNS2=205.171.2.65
# DEFROUTE=yes
# IPV4_FAILURE_FATAL=yes
# IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
BRIDGE=br0

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.

Jeff



More information about the Linux-PowerEdge mailing list