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