Bcachefs เป็นระบบไฟล์แบบคัดลอกเมื่อเขียนสำหรับระบบปฏิบัติการที่ใช้ Linux
ดูเหมือนว่าความพยายามของผู้เขียน BcacheFS ได้เกิดผลตั้งแต่เมื่อไม่นานมานี้ เป็นที่รู้จัก ข่าวว่าเขา ระบบไฟล์ได้รับการยอมรับในที่สุด และรวมเข้ากับโค้ดเคอร์เนล Linux โดยเฉพาะ ในสาขา linux-next (ซึ่งทดสอบคุณสมบัติสำหรับเคอร์เนล Linux เวอร์ชันอนาคต)
และเป็นเวลากว่า 3 ปีแล้วที่ Kent Overstreet ผู้เขียน BcacheFS ได้ทำงานอย่างหนักในการขัดเกลาระบบไฟล์ของเขาเพื่อให้สามารถรวมไว้ในโค้ดของสาขาหลักของ Linux Kernel
แม้ว่า BcacheFS จะได้รับการยอมรับแล้วก็ตาม และรวมเข้ากับสาขา linux-next คำขอ แยกเพื่อรวมโค้ด โดย BcacheFS ในสาขาหลักถูก Linus Torvalds ปฏิเสธ ซึ่งในความคิดเห็นจากบิดาแห่ง Linux เขาแนะนำให้ Kent Overstreet ประเมินความเหมาะสมของแพตช์ที่เสนอในสาขาทดลองของ Linux-next ก่อน ดังนั้นหากการตรวจสอบสำเร็จ BcachefsFS ก็สามารถรวมอยู่ในเคอร์เนล 6.7 ซึ่งมีการเปิดตัว คาดว่าในเดือนธันวาคม
สำหรับผู้ที่ไม่ทราบเกี่ยวกับ BcachefsFS คุณควรรู้ นี่คือระบบไฟล์ พัฒนาแล้ว โดยใช้เทคโนโลยี ผ่านการทดสอบในการพัฒนาแล้ว ของอุปกรณ์บล็อก Bcache ออกแบบมาเพื่อแคชการเข้าถึงฮาร์ดไดรฟ์ที่ช้าบน SSD ที่รวดเร็ว (รวมอยู่ในเคอร์เนลตั้งแต่เวอร์ชัน 3.10)
ภาพหน้าจอที่ Bcachefs ได้รับการยอมรับบน Linux แล้ว
บีแคชเซฟ ใช้กลไกการคัดลอกเมื่อเขียน (COW) ซึ่งการเปลี่ยนแปลงไม่ทำให้ข้อมูลถูกเขียนทับ: สถานะใหม่จะถูกเขียนไปยังตำแหน่งใหม่ หลังจากนั้นตัวชี้สถานะปัจจุบันจะเปลี่ยนไป
เป้าหมายของ Bcachefs คือการบรรลุระดับประสิทธิภาพ ความน่าเชื่อถือ และความสามารถในการปรับขนาดของ XFS ได้ ในขณะที่มอบคุณสมบัติ Btrfs และ ZFS เพิ่มเติม เช่น การแบ่งพาร์ติชันหลายอุปกรณ์ โครงร่างไดรฟ์หลายเลเยอร์ การจำลองแบบ (RAID 1/10) ข้อมูลและการแคชที่โปร่งใส การบีบอัดในโหมด LZ4, gzip และ ZSTD การหยุดทำงานของสถานภาพ การตรวจสอบความสมบูรณ์โดยใช้เช็คซัม , ความสามารถในการจัดเก็บรหัสแก้ไขข้อผิดพลาด Reed-Solomon (RAID 5/6), การจัดเก็บข้อมูลในรูปแบบที่เข้ารหัส (ใช้ ChaCha20 และ Poly1305)
ในแง่ของประสิทธิภาพ Bcachefs นำหน้า Btrfs และระบบไฟล์อื่นๆ ขึ้นอยู่กับกลไกการคัดลอกเมื่อเขียนและแสดงให้เห็นถึงความเร็วในการทำงานใกล้เคียงกับ Ext4 และ XFS
คุณสมบัติพิเศษ โดย Bcachefs รองรับการเชื่อมต่อไดรฟ์แบบหลายชั้นโดยที่พื้นที่จัดเก็บข้อมูลประกอบด้วยหลายชั้น ได้แก่ ไดรฟ์ที่เร็วกว่า (SSD) เชื่อมต่อกับชั้นล่างซึ่งใช้แคชข้อมูลที่ใช้บ่อยและชั้นบนประกอบด้วยดิสก์ไดรฟ์ที่เร็วกว่า กว้างขวาง และประหยัดที่ ให้การจัดเก็บข้อมูลสำหรับข้อมูลที่ใช้น้อย
สามารถใช้แคชโหมดการเขียนกลับระหว่างเลเยอร์ได้ สามารถเพิ่มและถอดไดรฟ์ออกจากพาร์ติชันแบบไดนามิกโดยไม่ต้องหยุดการใช้ระบบไฟล์ (ข้อมูลจะย้ายโดยอัตโนมัติ)
เป็นมูลค่าการกล่าวขวัญว่า ของความสำเร็จล่าสุด ในการพัฒนา Bcachefs การรักษาเสถียรภาพของการนำสแน็ปช็อตแบบเขียนได้มาใช้มีความโดดเด่น เมื่อเทียบกับ Btrfs ตอนนี้สแนปช็อตใน Bcachefs ปรับขนาดได้ดีขึ้นมากและปราศจากปัญหาที่มีอยู่ใน Btrfs ในทางปฏิบัติ สแน็ปช็อตได้รับการทดสอบว่าใช้งานได้เมื่อจัดระเบียบการสำรองข้อมูล MySQL
เกี่ยวกับแผนการในอนาคต รวมถึงความปรารถนาที่จะใช้ภาษารัส เมื่อพัฒนา Bcachefs ตามที่ผู้เขียน Bcachefs ชื่นชอบการเขียนโปรแกรมแทนการดีบั๊กโค้ด การเขียนโค้ดในภาษา C คงจะบ้าไปแล้วเมื่อมีตัวเลือกที่ดีกว่าให้ใช้งาน
Rust มีส่วนร่วมใน Bcachefs ในการใช้งานยูทิลิตี้บางอย่างที่ทำงานในพื้นที่ผู้ใช้ นอกจากนี้ แนวคิดนี้กำลังค่อยๆ เขียน Bcachefs ใหม่ทั้งหมดใน Rust เนื่องจากการใช้ภาษานี้ช่วยประหยัดเวลาในการแก้ไขข้อบกพร่องได้อย่างมาก
Fuente: https://www.phoronix.com