рдЗрдВрдЯреЗрд▓
рд╕рдВрдпреБрдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛
рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рд╡рд░реНрдЯреАрдУ-рдЖрдзрд╛рд░рд┐рдд рдкреИрд░рд╛рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдЪрд▓рд╛рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рдореБрдЦ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдореЗрдВ рд╣реИрдВ: рдЙрдЪреНрдЪ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛, рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рд╕рд░рд▓реАрдХреГрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдХреНрд░рдордг рд╡реИрдХреНрдЯрд░ рдореЗрдВ рдХрдореАред
рдЕрдиреБрдХрд░рдг рд╕рдорд░реНрдерди рдХреЛ рдиреНрдпреВрдирддрдо рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкреИрд░рд╛рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ x86_64 рд╕рд┐рд╕реНрдЯрдо рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди AArch64 рд╕рдорд░реНрдерди рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдЕрддрд┐рдерд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХреЗ рдХреЗрд╡рд▓ 64-рдмрд┐рдЯ рдмрд┐рд▓реНрдб рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╕реАрдкреАрдпреВ, рдореЗрдореЛрд░реА, рдкреАрд╕реАрдЖрдИ рдФрд░ рдПрдирд╡реАрдбреАрдЖрдИрдПрдордПрдо рдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рдЪрд░рдг рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЛ рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдирдпреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ:
- рдкреИрд░рд╛рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб I/O рдХреЛ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдкрд░ рдХрд╛рдо рдЬрд╛рд░реА рд░рд╣рд╛ред рдмреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ
vhost-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-blk . рдкрд░рд┐рд╡рд░реНрддрди рдЖрдкрдХреЛ vhost-user рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреНрд▓реЙрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗрдПрд╕рдкреАрдбреАрдХреЗ , рдкреИрд░рд╛рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдмреИрдХрдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ; - рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдмреИрдХрдПрдВрдб рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
vhost-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдиреЗрдЯ , рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдирдП рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛рдирд▓ . рдмреИрдХрдПрдВрдб рд░рд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЗрд╕реЗ рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рдореЗрдВ рдореБрдЦреНрдп рдкреИрд░рд╛-рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; - рдореЗрдЬрдмрд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреА рджрдХреНрд╖рддрд╛ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, virtio рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ AF_VSOCK рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ (рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЙрдХреЗрдЯ) рдХреЗ рд╕рд╛рде рд╕реЙрдХреЗрдЯ рдХрд╛ рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ
рдкрдЯрд╛рдЦреЗ , рдЕрдореЗрдЬрд╝рди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рддред VSOCK рдЖрдкрдХреЛ рдЕрддрд┐рдерд┐ рдФрд░ рд╣реЛрд╕реНрдЯ рдкрдХреНрд╖реЛрдВ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ POSIX рд╕реЙрдХреЗрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдФрд░ рдПрдХ рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ; - HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрди рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдПрдкреАрдЖрдИ рдЕрддрд┐рдерд┐ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛, рдЬреИрд╕реЗ рд╣реЙрдЯ-рдкреНрд▓рдЧрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрди рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг;
- virtio MMIO (рдореЗрдореЛрд░реА рдореИрдкреНрдб virtio) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкрд░рд┐рд╡рд╣рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рдд рдЬреЛрдбрд╝реА рдЧрдИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреНрдпреВрдирддрдо рдЕрддрд┐рдерд┐ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП PCI рдмрд╕ рдЕрдиреБрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ;
- рдиреЗрд╕реНрдЯреЗрдб рдЧреЗрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдкрд╣рд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдХреНрд▓рд╛рдЙрдб рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рдиреЗ virtio рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд░рд╛рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреНрдб IOMMU рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рд╣реИ, рдЬреЛ рдиреЗрд╕реНрдЯреЗрдб рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИред
- Ubuntu 19.10 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛;
- 64 рдЬреАрдмреА рд╕реЗ рдЕрдзрд┐рдХ рд░реИрдо рдХреЗ рд╕рд╛рде рдЕрддрд┐рдерд┐ рд╕рд┐рд╕реНрдЯрдо рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИред
рд╕рд╛рде рд╣реА рдЗрд╕реЗ рдиреЛрдЯ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рдиреНрдпреВрдирддрдо рдУрд╡рд░рд╣реЗрдб рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ (рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдлрд╛рдпрд░рдХреНрд░реИрдХрд░ рд╣рд▓реНрдХреА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╡реАрдПрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реБрдП рдкреВрд░реНрдг рдЕрд▓рдЧрд╛рд╡ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╛рдпрд░рдХреНрд░реИрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдорд╛рдЗрдХреНрд░реЛрд╡реАрдПрдо рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рд╕реЗ рд▓реЗрдХрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рддрдХ рдХрд╛ рд╕рдордп 125ms рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 150 рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рддреАрд╡реНрд░рддрд╛ рдХреЗ рд╕рд╛рде рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдлрд╛рдпрд░рдХреНрд░реИрдХрд░ рдХреА рдирдИ рд░рд┐рд▓реАрдЬ рдПрдкреАрдЖрдИ рд╣реИрдВрдбрд▓рд░ ("-рдиреЛ-рдПрдкреАрдЖрдИ") рд▓реЙрдиреНрдЪ рдХрд┐рдП рдмрд┐рдирд╛ рдСрдкрд░реЗрд╢рди рдХрд╛ рдПрдХ рдореЛрдб рдЬреЛрдбрд╝рддреА рд╣реИ, рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдХреЗрд╡рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рддрдХ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИред рд╕реНрдереИрддрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди "--config-file" рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ, "-" рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЭрдВрдбреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдЕрдореЗрдЬрд╝реЕрди, рдЬреЛ рдкрдЯрд╛рдЦрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ, рднреА
рдЕрдореЗрдЬрд╝рди рднреА
рд╕реНрд░реЛрдд: opennet.ru