Puncte:0

Setarea IP statică manual funcționează - Folosirea ansible îmi dă probleme

drapel my

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/).

John Mahowald avatar
drapel cn
Ce vrei să spui prin eșecuri? Editați-vă întrebarea pentru a adăuga orice erori de la Ansible, fișierul de configurare rezultat pe gazdă și starea rețelei din comenzile ip.
drapel my
Îmi pare rău pentru dreptate, nu am fost foarte clar, dar nu eram sigur ce se întâmplă. Am împărțit playbook-ul în comenzi separate și s-a dovedit că după o actualizare completă a sistemului nu mai aveam conexiune la internet, dar mi-am dat seama.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.