อินเทล
โครงการร่วม
Cloud Hypervisor มุ่งเน้นไปที่การรันการกระจาย Linux สมัยใหม่โดยใช้อุปกรณ์ Paravirtualized ที่ใช้ virtio งานหลักที่กล่าวถึง ได้แก่ การตอบสนองสูง การใช้หน่วยความจำต่ำ ประสิทธิภาพสูง การกำหนดค่าที่ง่ายขึ้น และการลดเวกเตอร์การโจมตีที่เป็นไปได้
การสนับสนุนการจำลองจะถูกเก็บไว้ให้น้อยที่สุดและเน้นที่การจำลองเสมือน ปัจจุบันรองรับเฉพาะระบบ x86_64 แต่การสนับสนุน AArch64 กำลังดำเนินการอยู่ ในระบบเกสต์ ปัจจุบันรองรับเฉพาะ Linux เวอร์ชัน 64 บิตเท่านั้น การตั้งค่า CPU, หน่วยความจำ, PCI และ NVDIMM ดำเนินการในขั้นตอนการสร้าง สามารถย้ายเครื่องเสมือนระหว่างเซิร์ฟเวอร์ได้
ในเวอร์ชันใหม่:
- งานยังคงดำเนินต่อไปในการย้าย I/O แบบพาราเวอร์ชวลไลซ์ไปยังกระบวนการที่แยกจากกัน เพิ่มความสามารถในการใช้แบ็กเอนด์เพื่อโต้ตอบกับอุปกรณ์บล็อก
vhost-ผู้ใช้-blk . การเปลี่ยนแปลงนี้ช่วยให้คุณเชื่อมต่ออุปกรณ์บล็อกตามโมดูลผู้ใช้ vhost กับ Cloud Hypervisor เช่นสพป เป็นแบ็กเอนด์สำหรับการจัดเก็บข้อมูลแบบพาราเวอร์ชวลไลซ์ - เปิดตัวในรุ่นล่าสุด รองรับการย้ายการดำเนินงานเครือข่ายไปยังแบ็กเอนด์
vhost-ผู้ใช้-net ขยายด้วยแบ็กเอนด์ใหม่โดยใช้ไดรเวอร์เครือข่ายเสมือนTAP . แบ็กเอนด์เขียนด้วยภาษา Rust และตอนนี้ใช้ใน Cloud Hypervisor เป็นสถาปัตยกรรมเครือข่ายพาราเวอร์ชวลไลซ์หลัก - เพื่อเพิ่มประสิทธิภาพและความปลอดภัยของการสื่อสารระหว่างสภาพแวดล้อมโฮสต์และระบบแขก จึงเสนอการนำซ็อกเก็ตไปใช้แบบไฮบริดพร้อมกับการกำหนดที่อยู่ AF_VSOCK (ซ็อกเก็ตเครือข่ายเสมือน) ที่ทำงานผ่าน virtio การนำไปปฏิบัติจะขึ้นอยู่กับการพัฒนาของโครงการ
พลุ พัฒนาโดยอเมซอน VSOCK อนุญาตให้คุณใช้ POSIX Sockets API มาตรฐานสำหรับการโต้ตอบระหว่างแอปพลิเคชันที่ด้านข้างของระบบเกสต์และโฮสต์ ซึ่งทำให้ง่ายต่อการปรับโปรแกรมเครือข่ายทั่วไปสำหรับการโต้ตอบดังกล่าว และใช้การโต้ตอบของโปรแกรมไคลเอนต์หลายโปรแกรมด้วยแอปพลิเคชันเซิร์ฟเวอร์เดียว - มีการให้การสนับสนุนเบื้องต้นสำหรับ API การจัดการโดยใช้โปรโตคอล HTTP ในอนาคต API นี้จะช่วยให้สามารถเริ่มต้นการดำเนินการแบบอะซิงโครนัสบนระบบแขก เช่น ทรัพยากรแบบปลั๊กร้อนและสภาพแวดล้อมการย้ายข้อมูล
- เพิ่มเลเยอร์การใช้งานการขนส่งตาม virtio MMIO (Memory mapped virtio) ซึ่งสามารถใช้เพื่อสร้างระบบเกสต์ที่เรียบง่ายซึ่งไม่ต้องการการจำลองบัส PCI
- ส่วนหนึ่งของความคิดริเริ่มในการขยายการสนับสนุนสำหรับการรันระบบเกสต์แบบซ้อนใน Cloud Hypervisor ได้มีการเพิ่มความสามารถในการส่งต่ออุปกรณ์ IOMMU แบบพาราเวอร์ชวลไลซ์ผ่าน virtio ซึ่งช่วยให้คุณสามารถเพิ่มความปลอดภัยของการส่งต่ออุปกรณ์แบบซ้อนและการส่งต่อโดยตรง
- ให้การสนับสนุน Ubuntu 19.10;
- เพิ่มความสามารถในการรันระบบเกสต์ที่มี RAM มากกว่า 64 GB
นอกจากนี้ยังสามารถสังเกตได้
แพลตฟอร์มดังกล่าวได้รับการออกแบบมาเพื่อใช้งานเครื่องเสมือนโดยมีค่าใช้จ่ายน้อยที่สุด และมีเครื่องมือสำหรับการสร้างและจัดการสภาพแวดล้อมและบริการแบบแยกส่วนที่สร้างขึ้นโดยใช้รูปแบบการพัฒนาแบบไร้เซิร์ฟเวอร์ (ทำหน้าที่เป็นบริการ) Firecracker นำเสนอเครื่องเสมือนน้ำหนักเบาที่เรียกว่า microVM ซึ่งใช้เทคโนโลยีการจำลองเสมือนสำหรับฮาร์ดแวร์เพื่อแยกเครื่องเสมือนออกจากกันอย่างสมบูรณ์ แต่ยังให้ประสิทธิภาพและความยืดหยุ่นของคอนเทนเนอร์ทั่วไป ตัวอย่างเช่น เมื่อใช้ Firecracker เวลาตั้งแต่เริ่มต้น microVM จนถึงจุดเริ่มต้นของแอปพลิเคชันจะไม่เกิน 125ms ซึ่งช่วยให้คุณสามารถเปิดตัวเครื่องเสมือนใหม่ด้วยความเข้มข้นสูงสุด 150 สภาพแวดล้อมต่อวินาที
Firecracker รุ่นใหม่ได้เพิ่มโหมดการทำงานโดยไม่ต้องเรียกใช้ตัวจัดการ API ("--no-api") ซึ่งจะจำกัดสภาพแวดล้อมให้เหลือเฉพาะการตั้งค่าแบบฮาร์ดโค้ดในไฟล์กำหนดค่า การกำหนดค่าแบบคงที่ระบุผ่านตัวเลือก "--config-file" และกำหนดไว้ในรูปแบบ JSON จากตัวเลือกบรรทัดคำสั่ง มีการเพิ่มการรองรับตัวคั่น “—” หลังจากนั้นแฟล็กจะถูกส่งไปตามสายโซ่โดยไม่มีการประมวลผล
นักพัฒนา Firecracker ของ Amazon เช่นกัน
อเมซอนอีกด้วย
ที่มา: opennet.ru