หลังจากพัฒนาไปหนึ่งปีครึ่ง เปิดตัวโครงการ OpenZFS 2.0 ซึ่งพัฒนาการใช้งานระบบไฟล์ ZFS สำหรับ Linux และ FreeBSD
โครงการนี้กลายเป็นที่รู้จักในชื่อ "ZFS บน Linux" และก่อนหน้านี้ถูก จำกัด ให้พัฒนาโมดูลสำหรับเคอร์เนลลินุกซ์ แต่หลังจากการถ่ายโอนการสนับสนุน FreeBSD มันได้รับการยอมรับว่าเป็นการใช้งาน OpenZFS หลัก และถูกลบออกจากการกล่าวถึงลินุกซ์ในชื่อ ขณะนี้กิจกรรมการพัฒนา ZFS สำหรับระบบ Linux และ BSD รวมอยู่ในโครงการเดียวและพัฒนาในพื้นที่เก็บข้อมูลทั่วไป
OpenZFS ใช้แล้วในต้นน้ำ FreeBSD (ศีรษะ) และรวมอยู่ใน Debian, Ubuntu, Gentoo, Sabayon Linux และ ALT Linux. ในเร็ว ๆ นี้แพ็กเกจที่มีเวอร์ชันใหม่จะพร้อมใช้งานสำหรับลินุกซ์รุ่นหลัก ๆ ทั้งหมดรวมถึง Debian, Ubuntu, Fedora, RHEL / CentOS
ใน FreeBSD รหัสจะซิงโครไนซ์กับฐานรหัส OpenZFS ปัจจุบัน. OpenZFS ได้รับการทดสอบกับเคอร์เนล Linux 3.10 ถึง 5.9 (เคอร์เนลที่เข้ากันได้กับเวอร์ชันล่าสุด 2.6.32) และสาขา FreeBSD 12.2 เสถียร / 12 และ 13.0 (HEAD)
เกี่ยวกับ OpenZFS
OpenZFS ให้การใช้งานส่วนประกอบ ของ ZFS ที่เกี่ยวข้องกับทั้งระบบไฟล์และตัวจัดการโวลุ่ม โดยเฉพาะอย่างยิ่ง, ส่วนประกอบต่อไปนี้ถูกนำไปใช้: SPA (Storage Pool Allocator), DMU (Data Management Unit), ZVOL (ZFS Emulated Volume) และ ZPL (ZFS POSIX Layer)
นอกจากนี้โครงการ oมีความสามารถในการใช้ ZFS เป็นแบ็กเอนด์สำหรับระบบไฟล์คลัสเตอร์ Luster งานโครงการใช้รหัส ZFS ดั้งเดิมที่นำเข้าจากโครงการ OpenSolaris และปรับปรุงด้วยการปรับปรุงและแก้ไขจากชุมชน Illumos โครงการนี้กำลังได้รับการพัฒนาโดยการมีส่วนร่วมของบุคลากรจากห้องปฏิบัติการแห่งชาติลิเวอร์มอร์ภายใต้สัญญากับกระทรวงพลังงานของสหรัฐอเมริกา
รหัสนี้แจกจ่ายภายใต้ใบอนุญาต CDDL ฟรี ซึ่งเข้ากันไม่ได้กับ GPLv2 ซึ่งไม่อนุญาตให้รวม OpenZFS เข้ากับเคอร์เนลลินุกซ์ต้นน้ำเนื่องจากไม่ได้รับอนุญาตให้ผสมโค้ดภายใต้สิทธิ์การใช้งาน GPLv2 และ CDDL เพื่อจัดการกับความไม่ลงรอยกันในการให้สิทธิ์การใช้งานนี้ได้มีการตัดสินใจที่จะแจกจ่ายผลิตภัณฑ์ทั้งหมดภายใต้สิทธิ์การใช้งาน CDDL เป็นโมดูลที่ดาวน์โหลดได้แยกต่างหากซึ่งจัดส่งแยกต่างหากจากเคอร์เนล ความเสถียรของโค้ดเบส OpenZFS นั้นถือว่าเทียบเท่ากับ FS อื่น ๆ สำหรับลินุกซ์
คุณสมบัติใหม่หลักของ OpenZFS 2.0
การเปลี่ยนแปลงหลักสิ่งที่โดดเด่นที่สุดคือ รองรับแพลตฟอร์ม FreeBSD และฐานรหัสเป็นหนึ่งเดียวเพื่อรองรับระบบปฏิบัติการที่แตกต่างกัน การเปลี่ยนแปลงที่เกี่ยวข้องทั้งหมด ด้วย FreeBSD ขณะนี้ได้รับการพัฒนาในที่เก็บ OpenZFS หลัก และโครงการนี้ถือเป็นการใช้งาน ZFS หลักสำหรับ FreeBSD เวอร์ชันอนาคต
นอกเหนือจากนั้น การย้าย FreeBSD ไปยัง OpenZFS เป็นการลบเงื่อนไขการแข่งขันหลายอย่าง และปัญหาการล็อกและนำคุณสมบัติใหม่มาสู่ FreeBSD เช่นระบบโควต้าแบบขยายการเข้ารหัสชุดข้อมูลคลาสการจัดสรรแยกต่างหากการใช้คำแนะนำตัวประมวลผลเวกเตอร์เพื่อเพิ่มความเร็วในการใช้งาน RAIDZ และการคำนวณการตรวจสอบการสนับสนุนอัลกอริธึมการบีบอัด ZSTD โหมดโฮสต์หลายโหมด ( MMP, Multiple Modifier Protection) และเครื่องมือบรรทัดคำสั่งที่ปรับปรุงใหม่
การเปลี่ยนแปลงที่สำคัญอีกประการหนึ่งก็คือ มีการนำโหมดการดำเนินการตามลำดับมาใช้ ของคำสั่ง "resilver" (sequential resilver) ซึ่งสร้างการกระจายข้อมูลขึ้นใหม่โดยคำนึงถึงการเปลี่ยนแปลงในการกำหนดค่าไดรฟ์
วิธีใหม่ ช่วยให้สร้างกระจก vdev ที่ล้มเหลวได้เร็วขึ้นมาก กว่าตัวเรียกคืนแบบเดิม: ประการแรกความซ้ำซ้อนที่หายไปในอาร์เรย์จะถูกเรียกคืนโดยเร็วที่สุดและจากนั้นการดำเนินการ "ล้างข้อมูล" จะเริ่มต้นโดยอัตโนมัติเพื่อตรวจสอบการตรวจสอบข้อมูลทั้งหมด โหมดใหม่เริ่มต้นเมื่อคุณเพิ่มหรือเปลี่ยนไดรฟ์ด้วยคำสั่ง« zpool แทนที่ | แนบ "พร้อมตัวเลือก" -s "
มันถูกนำไปใช้ แคชระดับที่สองแบบถาวร (L2ARC) ซึ่งข้อมูลจากอุปกรณ์ที่เชื่อมต่อสำหรับการแคชจะถูกบันทึกระหว่างการรีบูตระบบนั่นคือแคชหลังจากเริ่มต้นระบบยังคง "ร้อน" และประสิทธิภาพจะถึงค่าเล็กน้อยทันทีโดยข้ามเฟสการเติมแคชเริ่มต้น
เพิ่มแล้ว รองรับอัลกอริทึมการบีบอัด zstd (Zstandard) ซึ่งแสดงความเร็วในการบีบอัดที่เร็วขึ้น 3-5 เท่าเมื่อเทียบกับ zlib / Deflate และการคลายการบีบอัดเร็วขึ้นสองเท่าในขณะที่ปรับปรุงระดับการบีบอัด 10-15%
นอกเหนือจากนั้น ให้การบีบอัดในระดับต่างๆ มีความสมดุลที่แตกต่างกันระหว่างประสิทธิภาพการบีบอัดและประสิทธิภาพ
Fuente: https://github.com