QEMU 5.0 рдПрдореБрд▓реЗрдЯрд░рдЪреЗ рдкреНрд░рдХрд╛рд╢рди

рд╕рд╛рджрд░ рдХрд░рдгрд╛рд░рд╛ рдкреНрд░рдХрд▓реНрдк рдкреНрд░рдХрд╛рд╢рди рдХреНрдпреВрдИрдПрдордпреВ 5.0. рдПрдореБрд▓реЗрдЯрд░ рдореНрд╣рдгреВрди, QEMU рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, x86-рд╕реБрд╕рдВрдЧрдд PC рд╡рд░ ARM рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓рд╡рд╛. QEMU рдордзреАрд▓ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рдореЛрдбрдордзреНрдпреЗ, CPU рд╡рд░реАрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреА рдереЗрдЯ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ Xen рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рдХрд┐рдВрд╡рд╛ KVM рдореЙрдбреНрдпреВрд▓рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдореБрд│реЗ рд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдХреЛрдб рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреЗ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореВрд│ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЬрд╡рд│ рдЕрд╕рддреЗ.

рд╣рд╛ рдкреНрд░рдХрд▓реНрдк рдореВрд│рдд: рдлреЕрдмреНрд░рд┐рд╕ рдмреЗрд▓рд╛рд░реНрдбрдиреЗ x86 рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓рд▓рд╛ x86 рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╡рд░ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХреЗрд▓рд╛ рд╣реЛрддрд╛. рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рд╡рд░реНрд╖рд╛рдВрдордзреНрдпреЗ, 14 рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рдкреВрд░реНрдг рдЗрдореНрдпреБрд▓реЗрд╢рди рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдПрдореНрдпреБрд▓реЗрдЯреЗрдб рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЙрдкрдХрд░рдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ 400 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдЭрд╛рд▓реА рдЖрд╣реЗ. рдЖрд╡реГрддреНрддреА 5.0 рдЪреНрдпрд╛ рддрдпрд╛рд░реАрдордзреНрдпреЗ, 2800 рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдХрдбреВрди 232 рд╣реВрди рдЕрдзрд┐рдХ рдмрджрд▓ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд.

рдХрд│ рд╕реБрдзрд╛рд░рдгрд╛QEMU 5.0 рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ:

  • рдпрдЬрдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдгрд╛рддреАрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ рднрд╛рдЧ рд╡рд╛рдкрд░реВрди рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реАрдХрдбреЗ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ virtiofsd. рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реА рдпрдЬрдорд╛рди рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдмрд╛рдЬреВрд╡рд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХреЗрд▓реЗрд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдорд╛рдЙрдВрдЯ рдХрд░реВ рд╢рдХрддреЗ, рдЬреЗ рд╡рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рд╕рдВрд╕реНрдерд╛ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕реБрд▓рдн рдХрд░рддреЗ. NFS рдЖрдгрд┐ virtio-9P рд╕рд╛рд░рдЦреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдореНрд╕рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, virtiofs рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдерд╛рдирд┐рдХ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЬрд╡рд│ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • рдЖрдзрд╛рд░ QEMU D-Bus рд╡рд╛рдкрд░реВрди рдмрд╛рд╣реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдордзреВрди рдбреЗрдЯрд╛рдЪреЗ рдереЗрдЯ рд╕реНрдерд▓рд╛рдВрддрд░;
  • рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдорд░реА рдмреЕрдХрдПрдВрдбреНрд╕ рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдореБрдЦреНрдп рд░реЕрдордЪреЗ рдХрд╛рд░реНрдп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдмреЕрдХрдПрдВрдб "-рдорд╢реАрди рдореЗрдорд░реА-рдмреЕрдХрдПрдВрдб" рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░реВрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЖрд╣реЗ;
  • рдирд╡реАрди "рд╕рдВрдХреБрдЪрд┐рдд" рдлрд┐рд▓реНрдЯрд░, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рд╕рдВрдХреБрдЪрд┐рдд рдкреНрд░рддрд┐рдорд╛ рдмреЕрдХрдЕрдк рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ;
  • "qemu-img рдЙрдкрд╛рдп" рдХрдорд╛рдВрдб рдЖрддрд╛ LUKS рдкреНрд░рддрд┐рдорд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЗ, рдЖрдгрд┐ рд▓рдХреНрд╖реНрдп рдкреНрд░рддрд┐рдорд╛ рд╢реВрдиреНрдп рдХрд░рдгреЗ рд╡рдЧрд│рдгреНрдпрд╛рд╕рд╛рдареА "-target-is-zero" рдкрд░реНрдпрд╛рдп "qemu-img convert" рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ;
  • qemu-storage-deemon рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ, QEMU рдмреНрд▓реЙрдХ рд▓реЗрд╡реНрд╣рд▓ рдЖрдгрд┐ QMP рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдмреНрд▓реЙрдХ рдЙрдкрдХрд░рдгреЗ рдЖрдгрд┐ рдЕрдВрдЧрднреВрдд NBD рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ, рдкреВрд░реНрдг рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рди рдЪрд╛рд▓рд╡рддрд╛;
  • ARM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдиреЗ Cortex-M7 CPU рдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ tacoma-bmc, Netduino Plus 2 рдЖрдгрд┐ Orangepi PC рдмреЛрд░реНрдбрд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреБрд░рд╡рд▓реЗ рдЖрд╣реЗ. vTPM рдЖрдгрд┐ virtio-iommu рд╕рд╛рдзрдирд╛рдВрд╕рд╛рдареА 'virt' рдПрдореНрдпреБрд▓реЗрдЯреЗрдб рдорд╢реАрдиреНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. KVM рдЕрддрд┐рдереА рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА AArch32 рд╣реЛрд╕реНрдЯ рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдирд╛рдкрд╕рдВрдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдЦрд╛рд▓реАрд▓ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ:
    • рдПрдЖрд░рдПрдорд╡реНрд╣реА 8.1: рд╡реНрд╣реАрдПрдЪрдИ, рд╡реНрд╣реАрдПрдордЖрдпрдбреА 16, рдкреЕрди, рдкреАрдПрдордпреВ
    • рдПрдЖрд░рдПрдорд╡реНрд╣реА 8.2: рдпреВрдПрдУ, рдбреАрд╕реАрдкреАрдУрдкреА, рдПрдЯреАрдПрд╕ 1 рдИ 1, рдЯреАрдЯреАрд╕реАрдПрдирдкреА
    • рдПрдЖрд░рдПрдорд╡реНрд╣реА 8.3: рдЖрд░рд╕реАрдкреАрд╕реА, рд╕реАрд╕реАрдЖрдпрдбреАрдПрдХреНрд╕
    • рдПрдЖрд░рдПрдорд╡реНрд╣реА 8.4: рдкреАрдПрдордпреВ, рдЖрд░рд╕реАрдкреАрд╕реА
  • рдПрдЪрдкреА рдЖрд░реНрдЯрд┐рд╕реНрдЯ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЙрдкрдХрд░рдг рд╡рд╛рдкрд░реВрди рдПрдЪрдкреАрдкреАрдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рд▓рд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрдиреНрд╕реЛрд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • MIPS рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рд▓рд╛ GINVT (рдЧреНрд▓реЛрдмрд▓ рдЗрдиреНрд╡реНрд╣реЕрд▓рд┐рдбреЗрд╢рди TLB) рд╕реВрдЪрдирд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реА рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА KVM рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд░рд╡реЗрдЧ рд╕рд╛рдзрдирд╛рдВрдЪреЗ рдЗрдореНрдпреБрд▓реЗрд╢рди 'powernv' рдорд╢реАрдирд╕рд╛рдареА PowerPC рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
    рдХреНрд▓рд╛рд╕рд┐рдХ TCG рдХреЛрдб рдЬрдирд░реЗрдЯрд░ (рд▓рдШреБ рдХреЛрдб рдЬрдирд░реЗрдЯрд░) рд╕рд╣ KVM. рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рдореЗрдорд░реАрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкрд░рд╛рд╡рд░реНрддрд┐рдд NVDIMM рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ. 'pseries' рдорд╢рд┐рдиреНрд╕рд╕рд╛рдареА, XIVE/XICS рдЗрдВрдЯрд░рдкреНрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕рдЪреНрдпрд╛ рдСрдкрд░реЗрд╢рдирд▓рд╛ тАЬic-mode=dualтАЭ рдореЛрдбрдордзреНрдпреЗ рд╕рдордиреНрд╡рдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░реАрдмреВрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ;

  • 'virt' рдЖрдгрд┐ 'sifive_u' рдмреЛрд░реНрдбрд╕рд╛рдареА RISC-V рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░ рдкреЙрд╡рд░ рдЖрдгрд┐ рд░реАрдмреВрдЯ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА рдорд╛рдирдХ Linux syscon рдбреНрд░рд╛рдЗрд╡реНрд╣рд░реНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдкреБрд░рд╡рддреЛ. 'virt' рдмреЛрд░реНрдбрд╕рд╛рдареА Goldfish RTC рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдЪреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЬреЛрдбрд▓реА;
  • KVM рдореЛрдбрдордзреНрдпреЗ рдХрд╛рд░реНрдпрд░рдд рдЕрд╕рддрд╛рдирд╛ AIS (рдЕреЕрдбреЙрдкреНрдЯрд░ рдЗрдВрдЯрд░рдкреНрдЯ рд╕рдкреНрд░реЗрд╢рди) рд╕рдорд░реНрдерди s390 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдПрдореБрд▓реЗрдЯрд░рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛