Linux. Rozwiązanie problemu "Device eth0 does not seem to be present, delaying initialization" Error.
Jeżeli korzystacie z VirtualBox lub z innego wirtualizatora podczas klonowania maszyny z systemem Linux mogły pojawić się problemy z kartami sieciowymi. Podczas uruchamiania sieci dostajemy dziwne komunikaty o niezainicjowanym urządzeniu itd. Można oczywiście pozbyć się kart sieciowych z maszyny jaką zamierzamy klonować i dopiero potem zrobić jej klona ale to nie jest najlepsze wyjście. Istnieją inne rozwiązania. Jak się pewnie domyślacie chodzi o wirtualne karty sieciowe i ich reprezentacje w systemie Linux. W procesie klonowania pliki zawierające informacje o kartach również zostają sklonowane ale przecież w maszynie jaka powstaje będą to już zupełnie inne karty. Rozwiązanie jest proste.
Przedstawiona sytuacja ma zazwyczaj miejsce w momencie klonowania maszyn.
Przykładowo potrzebujemy sklonować maszynę wirtualną z zainstalowanym systemem Centos. Po operacji klonowania sprawdzamy, co dzieję się z siecią i próbujemy ją uruchomić. Zobaczymy mniej więcej coś takiego:
Device eth0 does not seem to be present, delaying initialization.
Powyższy komunikat informuje Nas o tym , że urządzenie najprawdopodobniej nie jest obecne w systemie i to jest zgodne z prawdą. Urządzenie z wzorcowej maszyny nie jest tym samym, co w tej sklonowanej. Trzeba coś z tym zrobić.
Krok 1 - Sprawdzenie wpisów w interfejsie sieciowym
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:8A:A0:19
TYPE=Ethernet
UUID=ef598847-7f31-449b-9076-f2521c1ab8ba
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
Jak będzie można zobaczyć w liniach "HWADDR" oraz "UUID" wpisy dotyczą urządzenia z maszyny z jakiej powstał klon.
Krok 2 - Edytujemy plik interfejsu sieciowego.
W VirtualBox przechodzimy do "Settings", a następnie "Network"
Teraz można zobaczyć właściwy adres MAC dla interfejsów sklonowanej maszyny. Wpis w pliku ifc-eth0 powinien więc mieć postać:
DEVICE=eth0
HWADDR=08:00:27:75:5E:A4
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
Poprawiamy adres MAC i usuwamy linię UUID.
Krok 3 - Edycja /udev , czyli dynamiczne pliki urządzeń
Lokalizacja /etc/udev/ zawiera tylko pliki urządzeń jakie faktycznie fizycznie (czy przez reprezentacje urządzenia wirtualnego) znajdują się w systemie. W związku z powyższym plik z danymi kart sieciowych już tam jest. System sam tego niestety nie odświeża. Po prostu stara się znaleźć zawarte w plikach urządzenia, a jeżeli ich nie ma pokazuje stosowny komunikat:
Device eth0 does not seem to be present, delaying initialization.
Na szczęście urządzenia takie jak karty sieciowe są dodawane do systemu automatycznie. Tak jak się pewnie domyślanie wystarczy usunąć obecny plik by po restarcie utworzył się nowy z właściwymi wartościami.
Usuwamy więc plik :
# rm /etc/udev/rules.d/70-persistent-net.rules
Następnie restartujemy maszynę :
# reboot
Krok 4 - Sprawdzamy działanie sieci po wprowadzonych zmianach.
# service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth2: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done. [ OK ]
Bringing up interface eth2:
Determining IP information for eth2... done. [ OK ]
# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:75:5E:A4
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe75:5ea4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3190 (3.1 KiB) TX bytes:3400 (3.3 KiB)
eth2 Link encap:Ethernet HWaddr 08:00:27:80:CF:EA
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe80:cfea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:290 errors:0 dropped:0 overruns:0 frame:0
TX packets:239 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28494 (27.8 KiB) TX bytes:29447 (28.7 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Jak widać powyżej sieć działa już tak jak należy. Problem rozwiązany.
Komentarze
Prześlij komentarz