Điểm:0

CentOS - kích thước liệt kê của các thư mục cấp cao nhất trong ổ đĩa NTFS 50TB quá chậm

lá cờ us

Những gì tôi muốn đạt được là lấy thông tin về mức độ lớn của các thư mục cấp cao nhất trong một thư mục (là ổ đĩa NTFS) trên máy chủ CentOS7. Thông tin này được đặt trong tệp Prometheus, được sử dụng để gửi thông tin này vào bảng điều khiển Grafana.

Kịch bản được thực thi thông qua một công việc định kỳ hàng ngày trông như thế này:

#!/usr/bin/env bash

# Tạo số liệu bộ sưu tập Prometheus về việc sử dụng đĩa của các dự án Jenkins trên hệ thống.
# Hiện tại, chỉ có thông tin thư mục cấp cao nhất được thu thập theo byte.

# Cắt bớt mục nhập tệp văn bản cuối cùng để có thể chuẩn bị cho việc nhập dữ liệu mới nhất
echo -n > /var/lib/node_exporter/textfile_collector/jenkins_projects_disk_size.prom

cd /jenkins/jobs # Vào thư mục NTFS, chứa tất cả dữ liệu công việc
cho f trong *; làm # Đi qua từng thư mục cấp cao nhất
    nếu [ -d "$f" ]; sau đó  
        # Sẽ không chạy nếu không có thư mục
        prometheus_entry=$(du ${f} --block-size=1 --summarize "$@" | \ # thực thi lệnh `du` cho từng thư mục cấp cao nhất để có thể tính toán kích thước của thư mục đó và lưu đầu ra ở định dạng Prometheus
          sed -ne 's/\/\/;s/"/\"/g;s/^\([0-9]\+\)\t\(.*\)$/jenkins_directory_size_bytes {thư mục="\2"} \1/p') 
        tiếng vang $prometheus_entry >> /var/lib/node_exporter/textfile_collector/jenkins_projects_disk_size.prom 
    fi
xong

Điều này hiện đang hoạt động trên một số máy chủ không có kích thước thư mục lớn so với máy chủ gặp sự cố (500GB-1,5T) và cũng hoạt động tương đối nhanh.

Vấn đề hiện tại tôi đang gặp phải là trên máy chủ có vấn đề, cụ thể là kích thước của thư mục khá lớn (50T). Tất nhiên, như dự kiến ​​với kích thước đó, các lệnh du/df rất chậm (tôi nghĩ rằng tôi sẽ cần hơn 15-20 giờ để thực thi tập lệnh).

Có cách nào để tối ưu hóa hơn nữa quy trình này hoặc sử dụng một số loại bộ đệm hoặc bất kỳ cách thay thế nào khác (ví dụ: bằng một công cụ khác) không? tôi đã thử rồi ncdu, nhưng nó là GUI và tôi không thể trích xuất thông tin theo cách tôi muốn để Prometheus hoạt động.

Như đã đề cập trước đây, tôi chỉ cần thông tin kích thước thư mục cấp cao nhất và không cần gì khác. Bất kỳ trợ giúp hoặc lời khuyên nào sẽ được đánh giá rất cao! Cảm ơn trước.

lá cờ cn
Bob
`df` rất nhanh nên việc đặt thư mục đó trên hệ thống tệp/tập/đĩa của chính nó là một giải pháp. `du` và bạn bè cần duyệt qua toàn bộ cây thư mục và cách duy nhất để làm cho AFAIK đó nhanh hơn là làm cho bộ lưu trữ cơ bản nhanh hơn

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.