ã€ã³ãã«
å
±åãããžã§ã¯ã
Cloud Hypervisor ã¯ãvirtio ããŒã¹ã®æºä»®æ³åã¢ãã©ã€ã¢ã³ã¹ã䜿çšããŠææ°ã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ãå®è¡ããããšã«éç¹ã眮ããŠããŸãã äž»ãªã¿ã¹ã¯ãšããŠã¯ãé«ãå¿çæ§ãäœã¡ã¢ãªæ¶è²»ãé«ãããã©ãŒãã³ã¹ãç°¡çŽ åãããæ§æãããã³èããããæ»æãã¯ãã«ã®åæžãªã©ãæããããŸãã
ãšãã¥ã¬ãŒã·ã§ã³ã®ãµããŒãã¯æå°éã«æããããæºä»®æ³åã«éç¹ã眮ãããŠããŸãã çŸåšãx86_64 ã·ã¹ãã ã®ã¿ããµããŒããããŠããŸãããAArch64 ã®ãµããŒããæºåäžã§ãã ã²ã¹ã ã·ã¹ãã ã®ãã¡ãçŸåšãµããŒããããŠããã®ã¯ 64 ããã Linux ãã«ãã®ã¿ã§ãã CPUãã¡ã¢ãªãPCIãNVDIMM ã®èšå®ã¯ãã«ã段éã§è¡ãããŸãã ãµãŒããŒéã§ä»®æ³ãã·ã³ã移è¡ããããšãå¯èœã§ãã
åé²æ²:
- æºä»®æ³å I/O ãå¥ã®ããã»ã¹ã«ç§»åããäœæ¥ãç¶ããããŸããã ããã¯ãšã³ãã䜿çšããŠãããã¯ããã€ã¹ãšå¯Ÿè©±ããæ©èœãè¿œå ããŸãã
vhost-user-blk ã ãã®å€æŽã«ãããvhost-user ã¢ãžã¥ãŒã«ã«åºã¥ããŠããã㯠ããã€ã¹ã Cloud Hypervisor ã«æ¥ç¶ã§ããããã«ãªããŸããSPDK ãæºä»®æ³åã¹ãã¬ãŒãžã®ããã¯ãšã³ããšããŠã - ååã®ãªãªãŒã¹ã§å°å
¥ãããããããã¯ãŒã¯æäœã®ããã¯ãšã³ããžã®ç§»è¡ã®ãµããŒã
ä»®æ³ãã¹ããŠãŒã¶ãŒããã ãä»®æ³ãããã¯ãŒã¯ãã©ã€ããŒã«åºã¥ããæ°ããããã¯ãšã³ãã§æ¡åŒµTAP ã ããã¯ãšã³ã㯠Rust ã§æžãããŠãããçŸåšã¯ã¡ã€ã³ã®æºä»®æ³åãããã¯ãŒã¯ ã¢ãŒããã¯ãã£ãšã㊠Cloud Hypervisor ã§äœ¿çšãããŠããŸãã - ãã¹ãç°å¢ãšã²ã¹ã ã·ã¹ãã éã®éä¿¡ã®å¹çãšã»ãã¥ãªãã£ãåäžãããããã«ãvirtio ãä»ããŠåäœãã AF_VSOCK ã¢ãã¬ã¹æå®ãåãããœã±ãã (ä»®æ³ãããã¯ãŒã¯ ãœã±ãã) ã®ãã€ããªããå®è£
ãææ¡ãããŠããŸãã å®è£
ã¯ãããžã§ã¯ãã®çºå±ã«åºã¥ããŠè¡ãããŸã
ç竹 ã¢ããŸã³ã«ãã£ãŠéçºãããŸããã VSOCK ã䜿çšãããšãã²ã¹ã ã·ã¹ãã åŽã®ã¢ããªã±ãŒã·ã§ã³ãšãã¹ãéã®å¯Ÿè©±ã«æšæºã® POSIX ãœã±ãã API ã䜿çšã§ããŸããããã«ãããéåžžã®ãããã¯ãŒã¯ ããã°ã©ã ããã®ãããªå¯Ÿè©±ã«é©å¿ãããããè€æ°ã®ã¯ã©ã€ã¢ã³ã ããã°ã©ã ãš XNUMX ã€ã®ãµãŒã㌠ã¢ããªã±ãŒã·ã§ã³ã®å¯Ÿè©±ãå®è£ ãããããããšã容æã«ãªããŸãã - HTTP ãããã³ã«ã䜿çšãã管ç API ã®åæãµããŒããæäŸãããŠããŸãã å°æ¥çã«ã¯ããã® API ã«ããããªãœãŒã¹ã®ããããã©ã°ãç°å¢ã®ç§»è¡ãªã©ãã²ã¹ã ã·ã¹ãã äžã§éåææäœãéå§ã§ããããã«ãªããŸãã
- virtio MMIO (ã¡ã¢ãª ãããã virtio) ã«åºã¥ããã©ã³ã¹ããŒãå®è£ å±€ãè¿œå ããŸãããããã䜿çšãããšãPCI ãã¹ ãšãã¥ã¬ãŒã·ã§ã³ãå¿ èŠãšããªãæå°éã®ã²ã¹ã ã·ã¹ãã ãäœæã§ããŸãã
- Cloud Hypervisor ã§ãã¹ããããã²ã¹ã ã·ã¹ãã ãå®è¡ããããã®ãµããŒããæ¡åŒµããåãçµã¿ã®äžç°ãšããŠãvirtio ãä»ããŠæºä»®æ³å IOMMU ããã€ã¹ã転éããæ©èœãè¿œå ãããŸãããããã«ããããã¹ããããçŽæ¥ããã€ã¹è»¢éã®ã»ãã¥ãªãã£ãåäžãããããšãã§ããŸãã
- Ubuntu 19.10ã®ãµããŒããæäŸããŸããã
- 64 GB ãè¶ ãã RAM ãæèŒããã²ã¹ã ã·ã¹ãã ãå®è¡ããæ©èœãè¿œå ãããŸããã
ããã«ã泚ç®ã§ããã®ã¯ã
ãã®ãã©ãããã©ãŒã ã¯ãæå°éã®ãªãŒããŒãããã§ä»®æ³ãã·ã³ãå®è¡ããããã«èšèšãããŠããããµãŒããŒã¬ã¹éçºã¢ãã« (ãµãŒãã¹ãšããŠã®æ©èœ) ã䜿çšããŠæ§ç¯ãããåé¢ç°å¢ãšãµãŒãã¹ãäœæããã³ç®¡çããããã®ããŒã«ãæäŸããŸãã Firecracker ã¯ãããŒããŠã§ã¢ä»®æ³åãã¯ãããžã䜿çšããŠä»®æ³ãã·ã³ãå®å šã«åé¢ããªãããåŸæ¥ã®ã³ã³ããã®ããã©ãŒãã³ã¹ãšæè»æ§ãæäŸãã microVM ãšåŒã°ãã軜éã®ä»®æ³ãã·ã³ãæäŸããŸãã ããšãã°ãFirecracker ã䜿çšããå ŽåãmicroVM ã®éå§ããã¢ããªã±ãŒã·ã§ã³ã®éå§ãŸã§ã®æé㯠125 ããªç§ãè¶ ããªãããã150 ç§ãããæ倧 XNUMX ç°å¢ã®åŒ·åºŠã§æ°ããä»®æ³ãã·ã³ãèµ·åã§ããŸãã
Firecracker ã®æ°ãããªãªãŒã¹ã§ã¯ãAPI ãã³ãã©ãŒãå®è¡ããªãæäœã¢ãŒã (ã--no-apiã) ãè¿œå ãããç°å¢ãæ§æãã¡ã€ã«å ã®ããŒãã³ãŒãã£ã³ã°ãããèšå®ã®ã¿ã«å¶éãããŸãã éçæ§æã¯ã--config-fileããªãã·ã§ã³ã§æå®ãããJSON 圢åŒã§å®çŸ©ãããŸãã ã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ã®ãã¡ããâãåºåãæåã®ãµããŒããè¿œå ãããŸããããã®åŸããã©ã°ã¯åŠçãããã«ãã§ãŒã³ã«æ²¿ã£ãŠæž¡ãããŸãã
Firecrackeréçºè
ã®Amazonã
ã¢ããŸã³ã
åºæïŒ ãªãŒãã³ããã.ru