deci am câteva Rapberry Pi-uri pe care încerc să le folosesc ca cluster și învăț să încerc să le gestionez mai ușor. Mă întâlnesc totuși cu o problemă. Pot seta manual IP-ul static folosind netctl, dar când încerc să o fac cu ansible folosind aceleași comenzi exacte, am probleme. De asemenea, o notă ciudată, versiunea care nu funcționează, nu funcționează pe raspberry pi 4, dar va funcționa pe raspberry pi b.
De exemplu, dacă folosesc următoarele (introduceți-l manual), nu am nicio problemă:
/etc/netctl/eth0
Description='IP static pentru cluster'
Interfață=eth0
Conexiune=ethernet
IP=static
Adresă=('192.168.1.173/24')
#Route=('192.168.0.0/24 prin 192.168.1.2')
Gateway='192.168.1.1'
DNS=('192.168.1.1')
netctl enable eth0
systemctl opri dhcpcd
systemctl opri dhcpcd
iar dupa repornire merge bine.
De asemenea, o pot face să funcționeze dacă folosesc următoarele:
- nume: copiați fișierul IP static
bloc:
- nume: creați fișierul netctl
brut: echo $'Description=\'O conexiune ethernet statică de bază\'\nInterfață=eth0\nConnection=ethernet\nIP=static\nAdresă=(\'{{ host_ip_addr }}/24\')\n#Route=( \'192.168.0.0/24 prin 192.168.1.2\')\nGateway=\'192.168.1.1\'\nDNS=(\'192.168.1.1\')' > /etc/netctl/eth0
argumente:
executabil: /bin/bash
- nume: fișier chmod netctl
brut: chmod 644 /etc/netctl/eth0
argumente:
executabil: /bin/bash
- nume: porniți și activați netctl
bloc:
- nume: activați eth0 în netctl
brut: netctl enable eth0
argumente:
executabil: /bin/bash
înregistrare: net
- nume: stop dhcpcd
brut: systemctl stop dhcpcd;
argumente:
executabil: /bin/bash
înregistrare: net2
- nume: dezactivați dhcpcd
brut: systemctl dezactivează dhcpcd;
argumente:
executabil: /bin/bash
înregistrare: net3
Dar nu funcționează dacă folosesc:
- nume: configurare IP static
șablon:
src: staticIP-netctl.j2
dest: /etc/netctl/eth0
proprietar: rădăcină
grup: rădăcină
mod: 0644
- nume: porniți și activați netctl
bloc:
- nume: activați eth0 în netctl
serviciu:
nume: netctl
stare: început
activat: da
- nume: opriți și dezactivați dhcpcd (adrese IP dinamice)
serviciu:
nume: dhcpcd
stare: oprit
activat: nu
sau asta nu reuseste
- nume: configurare IP static
șablon:
src: staticIP-netctl.j2
dest: /etc/netctl/eth0
proprietar: rădăcină
grup: rădăcină
mod: 0644
- nume: porniți și activați netctl
bloc:
- nume: activați eth0 în netctl
brut: netctl enable eth0
argumente:
executabil: /bin/bash
- nume: opriți și dezactivați dhcpcd (adrese IP dinamice)
brut: systemctl stop dhcpcd
argumente:
executabil: /bin/bash
- nume: opriți și dezactivați dhcpcd 2 (adrese IP dinamice)
brut: systemctl dezactivează dhcpcd
argumente:
executabil: /bin/bash
Ale mele staticIP-netctl.j2
fisierul este:
Description='O conexiune ethernet statică de bază'
Interfață=eth0
Conexiune=ethernet
IP=static
Adresă=('{{ host_ip_addr }}/24')
#Route=('192.168.0.0/24 prin 192.168.1.2')
Gateway='192.168.1.1'
DNS=('192.168.1.1')
și se află în folderul roles/role/templates, de asemenea, este copiat corect, deoarece am verificat manual pe fiecare pi.
Aveți idei de ce se poate întâmpla asta?
EDITARE-SOLUȚIE:
Se pare că a fost o problemă de kernel (linux-aarch64), după ce am actualizat toate pachetele la o nouă instalare, nucleul nu a mai recunoscut nici una dintre interfețele mele de rețea. Puteți trece la linux-raspberrypi4 sau puteți face downgrade la linux-aarch64 5.11.x orice înainte de mijlocul lunii septembrie (http://tardis.tiny-vps.com/aarm/repos/2021/06/13/aarch64/core/).