Como alterar persistent-net-generator.rules para ser dependente do barramento PCI e não baseado em MAC?

2

Estou usando o CentOS 6.2 com o VMware. Muitas vezes tenho que clonar meus sistemas. Toda vez que eu clona, é adicionada uma nova regra ao arquivo 70-persistent-net.rules.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:0c:f1:5e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Eu nunca tenho mais de uma interface em meus sistemas, então isso fica muito chato. Eu sei que há uma maneira de mudar a regra para ser dependente do barramento PCI e não dependente do MAC, porque eu já fiz isso uma vez, mas não consigo encontrar em nenhum lugar como fazê-lo.

Eu entendo as razões por trás dessa implementação das regras do udev. Faz todo o sentido em sistemas físicos, mas nas VMs isso se torna um aborrecimento. Por favor ajude.

    
por xsaero00 11.01.2012 / 23:20

5 respostas

3

Isso deve ser suficiente para o que você deseja:

DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    
por 05.05.2012 / 15:21
4

Identifique o dispositivo pelo endereço PCI. Algo como:

SUBSYSTEM=="net", BUS=="PCI", ID=="0000:04:00.0", ...
    
por 06.05.2012 / 00:41
3

Rodando o CentOS 6.5 no Virtualbox eu alcancei o nirvana assim:

1) Inibe /lib/udev/rules.d/75-persistent-net-generator.rules de sobrescrever /etc/udev/rules.d/70-persistent-net.rules - basta criar um /etc/udev/rules.d/75-persistent-net-generator.rules

vazio

2) Edite /etc/udev/rules.d/70-persistent-net.rules :

# Map ethernet devices according to kernel enumeration
# this should match the adaptor numbering in the virtualbox console 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth0*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth1*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth2*", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth3*", NAME="eth3"

3) Edite / etc / sysconfig / scripts de rede / ifcfg-eth [0-3] conforme apropriado, removendo qualquer problema com o HWADDR ou MACADDRESS.

Não é perfeito, pois a ordem de enumeração do kernel PODE e provavelmente mudará se você fizer outras alterações de dispositivo nas configurações do VirtualBox antes de executar o clone - e a detecção do kernel não segue exatamente a ordem do adaptador Virtualbox (no meu parece estar em reverso). Mas, de outra forma, parece que se comporta consistentemente, o que deveria ser pelo menos "suficientemente bom".

Mais explicações e sabedoria aqui:

por 23.01.2014 / 15:47
1

Eu raramente clono sistemas Linux com o VMWare. É fácil reconstruir (kickstart + Puppet / CFEngine), que é quase mais rápido reprovisionar um sistema do que cloná-lo.

Mas como você está clonando? Você está fazendo isso de um modelo de VM? Normalmente, se clonar de um modelo, não tive problemas relacionados a NICs.

    
por 05.05.2012 / 15:31
0

Eu enfrentei esse problema também. use este cmd depois de clonar um centos 6 convidados

sed -i '/eth0/d' /etc/udev/rules.d/70-persistent-net.rules
sed -i s/eth1/eth0/g /etc/udev/rules.d/70-persistent-net.rules

por favor mude seu nome de ip e host na seguinte linha

sed -i s/192.168.42.100/192.168.42.101/g /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i s/node01/node02/g /etc/sysconfig/network
    
por 19.04.2018 / 04:58