Criada a instância do AWS EC2 a partir do snapshot AMI, o eth0 está ausente após a inicialização

2

Recentemente, criei um novo EC2 a partir de um resumo do nosso Production EC2.

A máquina inicializou bem, e eu posso ssh in, no entanto - não consigo acessar via qualquer outra coisa. Não WWW, nada.

Após uma inspeção mais detalhada do dispositivo, principalmente a pilha da rede - vejo isso:

/etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:68:f3:22:91:f2", NAME="ens5"

ifconfig

ens5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 172.31.12.146  netmask 255.255.240.0  broadcast 172.31.15.255
        inet6 fe80::468:f3ff:fe22:91f2  prefixlen 64  scopeid 0x20<link>
        ether 06:68:f3:22:91:f2  txqueuelen 1000  (Ethernet)
        RX packets 492  bytes 81928 (80.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 474  bytes 76982 (75.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 6  bytes 416 (416.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 416 (416.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Anote o ens5 na primeira linha do ifconfig .

[/ etc] # reinício da rede de serviços

Restarting network (via systemctl):  Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.
                                                       [FAILED]

[/ etc] # systemctl status network.service

● network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2018-10-16 11:13:34 EDT; 1min 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2223 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
   CGroup: /system.slice/network.service
           └─857 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient--ens5.lease -pf /var/run/dhclient-ens5.pid -H ip-172-31-12-146 ens5

Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal network[2223]: RTNETLINK answers: File exists
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal network[2223]: RTNETLINK answers: File exists
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal network[2223]: RTNETLINK answers: File exists
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal network[2223]: RTNETLINK answers: File exists
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal network[2223]: RTNETLINK answers: File exists
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal network[2223]: RTNETLINK answers: File exists
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal systemd[1]: network.service: control process exited, code=exited status=1
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal systemd[1]: Failed to start LSB: Bring up/down networking.
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal systemd[1]: Unit network.service entered failed state.
Oct 16 11:13:34 ip-172-31-12-146.us-west-1.compute.internal systemd[1]: network.service failed.

Não consegue encontrar eth0, nem pode reiniciar a pilha de rede. Eu tentei reiniciar a máquina, desligar e iniciar, sem sorte. O que estou perdendo?

    
por Barry Chapman 16.10.2018 / 17:16

2 respostas

2

Você alterou de um tipo de instância mais antigo para T3 / M5 / C5? Estes têm um hardware diferente e usam nomes de dispositivos diferentes.

Uma opção é reconfigurar a pilha de rede para refletir os novos nomes de dispositivos - isso pode ser um grande compromisso, a menos que você seja um administrador Linux experiente e saiba o que está fazendo.

Ou, mais fácil, altere o tipo de instância para o mesmo de onde você tirou o instantâneo. Isso deve corrigir os nomes dos dispositivos para o que eles costumavam ser.

Você pode alterar o tamanho, por exemplo de grande para médio , mas mantenha o tipo - se foi T2 use T2 novamente.

Também sugiro que você a restaure do instantâneo para uma nova instância - a atual provavelmente tentou acomodar os novos nomes de dispositivos e pode estar em estado inconsistente. É melhor começar novamente a partir do snapshot do Prod.

Espero que ajude:)

    
por 16.10.2018 / 21:20
0

Você pode modificar o nome do dispositivo na regra do udev que você publicou. Edite essa linha e renomeie ens5 para eth0

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="06:68:f3:22:91:f2", NAME="eth0"
    
por 16.10.2018 / 23:48