O que é um evento hotplug da interface?

22

De acordo com a estrofe do documento de configuração da rede Debian, o arquivo inicia uma interface quando o kernel detecta um evento de hotplug da interface. O que é esse evento de hotplug?allow-hotplug <interface_name>/etc/network/interfaces

Martin
fonte

Respostas:

20

allow-hotplug <interface>, é usado da mesma maneira que é usado autopela maioria das pessoas. No entanto, o evento hotplug é algo que envolve a detecção do kernel / udev no hardware, que pode ser um cabo conectado à porta ou um dongle USB-Ethernet que estará em funcionamento sempre que você conectar o USB ou uma placa sem fio PCMCIA conectada ao slot.

Minha opinião pessoal: também acho que allow-hotplugpoderia haver mais exemplos documentados para facilitar a compreensão. Conforme apontado por outros membros de U&L e listas do Debian, essas duas opções criam o "problema do ovo e da galinha" quando não há cabos conectados ou quando um evento é criado:

Referências:


fonte
1
Entendo. No entanto, no caso de servidores, provavelmente é recomendável usar o autoque forçará a interface, independentemente de o cabo estar conectado etc.?
Martin Martin
1
Depens. Eu tive um caso em que eu tinha que definir allow-hotplugporque eu queria garantir que meu firewall negociasse o link APÓS o switch principal ser totalmente inicializado e aplicado suas confiurações. Em casos gerais, autodeve ser suficiente.
4
Eu também apontaria que, na maioria dos casos, as nuvens / EC2 / VPS / VMs devem usar auto! Perdi a rede com um nohup service networking restartantes com allow-hotplug.
Will
Boa pegada. Eu encontrei alguns dos mesmos problemas que você e a outra resposta de Sprinterfreak apontaram nas Listas Debian. Editou minha resposta com esta informação valiosa
Incorreta. "Se eu ligar um sistema com uma interface Ethernet integrada, mas sem nenhum cabo Ethernet conectado, a conexão de um cabo Ethernet também gera um evento de hotplug que é percebido pelo allow-hotplug? Infelizmente, não". / linuxquestions.org/questions/linux-kernel-70/… / unix.stackexchange.com/a/520633/29483
sourcejedi
8

Há uma coisa geral importante a lembrar:

Se você configurou um dispositivo plugável como auto, ele impedirá a inicialização do sistema inteiro se ele não existir no momento! Se um allow-hotplugdispositivo configurado NÃO está configurado depois que a rede de serviços é reiniciada automaticamente. Isso é totalmente confuso. Nos dois casos, perdi sistemas inteiros. Se você precisar reiniciar o neworking conectado a um dispositivo hotplug, DEVE garantir manualmente ifup <interface>após a reinicialização como esta

services networking restart; ifup wlan0

de uma vez só. Caso contrário, você está ferrado.

Sprinterfreak
fonte
3
"... dispositivo como auto, ele impedirá que todo o sistema seja inicializado se ele não existir no momento", tentei isso na máquina virtual e inicializou tudo bem (sem rede, é claro, pois desabilitei no software VM todos adaptadores de rede), gostaria de explicar mais?
26417 Kyslik