ออราเคิลออก Unbreakable Enterprise Kernel 6

บริษัทออราเคิล นำเสนอ การเปิดตัวครั้งแรกที่เสถียร เคอร์เนลองค์กรที่ไม่แตกหัก6 (UEK R6) ซึ่งเป็นโครงสร้างเพิ่มเติมของเคอร์เนล Linux ซึ่งวางตำแหน่งไว้เพื่อใช้ในการกระจาย Oracle Linux เป็นทางเลือกแทนแพ็คเกจเคอร์เนลมาตรฐานจาก Red Hat Enterprise Linux เคอร์เนลพร้อมใช้งานสำหรับสถาปัตยกรรม x86_64 และ ARM64 (aarch64) เท่านั้น แหล่งที่มาของเคอร์เนล รวมถึงการแยกย่อยเป็นแพตช์แต่ละรายการ ที่ตีพิมพ์ ในพื้นที่เก็บข้อมูล Git สาธารณะของ Oracle

แพ็คเกจ Unbreakable Enterprise Kernel 6 ขึ้นอยู่กับเคอร์เนล Linux 5.4 (UEK R5 ใช้เคอร์เนล 4.14) ซึ่งได้รับการอัปเดตด้วยคุณสมบัติใหม่ การเพิ่มประสิทธิภาพ และการแก้ไข และยังได้รับการทดสอบความเข้ากันได้กับแอปพลิเคชันส่วนใหญ่ที่ทำงานบน RHEL และได้รับการปรับให้เหมาะสมเป็นพิเศษเพื่อทำงานกับซอฟต์แวร์อุตสาหกรรมและฮาร์ดแวร์ของ Oracle แพ็คเกจการติดตั้งและ src ด้วยเคอร์เนล UEK R6 ได้รับการจัดเตรียมสำหรับ Oracle Linux 7.x и 8.x. การสนับสนุนสำหรับสาขา 6.x ถูกยกเลิก หากต้องการใช้ UEK R6 คุณต้องอัปเดตระบบเป็น Oracle Linux 7 (ไม่มีอุปสรรคในการใช้เคอร์เนลนี้ใน RHEL, CentOS และ Scientific Linux เวอร์ชันที่คล้ายกัน)

สำคัญ นวัตกรรม เคอร์เนลองค์กรที่ไม่แตกหัก 6:

  • ขยายการรองรับสำหรับระบบที่ใช้สถาปัตยกรรม ARM 64 บิต (aarch64)
  • มีการรองรับคุณสมบัติทั้งหมดของ Cgroup v2 แล้ว
  • กรอบงาน ktask ได้รับการปรับใช้เพื่อทำให้งานขนานกันในเคอร์เนลที่ใช้ทรัพยากร CPU จำนวนมาก ตัวอย่างเช่น การใช้ ktask สามารถจัดระเบียบการดำเนินการแบบขนานเพื่อล้างช่วงของเพจหน่วยความจำหรือประมวลผลรายการ inodes ได้
  • kswapd เวอร์ชันขนานได้รับการเปิดใช้งานเพื่อประมวลผลการสลับหน้าหน่วยความจำแบบอะซิงโครนัส ช่วยลดจำนวนการสลับโดยตรง (ซิงโครนัส) เมื่อจำนวนเพจหน่วยความจำที่ว่างลดลง kswapd จะทำการสแกนเพื่อระบุเพจที่ไม่ได้ใช้ซึ่งสามารถปล่อยได้
  • รองรับการตรวจสอบความสมบูรณ์ของเคอร์เนลอิมเมจและเฟิร์มแวร์โดยใช้ลายเซ็นดิจิทัลเมื่อโหลดเคอร์เนลโดยใช้กลไก Kexec (โหลดเคอร์เนลจากระบบที่โหลดแล้ว)
  • ประสิทธิภาพของระบบการจัดการหน่วยความจำเสมือนได้รับการปรับให้เหมาะสม ประสิทธิภาพในการล้างหน่วยความจำและหน้าแคชได้รับการปรับปรุง และการประมวลผลการเข้าถึงหน้าหน่วยความจำที่ไม่ได้ถูกจัดสรร (ข้อบกพร่องของหน้า) ได้รับการปรับปรุง
  • การรองรับ NVDIMM ได้รับการขยาย ทำให้หน่วยความจำถาวรนี้สามารถใช้เป็น RAM แบบดั้งเดิมได้แล้ว
  • มีการเปลี่ยนไปใช้ระบบดีบักแบบไดนามิก DTrace 2.0 ซึ่ง แปลแล้ว เพื่อใช้ระบบย่อยเคอร์เนล eBPF ขณะนี้ DTrace ทำงานบน eBPF คล้ายกับวิธีที่เครื่องมือติดตาม Linux ที่มีอยู่ทำงานบน eBPF
  • มีการปรับปรุงระบบไฟล์ OCFS2 (Oracle Cluster File System)
  • ปรับปรุงการรองรับระบบไฟล์ Btrfs เพิ่มความสามารถในการใช้ Btrfs บนพาร์ติชันรูท มีการเพิ่มตัวเลือกให้กับตัวติดตั้งเพื่อเลือก Btrfs เมื่อทำการฟอร์แมตอุปกรณ์ เพิ่มความสามารถในการวางไฟล์สลับบนพาร์ติชันด้วย Btrfs Btrfs ได้เพิ่มการรองรับการบีบอัดโดยใช้อัลกอริธึม ZStandard
  • เพิ่มการรองรับอินเทอร์เฟซสำหรับ I/O แบบอะซิงโครนัส - io_uring ซึ่งมีความโดดเด่นในด้านการสนับสนุนการโพล I/O และความสามารถในการทำงานโดยมีหรือไม่มีการบัฟเฟอร์ ในแง่ของประสิทธิภาพ io_uring นั้นใกล้เคียงกับ SPDK มากและเหนือกว่า libaio อย่างมากเมื่อทำงานกับการเปิดใช้งานการโพล หากต้องการใช้ io_uring ในแอปพลิเคชันปลายทางที่ทำงานในพื้นที่ผู้ใช้ ไลบรารี liburing ได้ถูกจัดเตรียมไว้ โดยจัดให้มีการเชื่อมโยงระดับสูงผ่านอินเทอร์เฟซเคอร์เนล
  • เพิ่มการรองรับโหมด adiantum เพื่อการเข้ารหัสการจัดเก็บข้อมูลที่รวดเร็ว
  • เพิ่มการรองรับการบีบอัดโดยใช้อัลกอริทึม มาตรฐาน (zstd)
  • ระบบไฟล์ ext4 ใช้การประทับเวลา 64 บิตในฟิลด์ซูเปอร์บล็อก
  • XFS มีเครื่องมือสำหรับการรายงานสถานะความสมบูรณ์ของระบบไฟล์ระหว่างการดำเนินการและรับสถานะการดำเนินการ fsck ได้ทันที
  • สแต็ค TCP เริ่มต้นถูกสลับไปที่ "เวลาออกเดินทางก่อนเวลา" แทน "เร็วที่สุด" เมื่อส่งแพ็กเก็ต เปิดใช้งานการสนับสนุน GRO (การรับส่งข้อมูลทั่วไป) สำหรับ UDP แล้ว เพิ่มการรองรับการรับและส่งแพ็กเก็ต TCP ในโหมด Zero-Copy
  • มีการใช้โปรโตคอล TLS ในระดับเคอร์เนล (KTLS) ซึ่งขณะนี้สามารถใช้ได้ไม่เพียงแต่สำหรับการส่งเท่านั้น แต่ยังรวมถึงข้อมูลที่ได้รับด้วย
  • เปิดใช้งานเป็นแบ็กเอนด์สำหรับไฟร์วอลล์ตามค่าเริ่มต้น
    nftables เพิ่มการสนับสนุนเพิ่มเติม bpfilter.

  • เพิ่มการรองรับสำหรับระบบย่อย XDP (eXpress Data Path) ซึ่งอนุญาตให้รันโปรแกรม BPF บน Linux ที่ระดับไดรเวอร์เครือข่ายพร้อมความสามารถในการเข้าถึงบัฟเฟอร์แพ็กเก็ต DMA โดยตรงและในขั้นตอนก่อนที่บัฟเฟอร์ skbuff จะถูกจัดสรรโดยสแต็กเครือข่าย
  • ปรับปรุงและเปิดใช้งานเมื่อใช้โหมด UEFI Secure Boot ออกโรงซึ่งจำกัดการเข้าถึงเคอร์เนลของผู้ใช้รูทและบล็อกเส้นทางบายพาส UEFI Secure Boot ตัวอย่างเช่น ในโหมดล็อคดาวน์ เข้าถึง /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, โหมดดีบัก kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (โครงสร้างข้อมูลการ์ด) บางส่วน อินเทอร์เฟซถูกจำกัด การลงทะเบียน ACPI และ MSR ของ CPU, การเรียกไปยัง kexec_file และ kexec_load ถูกบล็อก, ห้ามใช้โหมดสลีป, การใช้ DMA สำหรับอุปกรณ์ PCI ถูกจำกัด, ห้ามนำเข้ารหัส ACPI จากตัวแปร EFI, ห้ามจัดการกับพอร์ต I/O อนุญาต รวมถึงการเปลี่ยนหมายเลขอินเตอร์รัปต์และพอร์ต I/O สำหรับพอร์ตอนุกรม
  • เพิ่มการรองรับสำหรับคำสั่ง IBRS (Enhanced Indirect Branch Restricted Speculation) ที่ได้รับการปรับปรุง ซึ่งช่วยให้คุณสามารถเปิดใช้งานและปิดใช้งานการดำเนินการคำสั่งแบบเก็งกำไรได้อย่างปรับเปลี่ยนในระหว่างการประมวลผลขัดจังหวะ การเรียกระบบ และการสลับบริบท ด้วยการสนับสนุน IBRS ที่ปรับปรุงแล้ว วิธีการนี้ใช้เพื่อป้องกันการโจมตี Spectre V2 แทน Retpoline เนื่องจากช่วยให้มีประสิทธิภาพสูงขึ้น
  • ปรับปรุงความปลอดภัยในไดเร็กทอรีที่สามารถเขียนได้ทั่วโลก ในไดเร็กทอรีดังกล่าว ห้ามมิให้สร้างไฟล์ FIFO และไฟล์ของผู้ใช้ที่ไม่ตรงกับเจ้าของไดเร็กทอรีที่มีแฟล็กติดหนึบ
  • ตามค่าเริ่มต้นบนระบบ ARM การสุ่มพื้นที่ที่อยู่เคอร์เนลบนระบบ (KASLR) จะถูกเปิดใช้งาน เปิดใช้งานการรับรองความถูกต้องของตัวชี้สำหรับ Aarch64
  • เพิ่มการรองรับ "NVMe บน Fabrics TCP"
  • เพิ่มไดรเวอร์ virtio-pmem เพื่อให้สามารถเข้าถึงอุปกรณ์จัดเก็บข้อมูลที่แมปพื้นที่ที่อยู่ทางกายภาพ เช่น NVDIMM

ที่มา: opennet.ru

เพิ่มความคิดเห็น