[CentOS] Editing udev rules Was: More on Re: Really changing the hostname

me at tdiehl.org me at tdiehl.org
Sat Feb 16 13:06:13 UTC 2013


On Fri, 15 Feb 2013, Les Mikesell wrote:

> On Fri, Feb 15, 2013 at 10:16 PM,  <me at tdiehl.org> wrote:
>>>>
>>>> What is messing with udev rules supposed to be necessary?
>>>
>>> You should have a line in /etc/udev/rules.d/70-persistent-net.rules
>>> that associates the MAC address with the eth? name for each of your
>>> NICs.   Certain things (like removing the file, and maybe some
>>> hardware changes) will make it be reconstructed during boot and if you
>>> only have one NIC you wouldn't have much chance of it being wrong.
>>> But, if the name set there doesn't match the name of the
>>> /etc/sysconfig/network-scripts/ifcfg-eth* file with the correct MAC
>>> address, that interface should not start.
>>
>> Empirical evidence seems to suggest that if the correct udev entry is missing
>> udev will create the entry on its own.
>>
>> FWIW, the cards I am changing out have 3 ports on them
>> and again after doing 15 of these, I have never messed with udev.
>>
>> I did not even know about this "problem" until I read about it on this list.
>
>> From what I've seen, the ports on a single card will be detected in
> the same order every time.   The issue is that if you have some
> motherboard NICs and one or more  pci cards, the  order of detection
> of the groups will be a matter of chance.   Our servers mostly have
> some Broadcomm's on the MB plus a few multi-port Intel cards.   If you
> remove the udev rules,  there is no way to know whether the MB NICs or
> the add-ons will be eth0 and eth1.

Agreed, I have seen that behavior but I was talking about what happens if you
change a card, put the new MAC address in ifcfg-eth* and do nothing with the
udev rules.

I always use ks to build the machines and the interfaces are pre-defined in the
ks setup.

>
>> Interestingly enough, I just looked at the udev file and it contains not only
>> the new mac addresses but also the old ones.
>>
>> For example the entries for eth1 looks like the following:
>>
>> # PCI device 0x10ec:0x8167 (r8169)
>> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:18:a9:e4:ad", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
>>
>> # PCI device 0x8086:0x1076 (e1000) (custom name provided by external tool)
>> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:18:a4:eb:d0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
>>
>> I did not put any of these entries in there and I wonder what
>> "external tool" is providing the "custom name"?
>
> Don't know about the tool, but note that this would come out
> differently if you added the new card, booted, then shut down and
> removed the old card.
>
>> Is there anyone here who actually knows how this is supposed to work?
>
> Randomly, I guess...

I am beginning to believe that. I guess some more research is in order.

Regards,

-- 
Tom			me at tdiehl.org		Spamtrap address	 		me123 at tdiehl.org



More information about the CentOS mailing list