Tại sao fsck_hfs chậm trên * được ghi nhật ký * HFS +


2

Đôi khi các ổ đĩa ngoài của tôi bị tách ra một cách không sạch sẽ, và ở kết nối tiếp theo, việc kiểm tra đĩa là cần thiết.

Điều làm tôi ngạc nhiên bây giờ là thấy một quá trình kiểm tra đĩa chậm trên một hệ thống tập tin được ghi nhật ký . Theo hướng dẫn, điều đó đòi hỏi -ftùy chọn, nhưng điều đó dường như không chính xác. Không phải là điểm của nhật ký mà bạn không bao giờ cần kiểm tra đĩa đầy đủ?

Cụ thể, macOS bắt đầu fsck tự động với -y:

$ ps auxw|grep fsck
root              3792   1.1  2.3  6429668 389400   ??  U     2:09pm   0:05.10 /System/Library/Filesystems/hfs.fs/Contents/Resources/./fsck_hfs -y /dev/disk3s2

Sau đó, tôi đã làm gián đoạn quá trình và chạy lại nó bằng tay mà không -ykiểm soát tốt hơn, như tôi thường làm:

 sudo fsck_hfs /dev/disk3s2
** /dev/rdisk3s2
   Executing fsck_hfs (version hfs-407.50.6).
** Checking Journaled HFS Plus volume.
   The volume name is MyPass4T-TM2
** Checking extents overflow file.
** Checking catalog file.
** Checking multi-linked files.

FWIW, đây là trên một HFS + đã được ghi nhật ký, mà tôi sử dụng cho Time Machine, được lưu trữ bên trong một hệ thống tệp bên ngoài (ExFAT).


Tại sao bạn không sử dụng diskutil repairvolume disk3s2? Điều này sẽ chạy fsck_hfs -fy -x /dev/rdisk3s2sau khi vượt qua.
David Anderson

Tôi không biết lệnh đó - nhưng tôi chắc chắn không muốn chạy fsck -y. Hơn nữa, hướng dẫn cho thấy việc vượt qua -fsẽ buộc kiểm tra đầy đủ về một FS được ghi nhật ký, trong khi tôi muốn tránh điều đó và dựa vào tạp chí, miễn là nó an toàn. Tuy nhiên, tôi quên một người nên sử dụng rdiskthay vì disknhư hướng dẫn sử dụng.
Blaisorblade

Câu trả lời:


2

Câu hỏi tuyệt vời.

Apple chỉ ghi nhật ký thay đổi hệ thống tệp chứ không phải dữ liệu, do đó, khi bắt đầu kiểm tra hệ thống tệp đầy đủ, tệp danh mục, tệp mở rộng, siêu khóa và số lượng phân bổ được kiểm tra / kiểm tra chéo / tùy chọn được xây dựng lại hoặc làm mới tùy chọn. Nhật ký tiết kiệm không có thời gian để kiểm tra âm lượng - nó chỉ tiết kiệm thời gian nếu bạn mất nguồn hoặc kết nối khi thực hiện sửa đổi siêu dữ liệu hệ thống tệp. Vì vậy, bạn có thể chạy fsckít hơn, nhưng nó không rút ngắn thời gian chạyfsck

Mỗi liên kết cứng duy nhất được tham chiếu / đánh giá ở phía gửi và nhận.

Quá trình này rất chuyên sâu IO, vì vậy nếu bạn có đĩa quay, bạn có thể mất hàng tuần để kiểm tra âm lượng 20 TB trên RAID nếu có nhiều đĩa.

Một điểm chuẩn tuyệt vời là kiểm tra xem có bao nhiêu tệp trên ổ đĩa trong tab thông tin và xem Trình giám sát hoạt động để xem IOPS đọc và ghi tốc độ dữ liệu là bao nhiêu. Sau đó, bạn có thể so sánh với giao thức (USB C và 3.0 và Thunderbolt nhanh hơn bất kỳ bộ lưu trữ thực tế nào bạn có thể có) để bạn biết tiến trình bị giới hạn bởi ổ đĩa chứ không phải CPU hoặc kết nối.

Trong trường hợp của bạn, thưa thớt thêm chi phí không đáng kể, nhưng Time Machine là crippler thực sự. Nó sử dụng các liên kết cứng để mỗi tệp có thể được tham chiếu hàng chục hoặc thậm chí hàng trăm lần. Tôi có một số khối lượng cỗ máy thời gian sẽ không bao giờ hoàn thành fscktrong đó tôi sẽ không để chạy trong những tuần cần thiết.

Thay vào đó, tôi để chúng chỉ được đọc - đặt chúng trên giá và chỉ bao giờ lấy tệp ra khỏi chúng hoặc xóa chúng khi tôi biết tôi không cần bất kỳ tệp nào từ chúng.

Một số người thực hiện phẫu thuật anh hùng trên dữ liệu Time Machine để hồi sinh nó. Tôi thích mua thêm 100 đô la ổ đĩa và bắt đầu lại sau mỗi 6 đến 18 tháng, thêm các điểm đến mới và làm già đi các điểm đến cũ của tôi khi chúng sắp đầy.

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.