bachefs đã đủ trưởng thành để được đưa vào nhánh chính của Linux, theo lời của tác giả 

bachefs

Bcachefs là một hệ thống tệp sao chép khi ghi cho các hệ điều hành dựa trên Linux.

hỗ trợ gần đây đường phố Kent, tác giả của bachefs, trong bài phát biểu của mình tại hội nghị LSFMM 2023 tổng hợp kết quả công việc trong Khuyến mãi hệ thống tệp Bcachefs trên nhánh chính của nhân Linux và thảo luận về kế hoạch phát triển thêm nhân.

Bcachefs được phát triển bằng các công nghệ đã được chứng minh trong quá trình phát triển thiết bị khối Bcache, được thiết kế để truy cập bộ đệm vào ổ cứng chậm trên ổ SSD nhanh (được bao gồm trong nhân kể từ phiên bản 3.10). Bcachefs sử dụng cơ chế Copy-on-Write (COW), trong đó các thay đổi không dẫn đến ghi đè dữ liệu: trạng thái mới được ghi vào một vị trí mới, sau đó chỉ báo trạng thái hiện tại thay đổi.

Một tính năng của Bcachefs là hỗ trợ kết nối ổ đĩa nhiều lớp, trong đó bộ lưu trữ được tạo thành từ nhiều lớp: ổ đĩa nhanh hơn (SSD) được gắn vào lớp dưới cùng, được sử dụng để lưu trữ dữ liệu được sử dụng thường xuyên và lớp trên cùng tạo thành ổ đĩa dung lượng lớn hơn và ổ đĩa rẻ hơn lưu trữ dữ liệu ít yêu cầu hơn. Bộ nhớ đệm ghi lại có thể được sử dụng giữa các lớp. Ổ đĩa có thể được tự động thêm vào và tách ra khỏi phân vùng mà không làm gián đoạn việc sử dụng hệ thống tệp (dữ liệu tự động di chuyển).

Về dự án, người ta nói rằng mục tiêu phát triển của Bcachefs là đạt đến cấp độ của XFS về hiệu suất, độ tin cậy và khả năng mở rộng.

Trong khi cung cấp các tính năng bổ sung vốn có của Btrfs và ZFS, chẳng hạn như nhiều thiết bị trong một phân vùng, bố cục lưu trữ nhiều tầng, sao chép (RAID 1/10), bộ nhớ đệm, chế độ LZ4, gzip và ZSTD, phân đoạn trạng thái, xác minh tính toàn vẹn của tổng kiểm tra, khả năng để lưu trữ mã sửa lỗi Reed-Solomon, lưu trữ thông tin được mã hóa.

Về hiệu suất, Bcachefs dẫn trước Btrfs và các hệ thống tệp khác dựa trên cơ chế Copy-on-Write, thể hiện hiệu suất gần bằng Ext4 và XFS.

Trong số những thành tựu mới nhất trong quá trình phát triển Bcachefs, nổi bật là sự ổn định của việc triển khai các ảnh chụp nhanh có sẵn để ghi. So với Btrfs, ảnh chụp nhanh trong Bcachefs hiện có quy mô tốt hơn đáng kể và không gặp phải các vấn đề cố hữu trong Btrfs.

Trong thực tế, công việc của ảnh chụp nhanh đã được thử nghiệm khi tổ chức các bản sao lưu MySQL. Bcachefs cũng đã làm rất nhiều việc để cải thiện khả năng mở rộng: hệ thống tệp đã hoạt động tốt trong các thử nghiệm trên bộ lưu trữ 100TB và Bcachefs dự kiến ​​sẽ được triển khai trên bộ lưu trữ 1PB trong tương lai gần.

Ngoài ra, nó cũng được nhấn mạnh rằng đã thêm chế độ ngủ mới để vô hiệu hóa cơ chế "sao chép khi ghi". Trong suốt mùa hè, họ có kế hoạch đưa việc triển khai RAIDZ và mã sửa lỗi về trạng thái ổn định, cũng như giải quyết các vấn đề về mức tiêu thụ bộ nhớ cao khi khôi phục và xác minh hệ thống tệp bằng tiện ích fsck.

của kế hoạch cho tương lai d được đề cậpTôi muốn sử dụng ngôn ngữ Rust để phát triển Bcachefs. Theo tác giả của Bcachefs:

Anh ấy thích viết mã, không phải mã gỡ lỗi, và bây giờ thật điên rồ khi viết mã bằng C khi có một lựa chọn tốt hơn. Rust đã tham gia vào Bcachefs trong việc triển khai một số tiện ích không gian người dùng. Ngoài ra, ý tưởng viết lại hoàn toàn Bcachefs trong Rust đang dần được ấp ủ, vì việc sử dụng ngôn ngữ này giúp tiết kiệm đáng kể thời gian gỡ lỗi.

Về việc di chuyển Bcachefs sang nhánh kernel chính từ Linux, quá trình áp dụng có thể bị trì hoãn do kích thước lớn của các thay đổi (2500 bản vá và khoảng 90 nghìn dòng mã), rất khó để xem lại. Để tăng tốc độ xem xét, một số nhà phát triển đã đề xuất chia loạt bản vá thành các phần nhỏ hơn, được phân tách hợp lý hơn.

Trong quá trình thảo luận, một số người tham gia cũng chú ý đến việc phát triển dự án bởi một nhà phát triển và nguy cơ mã có thể trở nên không rõ ràng nếu có điều gì đó xảy ra với nhà phát triển của nó (hai nhân viên của Red Hat quan tâm đến dự án, nhưng công việc của bạn vẫn đang chờ xử lý) ). sửa lỗi hạn chế).

Vào tháng 2020, nó đã được đề xuất sửa đổi và đưa vào phần chính của nhân Linux. Việc sẵn sàng xem xét việc triển khai Bcachefs trước khi đưa vào Kernel đã được công bố vào cuối năm XNUMX và phiên bản hiện tại của các bản vá có tính đến các phản hồi và thiếu sót được xác định trong quá trình xem xét trước đó.

Fuente: https://lwn.net/


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.