MTE giải thích: Cấu trúc đĩa Linux và tại sao nó không cần chống phân mảnh
Linux có tuyệt vời đến mức không có phân mảnh dữ liệu? SAI. Linux là tuyệt vời (đó là sự thật) nhưng ngay cả trong những giấc mơ hoang dã nhất của bạn, không có cách nào để loại bỏ hoàn toàn một phân mảnh đĩa. Tôi thấy bạn đến đó: “ Tôi chưa bao giờ chống phân mảnh hệ thống Linux của mình, trên thực tế tôi chưa bao giờ thấy một công cụ cho điều đó, và máy tính của tôi chưa bao giờ thể hiện bất kỳ vấn đề nào. Bạn có chắc chắn bạn biết những gì bạn đang nói về? “Vâng, bạn nói đúng. Về nguyên tắc, bạn không phải chống phân mảnh đĩa của bạn trên Linux. Dữ liệu có thể bị phân mảnh, nhưng về lý thuyết bạn không phải lo lắng về nó, và đây là lý do tại sao.
Phân mảnh Vs. Chống phân mảnh
Chúng ta đều đã nghe nói về sự phân mảnh. Nhưng trước tiên, phân mảnh dữ liệu là gì? Để giải thích khái niệm này, một trong những ví dụ tốt nhất bạn có thể tìm thấy là một trong những được sử dụng bởi Roberto Di Cosmo trong một hội nghị năm 1998:
Ổ cứng của bạn (hoặc bất kỳ thiết bị lưu trữ nào khác) giống như một kệ được chia thành các hộp. Tất cả các hộp có cùng kích thước và bạn sử dụng giá để lưu trữ thư mục và tệp. Khi giá trống, bạn có thể dễ dàng đặt một thư mục vào một hộp. Nếu thư mục quá lớn để vừa với một ô, bạn hãy chia nó và lưu trữ số dư thừa trong hộp bên cạnh nó. Bạn có thể làm điều đó miễn là bạn có đủ không gian còn lại. Tuy nhiên, khi bạn đang xử lý dữ liệu trên máy tính, đặc biệt là dữ liệu được chương trình sử dụng, kích thước thay đổi rất nhiều. Một số tệp lớn hơn, bị xóa hoặc di chuyển. Vì vậy, thực sự nhanh chóng, kệ của bạn trở thành một mớ hỗn độn. Một số hộp là một nửa trống, những người khác không thể chứa một thư mục ngày càng tăng. Không có hộp miễn phí ở cuối kệ (bạn bắt đầu ở trên cùng) nhưng bạn vẫn cần phải lưu trữ một thư mục mới. Do đó bạn tìm kiếm một số không gian trống trong các hộp trước. Cuối cùng, thư mục của bạn được chia và lưu trữ với một số phần khác của thư mục. Bạn có thể tưởng tượng nó sẽ khó khăn như thế nào để lấy toàn bộ tập tin trong giá. Ngay cả khi bạn đã viết xuống nơi bạn đã lưu trữ các phần khác nhau, bạn vẫn phải tìm kiếm trong các hộp khác nhau để thu thập tất cả các tệp.
Bây giờ bạn có thể tưởng tượng nỗi đau của máy tính của bạn tìm kiếm một tập tin khi đĩa thực sự bị phân mảnh. So với tốc độ xử lý của bạn, thời gian cần thiết bởi ổ cứng của bạn để tìm một thư mục phân mảnh là một chút vĩnh cửu. Vì vậy, để ngăn chặn những đau khổ và sự chậm trễ, chúng tôi sử dụng quá trình chống phân mảnh. Về cơ bản nó làm những gì nó âm thanh như: mất tất cả mọi thứ ra và cố gắng để đưa tất cả các thư mục trở lại theo thứ tự, loại bỏ các không gian lãng phí và lưu trữ các bộ phận chia trở lại bên cạnh nhau.
Tại sao nó không liên quan đến Linux
Linux không phải đối mặt với vấn đề của giá. Ít nhất là không đến mức đó. Điều này là do loại hệ thống tệp được tạo đặc biệt cho Linux: ext4. Ext4, giống như các hệ thống tệp khác, quản lý dữ liệu và không gian trên ổ đĩa cứng, nhưng cũng làm tốt nhất để ngăn chặn sự phân mảnh. Quay trở lại khái niệm kệ, khi bạn lưu trữ một thư mục vào một hộp, ext4 sẽ tự động đặt các hộp lân cận. Nó cố gắng để dự đoán việc mở rộng thư mục, và thực sự làm nó khá tốt. Bằng cách đó, không có thư mục nào sẽ được chia và giá sẽ vẫn được đặt hàng.
Nhược điểm là phương pháp đòi hỏi rất nhiều không gian trống. Nếu không có hộp còn lại trong kệ, ext4 sẽ không có sự lựa chọn nào khác ngoài việc quay trở lại phương pháp điền lỗ cũ. Điều này có thể xảy ra nếu bạn có ít hơn 20% dung lượng trống còn lại trên ổ cứng của mình. Vì vậy, nói chung, ổ đĩa cứng của bạn không bị phân mảnh, hoặc nếu có, nó thường ít hơn 3% kích thước của nó.
Phần kết luận
CÓ có thể phân mảnh trên Linux, nhưng KHÔNG bạn không phải làm bất cứ điều gì về nó. Lời khuyên duy nhất mà tôi sẽ cung cấp cho bạn là quản lý tốt ổ đĩa cứng của bạn, sử dụng LVM nếu bạn có thể và để lại hơn 20% không gian trống tại mọi thời điểm. Nếu vì một số lý do bạn nghi ngờ một phân mảnh nặng, giải pháp đơn giản nhất là di chuyển mọi thứ trên một thiết bị riêng biệt và chuyển nó trở lại. Ext4 nên làm phần còn lại.
Bạn có mẹo nào khác chống phân mảnh không? Hoặc một câu hỏi khác về chủ đề này? Xin vui lòng cho chúng tôi biết trong các ý kiến.
Tín dụng hình ảnh: Lưu trữ bởi BigStockPhoto