Làm thế nào tôi có thể nói những gì quay vòng ổ đĩa của tôi?


8

Tôi đã kích hoạt "spindown" trên một trong các ổ đĩa máy chủ Linux của mình, ứng dụng này chỉ được truy cập bởi ứng dụng khách BitTorrent - có nghĩa là, khi tôi không có torrent chạy, không có gì khác nên truy cập vào đĩa và đánh thức nó từ spindown (phải không? ).

Nhưng một cái gì đó đang làm cho đĩa quay lên cứ sau 15 phút. Làm thế nào tôi có thể theo dõi thủ phạm lừa đảo?

Cảm ơn cho bất kỳ thông tin phản hồi!

Câu trả lời:


8

Bạn có thể kiểm tra http://samwel.tk/l mỏi_mode / . Mặc dù trang này không phải là chủ yếu về vấn đề của bạn, nhưng đưa ra một bức tranh tổng thể tốt về cách IO hoạt động và ý tưởng, làm thế nào để tắt các đĩa của bạn bằng cách tắt chúng đi.

Câu trả lời ngắn cho vấn đề của bạn:

tiếng vang 1> / Proc / sys / vm / block_dump

nó sẽ tạo ra các thông điệp trong syslog như:

23 tháng 7 10:04:05 kernel locutus: ls (5224): ĐỌC khối 7340136 trên dm-4
23 tháng 7 10:04:05 kernel locutus: ls (5224): ĐỌC khối 4335136 trên dm-4
23 tháng 7 10:04:05 kernel locutus: ls (5224): ĐỌC khối 15505568 trên dm-4
23 tháng 7 10:04:05 kernel locutus: ls (5224): ĐỌC khối 7340160 trên dm-4
23 tháng 7 10:04:05 kernel locutus: ls (5224): ĐỌC khối 7340168 trên dm-4

Tôi đã sử dụng một lệnh ls đơn giản

LƯU Ý: đảm bảo việc ghi nhật ký hệ thống của bạn bị tắt hoặc ghi vào ramdisk (loại: tmpfs) trước khi thực hiện, vì (trích dẫn): "hệ thống của bạn có thể vào vòng phản hồi, trong đó syslogd gây ra hoạt động của đĩa, điều này gây ra đầu ra kernel, và điều này khiến syslogd hoạt động nhiều đĩa hơn "

Tôi khuyên bạn nên gắn / tmp dưới dạng ramdisk sau đó thiết lập đăng nhập vào / tmp / syslog. Điều này trong / etc / fstab (và khởi động lại) sẽ làm:

không / tmp tmpfs mặc định, kích thước = 256M 0 0

9

Trong Linux, tòa nhà gần đây fanotifyđã kích hoạt một tiện ích tuyệt vời có tên là fatracethông báo cho quá trình nào đang nhấn tệp nào cho toàn bộ hệ thống hoặc một phân vùng cụ thể. Chắc chắn công cụ yêu thích của tôi cho loại điều này:

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log

Công cụ này là tuyệt vời! Đối với tôi, hóa ra là smartd quay ổ đĩa, mà tôi đoán có ý nghĩa.
Alexander O'Mara

5

Tôi đã và đang sử dụng iotop để tìm hiểu những gì đang sử dụng ổ đĩa. Từ trang web, bạn phải có "nhân Linux ≥ 2.6.20 với các tùy chọn TASK_DELAY_ACCT và TASK_IO_ACCOUNTING được bật".

Có vẻ như bạn chỉ quan tâm đến một ổ đĩa cụ thể. Bạn có thể xem xét việc viết một tập lệnh thường xuyên kiểm tra bằng lsof hoặc fuser để truy cập vào ổ đĩa / phân vùng đó.


1

Nếu một quá trình đang bắt đầu ghi dữ liệu vào ổ đĩa thì bạn có thể tìm hiểu về nó bằng cách kiểm tra thường xuyên các tệp đang mở: lsof .

Khác bạn có thể xem với "miễn phí" nếu tập tin trao đổi được sử dụng hay không.


1

Bạn sẽ có thể sử dụng kiểm toán Linux để thêm đồng hồ vào điểm gắn kết của ổ đĩa, sau đó theo dõi nhật ký với sự tìm kiếm sau sự kiện để tìm hiểu xem tập tin nào được đọc hoặc ghi vào (nếu có) và quá trình nào đã được thực hiện, kiểm toán có thể xem để đọc, ghi, thực thi và thay đổi thuộc tính trên bất kỳ hệ thống tập tin nào (miễn là nó được hỗ trợ trên hệ thống của bạn - nó phải như vậy).


0

Có lẽ bạn có thể sử dụng incron sử dụng inotify để khởi chạy các lệnh dựa trên hoạt động của hệ thống tệp. Sau đó, bạn có thể xem điểm gắn kết và sử dụng incron để kích hoạt lsof để tìm quá trình nào đang truy cập vào nó.


0

Điều dễ dàng để kiểm tra những gì đang quay đĩa của bạn là:

đi đến thư mục của đĩa được gắn, đối với tôi là / media / đĩa0 / truyền

sau đó bạn thực thi: sudo fatrace -c

bạn sẽ có đầu ra của bất kỳ lượt truy cập nào vào thư mục đó, ví dụ bạn có thể đăng nhập bằng ssh và thực hiện ls.

df (54956): CO / media / đĩa1 bash (55025): O / media / đĩa1 bash (55025): RC / media / đĩa1 bash (55026): O / media / đĩa1 bash (55026): RC / media / đĩa1

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.