Tôi đã chạy các hệ thống tệp XFS dưới dạng phân vùng dữ liệu / tăng trưởng trong gần 10 năm trên các máy chủ Linux khác nhau.
Tôi đã nhận thấy một hiện tượng lạ với các máy chủ CentOS / RHEL gần đây đang chạy phiên bản 6.2+.
Việc sử dụng hệ thống tập tin ổn định đã trở nên rất khác nhau sau khi chuyển sang phiên bản HĐH mới hơn từ EL6.0 và EL6.1. Các hệ thống ban đầu được cài đặt với EL6.2 + thể hiện hành vi tương tự; hiển thị các thay đổi lớn trong việc sử dụng đĩa trên các phân vùng XFS (Xem dòng màu xanh trong biểu đồ bên dưới).
Trước và sau. Việc nâng cấp từ 6.1 lên 6.2 xảy ra vào thứ bảy.
Biểu đồ sử dụng đĩa của quý trước của cùng một hệ thống, cho thấy sự biến động trong tuần qua.
Tôi bắt đầu kiểm tra các hệ thống tập tin cho các tệp lớn và các quy trình chạy trốn (tệp nhật ký, có thể?). Tôi phát hiện ra rằng các tệp lớn nhất của tôi đã báo cáo các giá trị khác nhau từ du
và ls
. Chạy du
có và không có công --apparent-size
tắc minh họa sự khác biệt.
# du -skh SOD0005.TXT
29G SOD0005.TXT
# du -skh --apparent-size SOD0005.TXT
21G SOD0005.TXT
Kiểm tra nhanh bằng tiện ích ncdu trên toàn bộ hệ thống tệp mang lại:
Total disk usage: 436.8GiB Apparent size: 365.2GiB Items: 863258
Hệ thống tập tin chứa đầy các tệp thưa thớt , với gần 70 GB dung lượng bị mất so với phiên bản trước của HĐH / kernel!
Tôi đã xem qua Red Hat Bugzilla và thay đổi nhật ký để xem liệu có bất kỳ báo cáo nào về hành vi tương tự hoặc thông báo mới liên quan đến XFS không.
Nada.
Tôi đã chuyển từ phiên bản kernel 2.6.32-131.17.1.el6 sang 2.6.32-220.23.1.el6 trong quá trình nâng cấp; không thay đổi số phiên bản nhỏ.
Tôi đã kiểm tra phân mảnh tập tin với filefrag
công cụ. Một số tệp lớn nhất trên phân vùng XFS có hàng ngàn phạm vi. Chạy trên phân mảnh trực tuyến xfs_fsr -v
trong thời gian hoạt động chậm đã giúp giảm mức sử dụng đĩa tạm thời (Xem Thứ tư trong biểu đồ đầu tiên ở trên). Tuy nhiên, việc sử dụng tăng vọt ngay khi hoạt động của hệ thống nặng được nối lại.
Có chuyện gì ở đây vậy?