Điểm:0

Đặt IP tĩnh hoạt động theo cách thủ công - Sử dụng ansible gây ra sự cố cho tôi

lá cờ my

vì vậy tôi có một vài pi raspberry mà tôi đang cố gắng sử dụng như một cụm và tôi đang học ansible để thử và quản lý chúng dễ dàng hơn. Tôi đang chạy vào một vấn đề mặc dù. Tôi có thể đặt IP tĩnh theo cách thủ công bằng netctl nhưng khi tôi cố gắng thực hiện điều đó với ansible bằng các lệnh chính xác giống như vậy thì tôi gặp sự cố. Cũng có một lưu ý kỳ lạ, phiên bản không hoạt động, không hoạt động trên raspberry pi 4's nhưng sẽ hoạt động trên raspberry pi b's.

Ví dụ: nếu tôi sử dụng thông tin sau (nhập thủ công), tôi sẽ không gặp vấn đề gì:

/etc/netctl/eth0

Description='IP tĩnh cho cụm'
Giao diện = eth0
Kết nối = ethernet
IP=tĩnh
Địa chỉ=('192.168.1.173/24')
#Routes=('192.168.0.0/24 qua 192.168.1.2')
Cổng='192.168.1.1'
DNS=('192.168.1.1')

netctl kích hoạt eth0

systemctl dừng dhcpcd

systemctl dừng dhcpcd

và sau khi khởi động lại, nó hoạt động tốt.

Tôi cũng có thể làm cho nó hoạt động nếu tôi sử dụng như sau:

- name: chép file IP tĩnh
  chặn:
    - tên: tạo tập tin netctl
      raw: echo $'Description=\'Một kết nối ethernet tĩnh cơ bản\'\nInterface=eth0\nConnection=ethernet\nIP=static\nAddress=(\'{{ host_ip_addr }}/24\')\n#Routes=( \'192.168.0.0/24 qua 192.168.1.2\')\nGateway=\'192.168.1.1\'\nDNS=(\'192.168.1.1\')' > /etc/netctl/eth0
      lập luận:
        có thể thực thi: /bin/bash  
    - tên: chmod tập tin netctl
      thô: chmod 644/etc/netctl/eth0
      lập luận:
        có thể thực thi: /bin/bash 
 
- tên: bắt đầu và kích hoạt netctl
  chặn:
    - tên: bật eth0 trong netctl
      thô: netctl kích hoạt eth0
      lập luận:
        có thể thực thi: /bin/bash 
      đăng ký: mạng    
    - tên: dừng dhcpcd 
      nguyên: systemctl dừng dhcpcd;
      lập luận:
        có thể thực thi: /bin/bash 
      đăng ký: net2
    - tên: tắt dhcpcd 
      nguyên: systemctl vô hiệu hóa dhcpcd;
      lập luận:
        có thể thực thi: /bin/bash
      đăng ký: net3  

Nhưng nó không hoạt động nếu tôi sử dụng:

- tên: thiết lập IP tĩnh
  mẫu:
    src: staticIP-netctl.j2
    đích: /etc/netctl/eth0
    chủ sở hữu: root 
    nhóm: gốc
    chế độ: 0644

- tên: bắt đầu và kích hoạt netctl
  chặn:
    - tên: bật eth0 trong netctl
      dịch vụ: 
        tên: netctl
        trạng thái: bắt đầu
        đã bật: có  
    - tên: dừng và tắt dhcpcd (địa chỉ IP động)
      dịch vụ: 
        Tên: dhcpcd
        trạng thái: đã dừng
        kích hoạt: không      

hoặc điều này cũng thất bại

- tên: thiết lập IP tĩnh
  mẫu:
    src: staticIP-netctl.j2
    đích: /etc/netctl/eth0
    chủ sở hữu: root 
    nhóm: gốc
    chế độ: 0644

- tên: bắt đầu và kích hoạt netctl
  chặn:
    - tên: bật eth0 trong netctl
      thô: netctl kích hoạt eth0
      lập luận:
        có thể thực thi: /bin/bash   
    - tên: dừng và tắt dhcpcd (địa chỉ IP động)
      thô: systemctl dừng dhcpcd
      lập luận:
        có thể thực thi: /bin/bash      
    - tên: dừng và tắt dhcpcd 2 (địa chỉ IP động)
      nguyên: systemctl vô hiệu hóa dhcpcd
      lập luận:
        có thể thực thi: /bin/bash 

của tôi tĩnhIP-netctl.j2 tập tin là:

Description='Kết nối ethernet tĩnh cơ bản'
Giao diện = eth0
Kết nối = ethernet
IP=tĩnh
Địa chỉ=('{{ host_ip_addr }}/24')
#Routes=('192.168.0.0/24 qua 192.168.1.2')
Cổng='192.168.1.1'
DNS=('192.168.1.1')

và nó nằm trong thư mục vai trò/vai trò/mẫu, nó cũng được sao chép chính xác vì tôi đã kiểm tra thủ công trên từng số pi.

Bất kỳ ý tưởng tại sao điều này có thể xảy ra?


CHỈNH SỬA-GIẢI PHÁP:

Hóa ra đó là sự cố kernel (linux-aarch64), sau khi cập nhật tất cả các gói trên bản cài đặt mới, kernel không còn nhận ra bất kỳ giao diện mạng nào của tôi nữa. Bạn có thể chuyển sang linux-raspberrypi4 hoặc hạ cấp xuống linux-aarch64 5.11.x bất cứ thứ gì trước giữa tháng 9 (http://tardis.tiny-vps.com/aarm/repos/2021/06/13/aarch64/core/).

John Mahowald avatar
lá cờ cn
Ý bạn là gì khi thất bại? Chỉnh sửa câu hỏi của bạn để thêm bất kỳ lỗi nào từ Ansible, tệp cấu hình kết quả trên Máy chủ lưu trữ và trạng thái kết nối mạng từ các lệnh ip.
lá cờ my
Xin lỗi quyền của bạn, tôi không rõ lắm nhưng tôi không chắc chuyện gì đang xảy ra. Tôi đã chia playbook thành các lệnh riêng biệt và hóa ra là sau khi cập nhật toàn bộ hệ thống, tôi không còn kết nối internet nữa, nhưng tôi đã tìm ra cách.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.