Điểm:0

Làm rõ về cách hiểu việc sử dụng đĩa Linux với df và cách đánh giá tmpfs

lá cờ de
rc1

Tôi đã tìm kiếm serverfault, SO và các trang web khác nhưng không thể tìm thấy câu trả lời rõ ràng. Tôi đã đọc một số thông tin cơ bản về hệ thống tệp và lưu trữ Linux, nhưng tôi vẫn chưa rõ về cách giải quyết vấn đề của mình.

Mục đích của tôi là thực hiện một đánh giá đơn giản về dung lượng ổ đĩa và mức sử dụng trên các máy chủ trong môi trường của chúng tôi. Chúng tôi sẽ chạy tập lệnh bash bao gồm lệnh df -k trên mỗi máy chủ. Văn bản đầu ra sẽ được thu thập để phân tích cú pháp và phân tích. Tôi gặp khó khăn trong việc hiểu cách đánh giá đầu ra df -k một cách chính xác để đạt được tổng dung lượng ổ đĩa và mức sử dụng.

Hiện tại, chúng tôi đang bỏ qua lưu trữ được ánh xạ LVM và nối mạng (mặc dù tôi nghi ngờ rằng chúng sẽ liên quan và phức tạp hơn tình huống này). Tôi sẽ đối phó với những điều này trong tương lai gần. Hiện tại, tôi đang gặp khó khăn trong việc hiểu các kịch bản đơn giản.

Cảnh 1: Tôi đã tạo một máy ảo Oracle Linux 7.9 trong Oracle Cloud với khối lượng khởi động mặc định là 46GB. Đầu ra df -h trả về như sau:

Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng % Được gắn trên
devtmpfs 7.6G 0 7.6G 0%/dev
tmpfs 7.6G 0 7.6G 0%/dev/shm
tmpfs 7.6G 8.7M 7.6G 1%/lần chạy
tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/sda3 39G 2.8G 36G 8%/
/dev/sda1 200M 7,4M 193M 4%/boot/efi
tmpfs 1.6G 0 1.6G 0%/chạy/người dùng/0
tmpfs 1.6G 0 1.6G 0%/chạy/người dùng/994
tmpfs 1.6G 0 1.6G 0%/chạy/người dùng/1000

Câu hỏi 1: Tôi có thể áp dụng logic nhất quán nào để tính tổng dung lượng ổ đĩa và mức sử dụng? Trong trường hợp này, tôi có thể thấy rằng (sda3 + một của 7.6GB tmpfs) sẽ đưa tôi lên 46GB, vậy tôi có nên bỏ qua các mục nhập 7.6G tmpfs tiếp theo và tất cả các mục nhập 1.6G tmpfs không? Tôi có nên bỏ qua tất cả các mục nhập tmpfs, vì tmpfs không ổn định và không phải là bộ nhớ thực không? Trong trường hợp đó, làm thế nào để tôi đạt được tổng dung lượng 46GB?

Tình huống 2: Tôi đã tạo một máy ảo Oracle Linux 7.9 trong Oracle Cloud với khối lượng khởi động mặc định là 200GB. Đầu ra df -h trả về như sau:

Kích thước hệ thống tệp được sử dụng Sẵn có Sử dụng % Được gắn trên
devtmpfs 30G 0 30G 0%/dev
tmpfs 30G 0 30G 0%/dev/shm
tmpfs 30G 8,8M 30G 1%/lần chạy
tmpfs 30G 0 30G 0% /sys/fs/cgroup
/dev/sda3 39G 3.5G 35G 9%/
/dev/sda1 200M 7,4M 193M 4%/boot/efi
tmpfs 5,9G 0 5,9G 0%/chạy/người dùng/0
tmpfs 5,9G 0 5,9G 0%/chạy/người dùng/994
tmpfs 5,9G 0 5,9G 0%/chạy/người dùng/1000

Câu hỏi 2: Điều này là khó hiểu hơn. Làm cách nào để đạt được tổng dung lượng ổ đĩa là 200 GB? Có vẻ như tôi cần đếm sdaX VÀ (tất cả các mục tmpfs) để đạt tới 200GB. Tôi gặp sự cố khi tìm logic nhất quán cho cả hai trường hợp.

Tôi hy vọng câu hỏi của tôi là rõ ràng. Tôi rất sẵn lòng cung cấp thêm bất kỳ thông tin chi tiết và/hoặc giải thích rõ ràng nào.

Michael Hampton avatar
lá cờ cz
Bạn đã thử chạy `fdisk` chưa?
rc1 avatar
lá cờ de
rc1
Chỉ cần tìm hiểu về fdisk dựa trên câu trả lời dưới đây. Vấn đề duy nhất là nó không tương thích với Solaris (fdisk -l không hoạt động), vì vậy chúng tôi sẽ cần tìm ra các cách tiếp cận hơi khác nhau cho các môi trường không phải Linux. df -k trả về kết quả đầu ra nhất quán trên tất cả Unix/Linux, nhưng bản thân nó rõ ràng là không đủ. Cảm ơn.
rc1 avatar
lá cờ de
rc1
Thêm bản cập nhật cho bất kỳ ai khác đang xử lý cùng một vấn đề. Tôi đã sử dụng "fdisk -l" trên Linux (như được đề xuất trong câu trả lời bên dưới) và "iostat -En" trong Solaris 10/11 , sau đó là một số phân tích cú pháp cẩn thận. Kết hợp với df -k + (fdisk OR iostat) mang lại cho tôi phạm vi bảo hiểm khá tốt về kích thước và mức sử dụng ổ đĩa tổng thể. Tôi chưa thử nghiệm bất kỳ điều nào ở trên trên AIX.
Điểm:3
lá cờ us

tmpfs hệ thống tệp là đĩa RAM và không liên quan gì đến phương tiện lưu trữ của bạn.

Trong trường hợp thứ hai, đĩa 200 GB của bạn chứa hệ thống tệp gốc 39 GB, hệ thống tệp khởi động 200 MB, có thể không gian hoán đổi có kích thước không xác định và có thể là một lượng lớn không gian trống.

Để xem không gian hoán đổi, hãy chạy hoán đổi -s. Để xem dung lượng trống, hãy sử dụng công cụ phân vùng như fdisk -l hoặc chia tay /dev/sda in.

Có vẻ như bạn không đang sử dụng hệ thống tệp trên ổ đĩa LVM hoặc bộ nhớ mạng. Họ sẽ được liệt kê bởi df.

rc1 avatar
lá cờ de
rc1
Cảm ơn bạn đã làm rõ. Vì vậy, trong ngắn hạn - nếu tôi hiểu điều này một cách chính xác - chúng tôi không thể xác định chính xác tổng kích thước đĩa chỉ bằng cách sử dụng "df" và phải kết hợp "fdisk -l" trong quá trình thu thập và phân tích dữ liệu? Hoặc có một số ước tính thực tế có thể được thực hiện chỉ bằng lệnh df không? Cảm ơn.
berndbausch avatar
lá cờ us
Sự am hiểu của bạn đa đung đăn. `df` chỉ báo cáo dung lượng được sử dụng trong các hệ thống tệp được gắn kết. Nó không báo cáo các hệ thống tệp chưa được đếm, các phân vùng không có hệ thống tệp hoặc không gian chưa được phân vùng.

Đă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.