Sự cố hệ thống - ký tự lạ trong syslog


11

Tôi có một máy chủ nhỏ mà tôi sử dụng để thử nghiệm và lập trình. Hiện tại, nó chạy Debian 9.4 với kernel 4.14.0-0.bpo.3-amd64 .

Hôm nay tôi đã cố gắng kết nối thông qua SSH nhưng sau đó tôi không thể thử ping nó và nó không thể truy cập được. Do đó, tôi phải khởi động lại nó bằng cách rút cáp nguồn. Sau đó, tôi đã đi đến /var/log/syslog và tôi tìm thấy một dòng lạ chứa chính xác 6140 ký tự như sau

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

sau đó không có gì khác cho đến khi các mục nhật ký mới của hệ thống khởi động lại. Đây thực sự là lần đầu tiên nó xảy ra.

Có ai biết nó có thể là gì?


2
Vâng, tôi đã viết về điều này tại Askubfox.com/a/1020373/43344 , cho một. (-: Sau đó, có unix.stackexchange.com/questions/227173unix.stackexchange.com/questions/237321 ...
JdeBP

1
@JdeBP Tôi thích câu trả lời / liên kết đầu tiên của bạn, đó thực sự là nó. Odd có một câu hỏi với hơn 1500 lượt truy cập mà bạn chưa có một phiếu bầu nào, +1.
Rui F Ribeiro

Câu trả lời:


14

Nội dung tệp syslog mà bạn đang hiển thị cho chúng tôi về tất cả các số không thực sự là tham nhũng của việc viết hệ thống tệp / syslog.

Sự cố hệ thống của bạn đã bắt lỗi hệ thống ghi vào giữa tệp syslog và đó là kết quả cuối cùng.

Đã thấy điều đó xảy ra nhiều lần trong nhiều năm qua, trong các máy ảo Linux và một vài lần nữa trong Raspberries và Banana Pis.

Không có gì để ám ảnh (quá nhiều) về hoặc mất rất nhiều thời gian để điều tra lý do tại sao bạn có điều này cho một sự kiện một lần. Tôi sẽ lo lắng hơn khi tìm hiểu tại sao nó bị rơi, đặc biệt nếu đó là một sự kiện thường xuyên.

Khi PS xâm nhập vào lãnh thổ giai thoại, lần trước tôi đã xảy ra điều này thường xuyên trong Banana Pi R1, tôi đã tìm ra nguyên nhân dẫn đến một chipset wifi realtek (bị lỗi).


4
Điều đáng chú ý ^@là byte NUL (giá trị byte 0), do đó, dữ liệu "trống" được thêm vào tệp nhật ký một cách tình cờ. Điều này có thể xảy ra, ví dụ, khi một khối trống mới được gán cho phần cuối của tệp, nhưng lượng byte thực sự bị chiếm bởi dữ liệu có ý nghĩa trong khối đó không được cập nhật đúng cách (vì sự cố thiết lập lại sự cố / cứng xảy ra trước khi bộ đếm đó xảy ra cam kết với các ổ đĩa).
marcelm

Làm thế nào để tìm ra lý do tại sao nó bị rơi?
Giám đốc điều hành tại Apartico

@CEOatApartico Tôi khuyên bạn nên mở một câu hỏi mới.
Rui F Ribeiro


6

Để mở rộng một chút về câu trả lời đó , syslog của bạn có nội dung của một trang bộ nhớ được cam kết một phần vào đĩa, với siêu dữ liệu của syslog không cập nhật. Chuỗi ^@ký tự đó thực sự là NUL byte; chính xác những gì một trang mới được phân bổ của bộ nhớ ban đầu chứa.


Một lời nhắc nhở thân thiện: Nếu bạn đang căn cứ vào câu trả lời của JdeBP, hãy cố gắng làm cho đúng. Các lĩnh vực đĩa bị loại bỏ khi được cấp phát bởi kernel vì lý do bảo mật, nó không phải là bộ nhớ với 0s được ghi trên mỗi se. Tôi khuyên bạn nên sửa điều đó.
Rui F Ribeiro
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.