Tôi có một máy Linux chạy Debian 11 đang hoạt động như một bộ định tuyến giữa một thiết bị ở rìa và một máy chủ. Trong khi làm một Xoăn
lệnh tải xuống tệp giao diện đối diện với cạnh sẽ bắt đầu tích lũy rx_crc_errors
rời rạc nhưng liên tục - số lượng tăng lên theo từng đợt, trung bình có thể một hoặc hai lần mỗi giây. Kết quả là từ cả hai bộ định tuyến, máy chủ phía sau nó Xoăn
lệnh chạy rất chậm và tải xuống với một phần tốc độ có sẵn trên đường dây (và tôi đã kiểm tra các bộ định tuyến và máy chủ khác đi qua cùng một thiết bị biên và chúng chạy ở tốc độ nhanh hơn và không tích lũy rx_crc_errors).
Bộ định tuyến biên (cổng cho máy/giao diện đang tích lũy các rx_crc_errors này) là NetGate 1537 chạy pfSense 22.01 (mới nhất).
Những điều chúng tôi đã cố gắng cho đến nay:
- Đã thay cáp
- Đã thay thế bộ điều hợp SFP
- Đã sử dụng một cổng chuyển đổi khác
- Đã thay thế toàn bộ máy chủ bằng một trong các cấu hình giống nhau
Không cái nào trong số này thay đổi hành vi, theo như tôi có thể nói, loại bỏ phần cứng như một nguồn gốc của vấn đề.
Đang làm cuộn tròn https://dl.google.com/go/go1.18.1.linux-amd64.tar.gz --output t.dat
từ máy cạnh hoàn thành trong khoảng 1 giây. Từ bộ định tuyến có rx_crc_errors mất 17 giây và 21 giây từ máy chủ đằng sau nó.
Các lỗi hiển thị trên giao diện đường lên như sau:
...
2: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq trạng thái UP chế độ MẶC ĐỊNH nhóm mặc định qlen 1000
liên kết/ether 10:1f:74:35:fc:94 brd ff:ff:ff:ff:ff:ff
RX: lỗi gói byte bị mất mcast bị mất
1609100899 1250023 508 0 0 2534
TX: lỗi gói byte bị rớt sóng mang collsns
20574398 206727 0 0 0 0
...
Và sau đó với ethtool, tôi có thể nhận được thông tin chi tiết bổ sung hiển thị lỗi CRC (rx_crc_errors: 508
)
ethtool -S enp3s0f0
thống kê NIC:
rx_byte: 1609111223
rx_error_byte: 0
tx_byte: 20588905
tx_error_byte: 0
rx_ucast_packets: 1245869
rx_mcast_packets: 2554
rx_bcast_packets: 1687
tx_ucast_packets: 202770
tx_mcast_packets: 4038
tx_bcast_packets: 0
tx_mac_lỗi: 0
tx_carrier_errors: 0
rx_crc_errors: 508
rx_align_errors: 0
tx_single_collision: 0
tx_multi_collision: 0
tx_deferred: 0
tx_excess_collisions: 0
tx_late_collision: 0
tx_total_collision: 0
rx_fragments: 22
rx_jabbers: 0
rx_undersize_packets: 0
rx_oversize_packets: 0
rx_64_byte_packets: 1823
rx_65_to_127_byte_packets: 9084
rx_128_to_255_byte_packets: 2371
rx_256_to_511_byte_packets: 585
rx_512_to_1023_byte_packets: 80
rx_1024_to_1522_byte_packets: 1236167
rx_1523_to_9022_byte_packets: 0
tx_64_byte_gói: 0
tx_65_to_127_byte_packets: 200168
tx_128_to_255_byte_packets: 5659
tx_256_to_511_byte_packets: 370
tx_512_to_1023_byte_packets: 230
tx_1024_to_1522_byte_packets: 381
tx_1523_to_9022_byte_packets: 0
rx_xon_frames: 0
rx_xoff_frames: 0
tx_xon_frames: 0
tx_xoff_frames: 0
rx_mac_ctrl_frames: 0
rx_filtered_packets: 33361
rx_ftq_discards: 0
rx_discards: 0
rx_fw_discards: 0
Lưu ý rằng lỗi đối với tất cả các giao diện khác trên bất kỳ máy nào khác mà tôi đã kiểm tra đều bằng không.
Tôi bối rối vào thời điểm này không biết phải kiểm tra gì tiếp theo. Tôi nghi ngờ vấn đề này có liên quan đến bộ định tuyến biên theo một cách nào đó, nhưng có những bộ định tuyến khác được kết nối với bộ định tuyến biên này không gặp vấn đề tương tự. Tại một thời điểm, tôi đang sử dụng VLAN trunking (gắn thẻ 802.1q) từ bộ định tuyến biên đến bộ chuyển mạch, nhưng tôi đã tắt tính năng này và cũng thử tăng MTU thêm 4 byte lên 1504, cả hai cách đều không tạo ra bất kỳ sự khác biệt rõ ràng nào - rx_crc_errors vẫn tích lũy và hiệu suất kém như trên.
Bất kỳ ý tưởng nào khác về chẩn đoán nguyên nhân của các rx_crc_errors này?