กลับไปหน้าบทความ

อ่าน 2 นาที

ซีอาร์ยู

ซอฟต์แวร์ฟรีสำหรับ Linux เท่านั้น/ซอฟต์แวร์ลินุกซ์/หน้าที่มี IPA ธรรมดา

Checkpoint/Restore In Userspace ( CRIU ) (อ่านว่าครี-อู / kriu/ ) เป็นเครื่องมือซอฟต์แวร์สำหรับ ระบบปฏิบัติการ ลินุกซ์โดยใช้เครื่องมือนี้ เราสามารถหยุดการทำงานของแอปพลิเคชัน...

ซีอาร์ยู

ซีอาร์ยู
นักพัฒนาทีมOpenVZ ที่ Virtuozzo
ปล่อย23  กรกฎาคม 2555  ( 2012-07-23 ) [ 1 ]
เวอร์ชันเสถียร4.2 (  13 พฤศจิกายน 2025  ( 2025-11-13 ) [ 2 ] ) [ ± ]
เขียนเป็นCและการประกอบ
ระบบปฏิบัติการลินุกซ์
แพลตฟอร์มx86-64 , ARM , Power ISA , IBM System/390
พิมพ์การตรวจสอบแอปพลิเคชัน
ใบอนุญาตGNU GPLเวอร์ชัน 2
เว็บไซต์criu.org
ที่เก็บข้อมูล
  • github .com /checkpoint-restore /criu

Checkpoint/Restore In Userspace ( CRIU ) (อ่านว่าครี-อู / kriu/ ) เป็นเครื่องมือซอฟต์แวร์สำหรับ ระบบปฏิบัติการ ลินุกซ์โดยใช้เครื่องมือนี้ เราสามารถหยุดการทำงานของแอปพลิเคชัน (หรือบางส่วน) และสร้างจุดตรวจสอบ (checkpoint) ลงในที่จัดเก็บถาวรในรูปแบบของไฟล์ จากนั้นเราสามารถใช้ไฟล์เหล่านั้นเพื่อกู้คืนและเรียกใช้แอปพลิเคชันจากจุดที่หยุดไว้ได้ คุณลักษณะเด่นของโครงการ CRIU คือ มันถูกพัฒนาขึ้นในพื้นที่ผู้ใช้ (user space ) เป็นหลัก มากกว่าในเคอร์เนล (kernel)

ประวัติศาสตร์

Pavel Emelyanov หัวหน้าทีมเคอร์เนล OpenVZได้นำเสนอซอฟต์แวร์ CRIU เวอร์ชันเริ่มต้นแก่ชุมชนนักพัฒนา Linux เมื่อวันที่ 15 กรกฎาคม 2554 [ 3 ]

ในเดือนกันยายน พ.ศ. 2554 โครงการนี้ได้ถูกนำเสนอในการประชุม Linux Plumbers [ 4 ]โดยทั่วไป ผู้เข้าร่วมส่วนใหญ่มีมุมมองเชิงบวกต่อโครงการนี้ ซึ่งพิสูจน์ได้จากข้อเท็จจริงที่ว่าแพตช์เคอร์เนลจำนวนหนึ่งที่จำเป็นสำหรับการนำโครงการนี้ไปใช้ได้ถูกรวมอยู่ในเคอร์เนลหลักแล้ว อย่างไรก็ตาม แอนดรูว์ มอร์ตันค่อนข้างสงสัย:

หมายเหตุเกี่ยวกับเรื่องนี้: นี่เป็นโครงการของชาวรัสเซียสติเพี้ยนหลายคนเพื่อทำการคัดลอก/กู้คืนส่วนใหญ่จากพื้นที่ผู้ใช้ โดยมีการเพิ่มโค้ดช่วยเหลือแปลกๆ เข้าไปในเคอร์เนลเมื่อจำเป็น... อย่างไรก็ตาม ฉันไม่มั่นใจเท่ากับนักพัฒนาว่ามันจะใช้งานได้ทั้งหมดในที่สุด! ดังนั้นสิ่งที่ฉันขอให้พวกเขาทำคือห่อโค้ดใหม่แต่ละส่วนไว้ภายใน CONFIG_CHECKPOINT_RESTORE ดังนั้นหากในที่สุดทุกอย่างล้มเหลวและโครงการทั้งหมดล้มเหลว ก็จะเป็นเรื่องง่ายที่จะลบร่องรอยทั้งหมด[ 5 ]

แอนดรูว์ มอร์ตัน

ใช้

เครื่องมือ CRIU กำลังได้รับการพัฒนาเป็นส่วนหนึ่งของโครงการ OpenVZ โดยมีเป้าหมายเพื่อทดแทนการตรวจสอบ/กู้คืนสถานะภายในเคอร์เนล แม้ว่าจุดเน้นหลักคือการสนับสนุนการย้ายคอนเทนเนอร์ โดยอนุญาตให้ผู้ใช้ตรวจสอบและกู้คืนสถานะปัจจุบันของกระบวนการที่กำลังทำงานและกลุ่มกระบวนการ เครื่องมือนี้สามารถใช้งานได้บน ระบบ x86-64และARM ในปัจจุบัน และรองรับคุณสมบัติดังต่อไปนี้:

ข้อมูล ณ เดือนกันยายนพ.ศ. 2556 ไม่จำเป็นต้องแก้ไขเคอร์เนลเนื่องจากฟังก์ชันที่จำเป็นทั้งหมดได้ถูกรวมเข้ากับเคอร์เนล Linux หลัก แล้ว ตั้งแต่เคอร์เนลเวอร์ชัน 3.11 ซึ่งเผยแพร่เมื่อวันที่ 2 กันยายน 2013 [ 6 ] [ 7 ]

การย้ายการเชื่อมต่อ TCP

หนึ่งในเป้าหมายเริ่มต้นของโครงการคือการสนับสนุนการย้ายการเชื่อมต่อ TCP ซึ่งความท้าทายที่ใหญ่ที่สุดคือการระงับและกู้คืนการเชื่อมต่อเพียงด้านเดียวเท่านั้น สิ่งนี้จำเป็นสำหรับการย้ายคอนเทนเนอร์แบบสด (พร้อมกับการเชื่อมต่อเครือข่ายที่ใช้งานอยู่ทั้งหมด) ระหว่างเซิร์ฟเวอร์ทางกายภาพ ซึ่งเป็นสถานการณ์หลักของการใช้คุณสมบัติการตรวจสอบ/กู้คืนใน OpenVZ เพื่อรับมือกับปัญหานี้ จึงได้มีการนำคุณสมบัติใหม่ที่เรียกว่า "โหมดซ่อมแซม TCP" มาใช้ คุณสมบัตินี้ถูกรวมอยู่ในเวอร์ชัน 3.5 ของเคอร์เนล Linux หลัก[ 8 ]และช่วยให้ผู้ใช้มีวิธีการเพิ่มเติมในการแยกส่วนและสร้างซ็อกเก็ต TCP ขึ้นใหม่โดยไม่จำเป็นต้องแลกเปลี่ยนแพ็กเก็ตเครือข่ายกับอีกด้านหนึ่งของการเชื่อมต่อ

อ่านเพิ่มเติม

  • Sanidhya Kashyap. "การอัปเดตและการตรวจสอบเคอร์เนลโดยไม่ต้องรีบูต" .
  • รามี โรเซน. "คอนเทนเนอร์ Linux และคลาวด์ในอนาคต" (PDF )
  • ทีม CRIU. "การเปรียบเทียบกับโครงการ CR อื่นๆ "
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=CRIU&oldid=1307100206 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ซีอาร์ยู

Checkpoint/Restore In Userspace ( CRIU ) (อ่านว่าครี-อู / kriu/ ) เป็นเครื่องมือซอฟต์แวร์สำหรับ ระบบปฏิบัติการ ลินุกซ์โดยใช้เครื่องมือนี้ เราสามารถหยุดการทำงานของแอปพลิเคชัน...

ประวัติศาสตร์

Pavel Emelyanov หัวหน้าทีมเคอร์เนล OpenVZ ได้นำเสนอซอฟต์แวร์ CRIU เวอร์ชันเริ่มต้นแก่ชุมชนนักพัฒนา Linux เมื่อวันที่ 15 กรกฎาคม 2554 [ 3 ]

ใช้

เครื่องมือ CRIU กำลังได้รับการพัฒนาเป็นส่วนหนึ่งของโครงการ OpenVZ โดยมีเป้าหมายเพื่อทดแทนการตรวจสอบ/กู้คืนสถานะภายในเคอร์เนล แม้ว่าจุดเน้นหลักคือการสนับสนุนการย้ายคอนเทนเนอร์...

การย้ายการเชื่อมต่อ TCP

หนึ่งในเป้าหมายเริ่มต้นของโครงการคือการสนับสนุนการย้ายการเชื่อมต่อ TCP ซึ่งความท้าทายที่ใหญ่ที่สุดคือการระงับและกู้คืนการเชื่อมต่อเพียงด้านเดียวเท่านั้น สิ่งนี้จำเป็นสำหรับการย้ายคอนเทนเนอร์แบบสด (พร้อมกับการเชื่อมต่อเครือข่ายที่ใช้งานอยู่ทั้งหมด)...