ã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ã¯ç§ãã¡ã®ç掻ã«ãŸããŸã浞éããŠãããã¯ã©ãŠããµãŒãã¹ãäžåºŠãå©çšããããšããªã人ã¯ããªãã§ãããã ããããã¯ã©ãŠããšã¯æ£ç¢ºã«äœãªã®ãããããŠãããã©ã®ããã«æ©èœããã®ãããã¢ã€ãã¢ã®ã¬ãã«ã§ãã£ãŠãç¥ã£ãŠãã人ã¯ã»ãšãã©ããŸããã 5G ã¯ãã§ã«çŸå®ã«ãªãã€ã€ãããéä¿¡ã€ã³ãã©ãå®å
šãªããŒããŠã§ã¢ ãœãªã¥ãŒã·ã§ã³ããä»®æ³åããããæ±ãã«ç§»è¡ãããšããšåãããã«ãæ±ãœãªã¥ãŒã·ã§ã³ããã¯ã©ãŠã ãœãªã¥ãŒã·ã§ã³ã«ç§»è¡ãå§ããŠããŸãã
ä»æ¥ã¯ã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å
éšäžçã«ã€ããŠãç¹ã«ãããã¯ãŒã¯éšåã®åºæ¬ã«ã€ããŠèª¬æããŸãã
ã¯ã©ãŠããšã¯äœã§ãã? åãä»®æ³å - ãããã¡ã€ã«ãã¥ãŒ?
è«ççãªè³ªå以äžã®ãã®ã§ãã ããããããã¯ä»®æ³åã§ã¯ãããŸããããä»®æ³åãªãã§ã¯å®çŸã§ããŸããã XNUMX ã€ã®å®çŸ©ãèŠãŠã¿ãŸãããã
ã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ïŒä»¥äžãã¯ã©ãŠãïŒ åæ£ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ãžã®ãŠãŒã¶ãŒ ãã¬ã³ããªãŒãªã¢ã¯ã»ã¹ãæäŸããããã®ã¢ãã«ã§ããåæ£ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã¯ãå¯èœãªéãåŸ ã¡æéãæå°éã«æãããµãŒãã¹ ãããã€ããŒã®ã³ã¹ããæå°éã«æããŠããªã³ããã³ãã§å±éããã³èµ·åããå¿ èŠããããŸãã
ä»®æ³å - ããã¯ã3 ã€ã®ç©çãšã³ãã£ã㣠(ãµãŒããŒãªã©) ãè€æ°ã®ä»®æ³ãšã³ãã£ãã£ã«åå²ããæ©èœã§ãããã«ãããªãœãŒã¹ã®äœ¿çšçãåäžããŸã (ããšãã°ã25 å°ã®ãµãŒããŒã 30 ïœ 1 ããŒã»ã³ãã§è² è·ãããŠããŸããããä»®æ³ååŸã¯ 80 å°ã®ãµãŒããŒãè² è·ãããããã«ãªããŸã) 90ãXNUMXããŒã»ã³ãïŒã åœç¶ã®ããšãªãããä»®æ³åã¯ãªãœãŒã¹ã®äžéšãæ¶è²»ããŸãããã€ããŒãã€ã¶ãŒã«äŸçµŠããå¿ èŠããããŸãããå®è·µã瀺ããŠããããã«ããã®ã²ãŒã ã«ã¯ããããã®äŸ¡å€ããããŸãã ä»®æ³åã®çæ³çãªäŸãšããŠã¯ãä»®æ³ãã·ã³ãå®å šã«æºåãã VMWare ããããšãã°ç§ã奜ã KVM ããããŸãããããã¯å¥œã¿ã®åé¡ã§ãã
ç§ãã¡ã¯ç¡æèã«ä»®æ³åã䜿çšããŠãããéã®ã«ãŒã¿ãŒã§ããããã§ã«ä»®æ³åã䜿çšããŠããŸããããšãã°ãææ°ããŒãžã§ã³ã® JunOS ã§ã¯ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã¯ãªã¢ã«ã¿ã€ã Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ (Wind River 9) äžã®ä»®æ³ãã·ã³ãšããŠã€ã³ã¹ããŒã«ãããŸãã ãã ããä»®æ³åã¯ã¯ã©ãŠãã§ã¯ãããŸãããä»®æ³åãªãã§ã¯ã¯ã©ãŠãã¯ååšã§ããŸããã
ä»®æ³åã¯ãã¯ã©ãŠããæ§ç¯ããããã®æ§æèŠçŽ ã® XNUMX ã€ã§ãã
è€æ°ã®ãã€ããŒãã€ã¶ãŒã 2 ã€ã® LXNUMX ãã¡ã€ã³ã«éããŠã¯ã©ãŠããäœæãããã皮㮠Ansible ãä»ã㊠VLAN ãèªåçã«ç»é²ããããã® yaml ãã¬ã€ããã¯ãããã€ãè¿œå ããä»®æ³ãã·ã³ãèªåçã«äœæããããã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã·ã¹ãã ã®ãããªãã®ãããã«è©°ã蟌ãã ãã§ã¯ãæ©èœããŸããã ããã¯ããæ£ç¢ºã«ãªããŸãããçµæãšããŠåŸããããã©ã³ã±ã³ã·ã¥ã¿ã€ã³ã¯ãä»ã®äººã«ãšã£ãŠã¯ç©¶æ¥µã®å€¢ãããããŸããããç§ãã¡ãå¿ èŠãšããé²ã§ã¯ãããŸããã ããã«ãåã Openstack ã䜿çšãããšããŠããæ¬è³ªçã«ã¯ãã©ã³ã±ã³ã·ã¥ã¿ã€ã³ã®ãŸãŸã§ããããŸããããã«ã€ããŠã¯ä»ã¯è©±ããªãã§ããããšæããŸãã
ããããäžèšã®å®çŸ©ããã¯ãå®éã«äœãã¯ã©ãŠããšåŒã¹ãã®ãã¯å®å šã«ã¯æããã§ã¯ãªãããšã¯ç解ããŠããŸãã
ãããã£ãŠãNIST (åœç«æšæºæè¡ç 究æ) ã®ææžã§ã¯ãã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ãæã€ã¹ã 5 ã€ã®äž»ãªç¹æ§ã瀺ãããŠããŸãã
ãªã¯ãšã¹ãã«å¿ããŠãµãŒãã¹ãæäŸããŸãã ãŠãŒã¶ãŒã«ã¯ãèªåã«å²ãåœãŠãããã³ã³ãã¥ãŒã¿ãŒ ãªãœãŒã¹ (ãããã¯ãŒã¯ãä»®æ³ãã£ã¹ã¯ãã¡ã¢ãªãããã»ããµ ã³ã¢ãªã©) ãžã®èªç±ãªã¢ã¯ã»ã¹ãäžããããªããã°ãªããŸããããŸãããããã®ãªãœãŒã¹ã¯ããµãŒãã¹ ãããã€ããŒã®ä»å ¥ãªãã«èªåçã«æäŸãããå¿ èŠããããŸãã
å¹ åºããµãŒãã¹ãå©çšå¯èœã æšæºã® PCãã·ã³ ã¯ã©ã€ã¢ã³ããããã³ã¢ãã€ã« ããã€ã¹ã®äž¡æ¹ã䜿çšã§ããããã«ããã«ã¯ããªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãæšæºã®ã¡ã«ããºã ã«ãã£ãŠæäŸããå¿ èŠããããŸãã
ãªãœãŒã¹ãããŒã«ã«çµåããŸãã ãªãœãŒã¹ ããŒã«ã¯ãè€æ°ã®ã¯ã©ã€ã¢ã³ãã«åæã«ãªãœãŒã¹ãæäŸã§ããã¯ã©ã€ã¢ã³ããåé¢ãããçžäºåœ±é¿ããªãœãŒã¹ã®ç«¶åãçºçããªãããã«ããå¿ èŠããããŸãã ãããã¯ãŒã¯ãããŒã«ã«å«ãŸããŠãããéè€ããã¢ãã¬ã¹æå®ã䜿çšãããå¯èœæ§ãããããšãããããŸãã ããŒã«ã¯ãªã³ããã³ãã§æ¡åŒµã§ããå¿ èŠããããŸãã ããŒã«ã䜿çšãããšãå¿ èŠãªã¬ãã«ã®ãªãœãŒã¹ ãã©ãŒã«ã ãã¬ã©ã³ã¹ãšãç©çãªãœãŒã¹ãšä»®æ³ãªãœãŒã¹ã®æœè±¡åãæäŸã§ããŸãããµãŒãã¹ã®åä¿¡è ã«ã¯ãèŠæ±ãããªãœãŒã¹ã®ã»ãããæäŸãããã ãã§ã (ãããã®ãªãœãŒã¹ã¯ç©ççã«ã©ãã«é 眮ãããããã€ããã®ã)ããµãŒããŒãšã¹ã€ãã - ã¯ã©ã€ã¢ã³ãã«ãšã£ãŠã¯é¢ä¿ãããŸãã)ã ãã ãããããã€ããŒã¯ãããã®ãªãœãŒã¹ã®ééçãªäºçŽãä¿èšŒããå¿ èŠããããšããäºå®ãèæ ®ããå¿ èŠããããŸãã
ããŸããŸãªæ¡ä»¶ãžã®çŽ æ©ãé©å¿ã ãµãŒãã¹ã¯æè»ã§ããå¿ èŠããããŸãããªãœãŒã¹ã®è¿ éãªæäŸãåé åžãã¯ã©ã€ã¢ã³ãã®èŠæ±ã«å¿ãããªãœãŒã¹ã®è¿œå ãŸãã¯åæžãªã©ãã¯ã©ã€ã¢ã³ãåŽã§ã¯ã¯ã©ãŠã ãªãœãŒã¹ãç¡éã§ãããšæããå¿ èŠããããŸãã ããšãã°ãç解ã容æã«ããããã«ããµãŒããŒäžã®ããŒã ãã©ã€ããæ éããããã« Apple iCloud ã®ãã£ã¹ã¯é åã®äžéšãæ¶å€±ãããšããèŠåã¯è¡šç€ºãããŸãããããã©ã€ãã¯å®éã«æ éããŸãã ããã«ãããªãåŽã§ã¯ããã®ãµãŒãã¹ã®å¯èœæ§ã¯ã»ãŒç¡éã§ã - 2 TB ãå¿ èŠã§ã - åé¡ãããŸãããããªãã¯æ¯æããåãåããŸããã åæ§ã®äŸã¯ãGoogle.Drive ãŸã㯠Yandex.Disk ã«ãåœãŠã¯ãŸããŸãã
æäŸããããµãŒãã¹ã枬å®ããå¯èœæ§ã ã¯ã©ãŠã ã·ã¹ãã ã¯ãæ¶è²»ããããªãœãŒã¹ãèªåçã«å¶åŸ¡ããã³æé©åããå¿ èŠãããããããã®ã¡ã«ããºã ã¯ãŠãŒã¶ãŒãšãµãŒãã¹ ãããã€ããŒã®äž¡æ¹ã«å¯ŸããŠééçã§ããå¿ èŠããããŸãã ã€ãŸããããªããšããªãã®ã¯ã©ã€ã¢ã³ããæ¶è²»ããŠãããªãœãŒã¹ã®æ°ããã€ã§ã確èªã§ããŸãã
ãããã®èŠä»¶ã¯äž»ã«ãããªã㯠ã¯ã©ãŠãã®èŠä»¶ã§ããããããã©ã€ããŒã ã¯ã©ãŠã (ã€ãŸããäŒæ¥ã®å éšããŒãºã®ããã«ç«ã¡äžããããã¯ã©ãŠã) ã®å Žåã¯ããããã®èŠä»¶ãè¥å¹²èª¿æŽã§ãããšããäºå®ãèæ ®ãã䟡å€ããããŸãã ããããããã§ãå®çŸããå¿ èŠããããŸããããããªããšãã¯ã©ãŠã ã³ã³ãã¥ãŒãã£ã³ã°ã®ã¡ãªããããã¹ãŠäº«åã§ããªããªããŸãã
ãªãã¯ã©ãŠããå¿ èŠãªã®ã§ãããã?
ãã ããæ°èŠãŸãã¯æ¢åã®ãã¯ãããžãæ°ãããããã³ã«ã¯ãäœãã®ããã«äœæãããŸã (ãã¡ãããRIP-ng ã¯é€ããŸã)ã ãããã³ã«ã®ããã«ãããã³ã«ãå¿ èŠãšãã人ã¯ããŸãã (ãã¡ãããRIP-ng ãé€ããŠ)ã ã¯ã©ãŠãããŠãŒã¶ãŒ/ã¯ã©ã€ã¢ã³ãã«äœããã®ãµãŒãã¹ãæäŸããããã«äœæãããã®ã¯è«ççã§ãã ç§ãã¡ã¯çãDropbox ã Google.Docs ãªã©ãå°ãªããšã XNUMX ã€ã®ã¯ã©ãŠã ãµãŒãã¹ã«ç²ŸéããŠãããã»ãšãã©ã®äººãããããããŸã掻çšããŠãããšæããŸããããšãã°ããã®èšäºã¯ Google.Docs ã¯ã©ãŠã ãµãŒãã¹ã䜿çšããŠæžãããŠããŸãã ããããç§ãã¡ãç¥ã£ãŠããã¯ã©ãŠã ãµãŒãã¹ã¯ãã¯ã©ãŠãã®æ©èœã®äžéšã«ãããŸãããããæ£ç¢ºã«ã¯ãããã㯠SaaS ã¿ã€ãã®ãµãŒãã¹ã«ãããŸããã ã¯ã©ãŠããµãŒãã¹ã¯SaaSãPaaSãIaaSã®XNUMXã€ã®æ¹æ³ã§æäŸã§ããŸãã ã©ã®ãããªãµãŒãã¹ãå¿ èŠãã¯ãããªãã®åžæãšèœåã«ãã£ãŠç°ãªããŸãã
ãããããé çªã«èŠãŠã¿ãŸãããã
ãµãŒãã¹ãšããŠã®ãœãããŠã§ã¢ïŒSaaSïŒ Yandex.Mail ã Gmail ãªã©ã®é»åã¡ãŒã« ãµãŒãã¹ãªã©ãæ¬æ ŒçãªãµãŒãã¹ãã¯ã©ã€ã¢ã³ãã«æäŸããããã®ã¢ãã«ã§ãã ãã®ãµãŒãã¹é ä¿¡ã¢ãã«ã§ã¯ãã¯ã©ã€ã¢ã³ããšããŠã¯ãå®éã«ã¯ãµãŒãã¹ã䜿çšããããšä»¥å€ã¯äœãããŸãããã€ãŸãããµãŒãã¹ã®èšå®ããã®ãã©ãŒã«ã ãã¬ã©ã³ã¹ããŸãã¯åé·æ§ã«ã€ããŠèããå¿ èŠã¯ãããŸããã éèŠãªã®ã¯ãã¹ã¯ãŒããå±éºã«ããããªãããšã§ããæ®ãã®äœæ¥ã¯ãã®ãµãŒãã¹ã®ãããã€ããŒãè¡ããŸãã ãµãŒãã¹ ãããã€ããŒã®èŠ³ç¹ããèŠããšããµãŒã㌠ããŒããŠã§ã¢ããã¹ã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããããŒã¿ããŒã¹ããœãããŠã§ã¢ã®èšå®ã«è³ããŸã§ããµãŒãã¹å šäœã«å¯ŸããŠå šè²¬ä»»ãè² ããŸãã
ãµãŒãã¹ãšããŠã®ãã©ãããã©ãŒã ïŒPaaSã®ïŒ â ãã®ã¢ãã«ã䜿çšããå ŽåããµãŒãã¹ãããã€ããŒã¯ã¯ã©ã€ã¢ã³ãã«ãµãŒãã¹çšã®ã¯ãŒã¯ããŒã¹ãæäŸããŸããããšãã°ãWeb ãµãŒããŒãèããŠã¿ãŸãããã ãµãŒãã¹ãããã€ããŒã¯ãã¯ã©ã€ã¢ã³ãã«ä»®æ³ãµãŒã㌠(å®éã«ã¯ãRAM/CPU/ã¹ãã¬ãŒãž/ããããªã©ã®ãªãœãŒã¹ã®ã»ãã) ãæäŸãããã®ãµãŒããŒã« OS ãšå¿ èŠãªãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããŸããããããã¹ãŠã¯ã¯ã©ã€ã¢ã³ãèªèº«ã«ãã£ãŠè¡ãããã¯ã©ã€ã¢ã³ããå¿çãããµãŒãã¹ã®ããã©ãŒãã³ã¹ã®ããã«è¡ãããŸãã åã®ã±ãŒã¹ãšåæ§ã«ããµãŒãã¹ ãããã€ããŒã¯ãç©çæ©åšããã€ããŒãã€ã¶ãŒãä»®æ³ãã·ã³èªäœã®ããã©ãŒãã³ã¹ããããã¯ãŒã¯ã®å¯çšæ§ãªã©ã«å¯ŸããŠè²¬ä»»ãè² ããŸããããµãŒãã¹èªäœã¯ãã¯ããã®è²¬ä»»ç¯å²ã§ã¯ãããŸããã
ãµãŒãã¹ãšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ïŒIaaSã®ïŒ - ãã®ã¢ãããŒãã¯ãã§ã«ããã«èå³æ·±ããã®ã§ãããå®éããµãŒãã¹ ãããã€ããŒã¯ã¯ã©ã€ã¢ã³ãã«å®å šãªä»®æ³åã€ã³ãã©ã¹ãã©ã¯ãã£ãã€ãŸã CPU ã³ã¢ãRAMããããã¯ãŒã¯ãªã©ã®ãªãœãŒã¹ã®ã»ãã (ããŒã«) ãæäŸããŸãããã®ä»ã¯ãã¹ãŠæ¬¡ç¬¬ã§ããã¯ã©ã€ã¢ã³ã - ã¯ã©ã€ã¢ã³ããå²ãåœãŠãããããŒã« (ã¯ã©ãŒã¿) å ã§ãããã®ãªãœãŒã¹ã䜿çšããŠäœããããã - ãµãã©ã€ã€ãŒã«ãšã£ãŠã¯ç¹ã«éèŠã§ã¯ãããŸããã ã¯ã©ã€ã¢ã³ããç¬èªã® vEPC ãäœæãããå Žåã§ãããã ãªãã¬ãŒã¿ãŒãäœæããŠéä¿¡ãµãŒãã¹ãæäŸãããå Žåã§ããçããªãããããå®è¡ããŠãã ããã ãã®ãããªã·ããªãªã§ã¯ããµãŒãã¹ ãããã€ããŒã¯ããªãœãŒã¹ããã®ãã©ãŒã«ã ãã¬ã©ã³ã¹ãšå¯çšæ§ãããã³ãããã®ãªãœãŒã¹ãããŒã«ãããã€ã§ããªãœãŒã¹ãå¢æžã§ããããã«ã¯ã©ã€ã¢ã³ããå©çšã§ããããã«ãã OS ã®ããããžã§ãã³ã°ãæ åœããŸããã¯ã©ã€ã¢ã³ãã®ãªã¯ãšã¹ãã«å¿ããŠã ã¯ã©ã€ã¢ã³ãã¯ãã»ã«ããµãŒãã¹ ããŒã¿ã«ãšã³ã³ãœãŒã«ãéããŠããããã¯ãŒã¯ (å€éšãããã¯ãŒã¯ãé€ã) ã®ã»ããã¢ãããå«ãããã¹ãŠã®ä»®æ³ãã·ã³ãšãã®ä»ã®èŠæãåããèªåã§æ§æããŸãã
ãªãŒãã³ã¹ã¿ãã¯ãšã¯äœã§ãã?
XNUMX ã€ã®ãªãã·ã§ã³ãã¹ãŠã«ãããŠããµãŒãã¹ ãããã€ããŒã«ã¯ã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äœæãå¯èœã«ãã OS ãå¿ èŠã§ãã å®éãSaaS ã§ã¯ãè€æ°ã®éšéããã¯ãããžãŒã®ã¹ã¿ãã¯å šäœãæ åœããŸããã€ã³ãã©ã¹ãã©ã¯ãã£ãæ åœããéšéããããŸããã€ãŸããå¥ã®éšéã« IaaS ãæäŸãããã®éšéãã¯ã©ã€ã¢ã³ãã« SaaS ãæäŸããŸãã OpenStack ã¯ãå€æ°ã®ã¹ã€ããããµãŒããŒãã¹ãã¬ãŒãž ã·ã¹ãã ã XNUMX ã€ã®ãªãœãŒã¹ ããŒã«ã«åéãããã®å ±éããŒã«ããµãããŒã« (ããã³ã) ã«åå²ãããããã®ãªãœãŒã¹ããããã¯ãŒã¯çµç±ã§ã¯ã©ã€ã¢ã³ãã«æäŸã§ããã¯ã©ãŠã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã® XNUMX ã€ã§ãã
OpenStack㯠ã¯ãæšæºã®èªèšŒã¡ã«ããºã ã䜿çšãã API ãéããŠããããžã§ãã³ã°ããã³ç®¡çããããã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ãããŒã¿ ã¹ãã¬ãŒãžãããã³ãããã¯ãŒã¯ ãªãœãŒã¹ã®å€§èŠæš¡ãªããŒã«ãå¶åŸ¡ã§ããã¯ã©ãŠã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§ãã
èšãæããã°ãããã¯ã¯ã©ãŠã ãµãŒãã¹ (ãããªãã¯ãšãã©ã€ããŒãã®äž¡æ¹) ãäœæããããã«èšèšãããäžé£ã®ããªãŒ ãœãããŠã§ã¢ ãããžã§ã¯ãã§ããã€ãŸãããµãŒããŒãšã¹ã€ããã³ã°æ©åšãåäžã®ãªãœãŒã¹ ããŒã«ã«çµåãã管çãå¯èœã«ããããŒã«ã®ã»ããã§ãããããã®ãªãœãŒã¹ã«ãããå¿ èŠãªã¬ãã«ã®ãã©ãŒã«ã ãã¬ã©ã³ã¹ãæäŸãããŸãã
ãã®è³æã®å·çæç¹ã§ã¯ãOpenStack ã®æ§é ã¯æ¬¡ã®ããã«ãªããŸãã
ããã®åç
OpenStack ã«å«ãŸããåã³ã³ããŒãã³ãã¯ãç¹å®ã®æ©èœãå®è¡ããŸãã ãã®åæ£ã¢ãŒããã¯ãã£ã«ãããå¿ èŠãªæ©èœã³ã³ããŒãã³ãã®ã»ããããœãªã¥ãŒã·ã§ã³ã«å«ããããšãã§ããŸãã ãã ããäžéšã®ã³ã³ããŒãã³ãã¯ã«ãŒã ã³ã³ããŒãã³ãã§ãããããããåé€ãããšããœãªã¥ãŒã·ã§ã³å šäœãå®å šãŸãã¯éšåçã«åäœäžèœã«ãªããŸãã ãããã®ã³ã³ããŒãã³ãã¯éåžžã次ã®ããã«åé¡ãããŸãã
- ããã·ã¥ããŒã â OpenStack ãµãŒãã¹ã管çããããã® Web ããŒã¹ã® GUI
- ããŒã¹ããŒã³ ã¯ãä»ã®ãµãŒãã¹ã®èªèšŒããã³èªå¯æ©èœãæäŸãããŠãŒã¶ãŒã®è³æ Œæ å ±ãšãã®åœ¹å²ã管çããéäžåã® ID ãµãŒãã¹ã§ãã
- äžæ§å - ããŸããŸãª OpenStack ãµãŒãã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹éã®æ¥ç¶ãæäŸãããããã¯ãŒã¯ ãµãŒãã¹ (VM éã®æ¥ç¶ããã³å€éšäžçãžã®ã¢ã¯ã»ã¹ãå«ã)
- ã·ã³ã㌠â ä»®æ³ãã·ã³ã®ããã㯠ã¹ãã¬ãŒãžãžã®ã¢ã¯ã»ã¹ãæäŸããŸã
- ããŽã¡ â ä»®æ³ãã·ã³ã®ã©ã€ããµã€ã¯ã«ç®¡ç
- ã²ãšç® â ä»®æ³ãã·ã³ã®ã€ã¡ãŒãžãšã¹ãããã·ã§ããã®ãªããžããª
- ã¹ãŠã£ãã â ã¹ãã¬ãŒãž ãªããžã§ã¯ããžã®ã¢ã¯ã»ã¹ãæäŸããŸã
- ã·ãŒãã¡ãŒã¿ãŒ â ãã¬ã¡ããªãåéããå©çšå¯èœãªãªãœãŒã¹ãšæ¶è²»ããããªãœãŒã¹ã枬å®ããæ©èœãæäŸãããµãŒãã¹
- ããŒã â ãªãœãŒã¹ã®èªåäœæãšããããžã§ãã³ã°ã®ããã®ãã³ãã¬ãŒãã«åºã¥ããªãŒã±ã¹ãã¬ãŒã·ã§ã³
ãã¹ãŠã®ãããžã§ã¯ããšãã®ç®çã®å®å
šãªãªã¹ãã衚瀺ã§ããŸãã
OpenStack ã®åã³ã³ããŒãã³ãã¯ãç¹å®ã®æ©èœãå®è¡ãããã®æ©èœã管çããä»ã®ã¯ã©ãŠã ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãµãŒãã¹ãšå¯Ÿè©±ããŠçµ±åã€ã³ãã©ã¹ãã©ã¯ãã£ãäœæããããã® API ãæäŸãããµãŒãã¹ã§ãã ããšãã°ãNova ã¯ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ç®¡çãšãããã®ãªãœãŒã¹ã®æ§æã«ã¢ã¯ã»ã¹ããããã® API ãæäŸããGlance ã¯ã€ã¡ãŒãžç®¡çãšãããã管çããããã® API ãæäŸããCinder ã¯ããã㯠ã¹ãã¬ãŒãžãšããã管çããããã® API ãæäŸããŸãã ãã¹ãŠã®æ©èœã¯éåžžã«å¯æ¥ã«çžäºæ¥ç¶ãããŠããŸãã
ããããããèŠãŠã¿ããšãOpenStack ã§å®è¡ãããŠãããã¹ãŠã®ãµãŒãã¹ã¯ãæçµçã«ã¯ãããã¯ãŒã¯ã«æ¥ç¶ãããããçš®ã®ä»®æ³ãã·ã³ (ãŸãã¯ã³ã³ãã) ã§ãã ãªãããã»ã©å€ãã®èŠçŽ ãå¿ èŠãªã®ããšããçåãçããŸãã
ä»®æ³ãã·ã³ãäœæããããã Openstack ã®ãããã¯ãŒã¯ãšæ°žç¶ã¹ãã¬ãŒãžã«æ¥ç¶ããããã®ã¢ã«ãŽãªãºã ãèŠãŠã¿ãŸãããã
- ãã·ã³ãäœæãããªã¯ãšã¹ããäœæãããšããããã Horizoâân (ããã·ã¥ããŒã) ãä»ãããªã¯ãšã¹ãã§ãã£ãŠããCLI ãä»ãããªã¯ãšã¹ãã§ãã£ãŠããæåã«è¡ãããã®ã¯ Keystone ã§ã®ãªã¯ãšã¹ãã®æ¿èªã§ãããã·ã³ãäœæã§ããŸãã?ãã®ãããã¯ãŒã¯ã䜿çšããæš©å©ããã©ããã¯ã©ãŒã¿ãªã©ã
- Keystone ã¯ãªã¯ãšã¹ããèªèšŒããå¿çã¡ãã»ãŒãžå ã«èªèšŒããŒã¯ã³ãçæããŸãããã®ããŒã¯ã³ã¯ããã«äœ¿çšãããŸãã Keystone ããå¿çãåä¿¡ãããšããªã¯ãšã¹ã㯠Nova (nova API) ã«éä¿¡ãããŸãã
- Nova-api ã¯ã以åã«çæãããèªèšŒããŒã¯ã³ã䜿çšã㊠Keystone ã«æ¥ç¶ãããªã¯ãšã¹ãã®æå¹æ§ããã§ãã¯ããŸãã
- Keystone ã¯èªèšŒãå®è¡ãããã®èªèšŒããŒã¯ã³ã«åºã¥ããŠæš©éãšå¶éã«é¢ããæ å ±ãæäŸããŸãã
- nova-api ã¯ãnova-database ã«æ°ãã VM ã®ãšã³ããªãäœæãããã·ã³ãäœæãããªã¯ãšã¹ãã nova-scheduler ã«æž¡ããŸãã
- Nova ã¹ã±ãžã¥ãŒã©ã¯ãæå®ããããã©ã¡ãŒã¿ãéã¿ããŸãŒã³ã«åºã¥ã㊠VM ãå±éããããã¹ã (ã³ã³ãã¥ãŒã¿ ããŒã) ãéžæããŸãã ãã®èšé²ãš VM ID ã nova-database ã«æžã蟌ãŸããŸãã
- 次ã«ãnova-scheduler 㯠nova-compute ã«æ¥ç¶ããŠãã€ã³ã¹ã¿ã³ã¹ã®ãããã€ãèŠæ±ããŸãã Nova-compute ã¯ãnova-conductor ã«æ¥ç¶ããŠãã·ã³ãã©ã¡ãŒã¿ãŒã«é¢ããæ å ±ãååŸããŸã (nova-conductor ã¯ãnova-database ãš nova-compute ã®éã®ãããã·ãµãŒããŒãšããŠæ©èœãã nova èŠçŽ ã§ãããããŒã¿ããŒã¹ã®åé¡ãåé¿ããããã« nova-database ãžã®ãªã¯ãšã¹ãã®æ°ãå¶éããŸã)äžè²«æ§è² è·ã®è»œæž)ã
- Nova-conductor ã¯ãnova-database ããèŠæ±ãããæ å ±ãåãåããããã nova-compute ã«æž¡ããŸãã
- 次ã«ãnova-compute ã¯ãglance ãåŒã³åºããŠã€ã¡ãŒãž ID ãååŸããŸãã Glace 㯠Keystone ã§ãªã¯ãšã¹ããæ€èšŒãããªã¯ãšã¹ããããæ å ±ãè¿ããŸãã
- Nova-compute 㯠neutron ã«æ¥ç¶ããŠããããã¯ãŒã¯ ãã©ã¡ãŒã¿ãŒã«é¢ããæ å ±ãååŸããŸãã ã°ã©ã³ã¹ãšåæ§ã«ãneutron 㯠Keystone ã§ãªã¯ãšã¹ããæ€èšŒãããã®åŸããŒã¿ããŒã¹ã«ãšã³ã㪠(ããŒãèå¥åãªã©) ãäœæããããŒããäœæãããªã¯ãšã¹ããäœæãããªã¯ãšã¹ããããæ å ±ã nova-compute ã«è¿ããŸãã
- Nova-compute 㯠cinder ã«æ¥ç¶ããŠãä»®æ³ãã·ã³ã«ããªã¥ãŒã ãå²ãåœãŠããªã¯ãšã¹ããéä¿¡ããŸãã ã°ã©ã³ã¹ãšåæ§ã«ãcider 㯠Keystone ã§ãªã¯ãšã¹ããæ€èšŒããããªã¥ãŒã äœæãªã¯ãšã¹ããäœæãããªã¯ãšã¹ããããæ å ±ãè¿ããŸãã
- Nova-compute ã¯ãæå®ããããã©ã¡ãŒã¿ãŒã䜿çšããŠä»®æ³ãã·ã³ããããã€ãããªã¯ãšã¹ãã libvirt ã«éä¿¡ããŸãã
å®éãåçŽãªä»®æ³ãã·ã³ãäœæãããšããäžèŠåçŽãªæäœããã¯ã©ãŠã ãã©ãããã©ãŒã ã®èŠçŽ éã§ã® API åŒã³åºãã®æžŠã«å€ãããŸãã ããã«ãã芧ã®ãšããã以åã«æå®ããããµãŒãã¹ããçžäºäœçšãçºçããå°ããªã³ã³ããŒãã³ãã§æ§æãããŠããŸãã ãã·ã³ã®äœæã¯ãã¯ã©ãŠã ãã©ãããã©ãŒã ã§å®è¡ã§ããããšã®ã»ãã®äžéšã«ãããŸããããã©ãã£ãã¯ã®ãã©ã³ã¹ãæ åœãããµãŒãã¹ãããã㯠ã¹ãã¬ãŒãžãæ åœãããµãŒãã¹ãDNS ãæ åœãããµãŒãã¹ãã㢠ã¡ã¿ã« ãµãŒããŒã®ããããžã§ãã³ã°ãæ åœãããµãŒãã¹ãªã©ããããŸããã¯ã©ãŠãã䜿çšãããšãä»®æ³ãã·ã³ã (ä»®æ³åã§ã¯ãªã) çŸã®çŸ€ãã®ããã«æ±ãããšãã§ããŸãã ä»®æ³ç°å¢ã§ãã·ã³ã«åé¡ãçºçããå Žå - ããã¯ã¢ãããªã©ãã埩å ããŸãããã¯ã©ãŠã ã¢ããªã±ãŒã·ã§ã³ã¯ä»®æ³ãã·ã³ãããã»ã©éèŠãªåœ¹å²ãæãããªãããã«æ§ç¯ãããŠããŸã - ä»®æ³ãã·ã³ããæ»äº¡ãããŸãã - åé¡ãããŸãã- æ°ããè»äž¡ãäœæãããã ãã§ãè»äž¡ã¯ãã³ãã¬ãŒãã«åºã¥ããŠããã圌ããèšãããã«ãåéã¯æŠéæ©ã®æ倱ã«æ°ã¥ããŸããã§ããã åœç¶ã®ããšãªãããããã«ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã¡ã«ããºã ãæäŸãããŸããHeat ãã³ãã¬ãŒãã䜿çšãããšãæ°åã®ãããã¯ãŒã¯ãšä»®æ³ãã·ã³ã§æ§æãããè€éãªæ©èœãç°¡åã«ãããã€ã§ããŸãã
ãããã¯ãŒã¯ã®ãªãã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ã¯ååšããªãããšãåžžã«å¿µé ã«çœ®ã䟡å€ããããŸããåèŠçŽ ã¯ãããã¯ãŒã¯ãéããŠäœããã®æ¹æ³ã§ä»ã®èŠçŽ ãšå¯Ÿè©±ããŸãã ããã«ãã¯ã©ãŠãã«ã¯å®å šã«ééçãªãããã¯ãŒã¯ããããŸãã åœç¶ã®ããšãªãããã¢ã³ããŒã¬ã€ ãããã¯ãŒã¯ã¯å€ããå°ãªããéçã§ããæ°ããããŒããã¹ã€ããã¯æ¯æ¥è¿œå ãããããã§ã¯ãããŸãããããªãŒããŒã¬ã€ ã³ã³ããŒãã³ãã¯åžžã«å€åããå¯èœæ§ããããå¿ ç¶çã«å€åããŸããæ°ãããããã¯ãŒã¯ãè¿œå ãŸãã¯åé€ãããæ°ããä»®æ³ãã·ã³ãçŸããããå€ãä»®æ³ãã·ã³ãçŸãããããŸããæ»ã¬ã ãããŠããã®èšäºã®æåã«ç€ºããã¯ã©ãŠãã®å®çŸ©ããèŠããŠããããã«ããªãœãŒã¹ã¯èªåçã«ããµãŒãã¹ ãããã€ããŒã®ä»å ¥ãæå°éã« (ãŸãã¯ã§ããã°ãä»å ¥ãªãã§) ãŠãŒã¶ãŒã«å²ãåœãŠãããå¿ èŠããããŸãã ã€ãŸããhttp/https çµç±ã§ã¢ã¯ã»ã¹ã§ããå人ã¢ã«ãŠã³ãã®åœ¢ã§ããã³ããšã³ãã®åœ¢ã§ååšããããã¯ãšã³ããšããŠå€åäžã®ãããã¯ãŒã¯ ãšã³ãžãã¢ã§ãã Vasily ãæäŸãããããã¯ãŒã¯ ãªãœãŒã¹ã®æäŸã®ã¿ã€ãã¯ãã¯ã©ãŠãã§ã¯ãããŸããããŽã¡ã·ãªãŒãXNUMXæ¬ã®æãæã£ãŠãããã
Neutron ã¯ããããã¯ãŒã¯ ãµãŒãã¹ãšããŠãã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãããã¯ãŒã¯éšåã管çããããã® API ãæäŸããŸãã ãã®ãµãŒãã¹ã¯ãNetwork-as-a-Service (NaaS) ãšåŒã°ããæœè±¡åã¬ã€ã€ãŒãæäŸããããšã§ãOpenstack ã®ãããã¯ãŒã¯éšåã匷åããã³ç®¡çããŸãã ã€ãŸãããããã¯ãŒã¯ã¯ãä»®æ³ CPU ã³ã¢ã RAM ã®éãªã©ãšåãä»®æ³çãªæž¬å®å¯èœãªåäœã§ãã
ãã ããOpenStack ã®ãããã¯ãŒã¯éšåã®ã¢ãŒããã¯ãã£ã«é²ãåã«ããã®ãããã¯ãŒã¯ã OpenStack ã§ã©ã®ããã«æ©èœããã®ãããŸããããã¯ãŒã¯ãã¯ã©ââãŠãã®éèŠãã€äžå¯æ¬ ãªéšåã§ããçç±ãèããŠã¿ãŸãããã
ãããã£ãŠãXNUMX ã€ã® RED ã¯ã©ã€ã¢ã³ã VM ãš XNUMX ã€ã® GREEN ã¯ã©ã€ã¢ã³ã VM ããããŸãã ãããã®ãã·ã³ã次ã®ããã« XNUMX ã€ã®ãã€ããŒãã€ã¶ãŒäžã«é 眮ãããŠãããšä»®å®ããŸãã
çŸæç¹ã§ã¯ããã㯠4 å°ã®ãµãŒããŒãä»®æ³åããã ãã§ããããã以äžã®ããšã¯ãããŸããããããŸã§ã«è¡ã£ãã®ã¯ 4 å°ã®ãµãŒããŒãä»®æ³åããXNUMX å°ã®ç©çãµãŒããŒã«é
眮ããããšã ãã§ãã ãããŠä»ã®ãšããããããã¯ãŒã¯ã«ãæ¥ç¶ãããŠããŸããã
ã¯ã©ãŠããäœæããã«ã¯ãããã€ãã®ã³ã³ããŒãã³ããè¿œå ããå¿ èŠããããŸãã ãŸãããããã¯ãŒã¯éšåãä»®æ³åããŸããããã 4 å°ã®ãã·ã³ããã¢ã§æ¥ç¶ããå¿ èŠããããã¯ã©ã€ã¢ã³ã㯠L2 æ¥ç¶ãå¿ èŠãšããŸãã ã¹ã€ããã䜿çšããŠãã®æ¹åã«ãã©ã³ã¯ãæ§æããLinux ããªããžã䜿çšããŠãã¹ãŠã解決ããããããäžçŽãŠãŒã¶ãŒã®å Žå㯠openvswitch (ããã«ã€ããŠã¯åŸã§èª¬æããŸã) ã䜿çšããŠãã¹ãŠã解決ã§ããŸãã ãããããããã¯ãŒã¯ã¯å€æ°ååšããå¯èœæ§ããããåžžã«ã¹ã€ãããä»ã㊠L2 ãããã·ã¥ããããšã¯æè¯ã®ã¢ã€ãã¢ã§ã¯ãããŸãããããŸããŸãªéšéãããããµãŒãã¹ ãã¹ã¯ããããã¢ããªã±ãŒã·ã§ã³ãå®äºãããŸã§æ°ãæåŸ ã¡ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã«æ°é±éããããŸããçŸä»£ã®äžçã§ã¯ãããã¯ã¢ãããŒãã¯ããæ©èœããŸããã ãããŠãäŒæ¥ããããç解ããã®ãæ©ããã°æ©ãã»ã©ãåé²ããããšã容æã«ãªããŸãã ãããã£ãŠããã€ããŒãã€ã¶ãŒéã§ãä»®æ³ãã·ã³ãéä¿¡ãã L3ââ ãããã¯ãŒã¯ãéžæãããã® L3 ãããã¯ãŒã¯äžã«ãä»®æ³ãã·ã³ã®ãã©ãã£ãã¯ãå®è¡ãããä»®æ³ L2 ãªãŒããŒã¬ã€ ãããã¯ãŒã¯ãæ§ç¯ããŸãã ã«ãã»ã«åãšã㊠GREãGeneveããŸã㯠VxLAN ã䜿çšã§ããŸãã ç¹ã«éèŠã§ã¯ãããŸããããä»ã¯åŸè ã«çŠç¹ãåœãŠãŸãããã
VTEP ãã©ããã«èŠã€ããå¿ èŠããããŸã (çããã VxLAN ã®çšèªã«ç²ŸéããŠããããšãé¡ã£ãŠããŸã)ã ãµãŒããŒããçŽæ¥ L3 ãããã¯ãŒã¯ãæ¥ç¶ãããŠããããããµãŒããŒèªäœã« VTEP ãé 眮ããããšã劚ãããã®ã¯äœããããŸãããOVS (OpenvSwitch) ã¯ãããè¡ãã®ã«åªããŠããŸãã ãã®çµæã次ã®ãããªãã¶ã€ã³ãåŸãããŸããã
VM éã®ãã©ãã£ãã¯ã¯åå²ããå¿
èŠããããããä»®æ³ãã·ã³ãžã®ããŒãã«ã¯ç°ãªã VLAN çªå·ãå²ãåœãŠãããŸãã ã¿ã°çªå·ã¯ XNUMX ã€ã®ä»®æ³ã¹ã€ããå
ã§ã®ã¿åœ¹å²ãæãããŸããããã¯ãVxLAN ã«ã«ãã»ã«åãããŠããå ŽåãVNI ãããããç°¡åã«åé€ã§ããããã§ãã
ããã§ãåé¡ãªããã·ã³ãšãã®ä»®æ³ãããã¯ãŒã¯ãäœæã§ããããã«ãªããŸããã
ããããã¯ã©ã€ã¢ã³ãã«å¥ã®ãã·ã³ããããå¥ã®ãããã¯ãŒã¯äžã«ããå Žåã¯ã©ããªãã§ãããã? ãããã¯ãŒã¯é㧠root åãå¿ èŠã§ãã éäžã«ãŒãã£ã³ã°ã䜿çšãããå Žåã®åçŽãªãªãã·ã§ã³ãèŠãŠãããŸããã€ãŸãããã©ãã£ãã¯ã¯ç¹å¥ãªå°çšãããã¯ãŒã¯ ããŒããä»ããŠã«ãŒãã£ã³ã°ãããŸã (éåžžããããã¯å¶åŸ¡ããŒããšçµåããããããåãããšã«ãªããŸã)ã
è€éãªããšã¯äœããªãããã§ããå¶åŸ¡ããŒãäžã«ããªããž ã€ã³ã¿ãŒãã§ã€ã¹ãäœæããããã«ãã©ãã£ãã¯ãéããããããå¿ èŠãªå Žæã«ã«ãŒãã£ã³ã°ããŸãã ããããåé¡ã¯ãRED ã¯ã©ã€ã¢ã³ãã 10.0.0.0/24 ãããã¯ãŒã¯ã®äœ¿çšãåžæããGREEN ã¯ã©ã€ã¢ã³ãã 10.0.0.0/24 ãããã¯ãŒã¯ã®äœ¿çšãåžæããŠããããšã§ãã ã€ãŸããã¢ãã¬ã¹ç©ºéã亀差ãå§ããŸãã ããã«ãã¯ã©ã€ã¢ã³ãã¯ä»ã®ã¯ã©ã€ã¢ã³ããå éšãããã¯ãŒã¯ã«ã«ãŒãã£ã³ã°ã§ããããšãæãã§ããŸããããããã¯åœç¶ã®ããšã§ãã ãããã¯ãŒã¯ãšã¯ã©ã€ã¢ã³ã ããŒã¿ ãã©ãã£ãã¯ãåé¢ããããã«ãããããã«åå¥ã®åå空éãå²ãåœãŠãŸãã åå空éã¯ãå®éã«ã¯ãLinux ãããã¯ãŒã¯ ã¹ã¿ãã¯ã®ã³ããŒã§ããã€ãŸããåå空é RED ã®ã¯ã©ã€ã¢ã³ãã¯ãåå空é GREEN ã®ã¯ã©ã€ã¢ã³ãããå®å šã«åé¢ãããŠããŸã (ãããã®ã¯ã©ã€ã¢ã³ã ãããã¯ãŒã¯éã®ã«ãŒãã£ã³ã°ã¯ãããã©ã«ãã®åå空éãŸãã¯äžæµã®ãã©ã³ã¹ããŒãæ©åšãä»ããŠèš±å¯ãããŸã)ã
ã€ãŸãã次ã®å³ãåŸãããŸãã
L2 ãã³ãã«ã¯ããã¹ãŠã®ã³ã³ãã¥ãŒãã£ã³ã° ããŒãããå¶åŸ¡ããŒãã«éäžããŸãã ãããã®ãããã¯ãŒã¯ã® L3 ã€ã³ã¿ãŒãã§ã€ã¹ãé
眮ãããããŒãããããããåé¢ã®ããã®å°çšã®åå空éã«ãããŸãã
ããããç§ãã¡ã¯æãéèŠãªããšãå¿ããŠããŸããã ä»®æ³ãã·ã³ã¯ã¯ã©ã€ã¢ã³ãã«ãµãŒãã¹ãæäŸããå¿ èŠããããŸããã€ãŸããä»®æ³ãã·ã³ã«ã¢ã¯ã»ã¹ã§ããå€éšã€ã³ã¿ãŒãã§ã€ã¹ãå°ãªããšã XNUMX ã€å¿ èŠã§ãã ã€ãŸããå€ã®äžçãžåºãŠããå¿ èŠãããã®ã§ãã ããã«ã¯ããŸããŸãªãªãã·ã§ã³ããããŸãã æãåçŽãªãªãã·ã§ã³ãå®è¡ããŸãããã åã¯ã©ã€ã¢ã³ãã« XNUMX ã€ã®ãããã¯ãŒã¯ãè¿œå ããŸãããã®ãããã¯ãŒã¯ã¯ãããã€ããŒã®ãããã¯ãŒã¯å ã§æå¹ã§ãããä»ã®ãããã¯ãŒã¯ãšéè€ããŸããã ãããã¯ãŒã¯ã¯äº€å·®ããŠããããã€ã㌠ãããã¯ãŒã¯åŽã®ç°ãªã VRF ã確èªããããšãã§ããŸãã ãããã¯ãŒã¯ ããŒã¿ãåã¯ã©ã€ã¢ã³ãã®åå空éã«ååšããŸãã ãã ãããããã¯äŸç¶ãšã㊠XNUMX ã€ã®ç©ç (ãŸãã¯çµåãããè«ççãª) ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠå€ã®äžçã«åºãŸãã ã¯ã©ã€ã¢ã³ã ãã©ãã£ãã¯ãåé¢ããããã«ãå€éšã«éä¿¡ããããã©ãã£ãã¯ã«ã¯ãã¯ã©ã€ã¢ã³ãã«å²ãåœãŠããã VLAN ã¿ã°ãä»ããããŸãã
ãã®çµæã次ã®å³ãåŸãããŸããã
åœç¶ã®çåã¯ããªãèšç®ããŒãèªäœã«ã²ãŒããŠã§ã€ãäœæããªãã®ããšããããšã§ãã ããã¯å€§ããªåé¡ã§ã¯ãããŸãããããã«ãåæ£ã«ãŒã¿ãŒ (DVR) ããªã³ã«ãããšããããæ©èœããŸãã ãã®ã·ããªãªã§ã¯ãOpenstack ã§ããã©ã«ãã§äœ¿çšãããéäžåã²ãŒããŠã§ã€ã䜿çšããæãåçŽãªãªãã·ã§ã³ãæ€èšããŸãã é«è² è·æ©èœã®å Žåãåæ£ã«ãŒã¿ãŒãš SR-IOV ããã¹ã¹ã«ãŒãªã©ã®é«éåãã¯ãããžãŒã®äž¡æ¹ã䜿çšããŸããã圌ããèšãããã«ãããã¯ãŸã£ããå¥ã®è©±ã§ãã ãŸãåºæ¬çãªéšåã«ã€ããŠèª¬æãã次ã«è©³çŽ°ã説æããŸãã
å®éãç§ãã¡ã®ã¹ããŒã ã¯ãã§ã«å®è¡å¯èœã§ãããããã€ãã®ãã¥ã¢ã³ã¹ããããŸãã
- äœããã®æ¹æ³ã§ãã·ã³ãä¿è·ããå¿ èŠããããŸããã€ãŸããã¯ã©ã€ã¢ã³ããžã®ã¹ã€ãã ã€ã³ã¿ãŒãã§ã€ã¹ã«ãã£ã«ã¿ãŒãèšå®ããå¿ èŠããããŸãã
- ä»®æ³ãã·ã³ãèªåçã« IP ã¢ãã¬ã¹ãååŸã§ããããã«ãããšãæ¯åã³ã³ãœãŒã«ãããã°ã€ã³ããŠã¢ãã¬ã¹ãç»é²ããå¿ èŠããªããªããŸãã
ãŸãã¯ãã·ã³ãä¿è·ããããšããå§ããŸãããã ãã®ããã«ã¯ãå¹³å¡ãª iptables ã䜿çšã§ããŸãã
ã€ãŸããããããžã¯ããå°ãè€éã«ãªã£ãŠããŸãã
次ãžç§»ããŸãããã DHCP ãµãŒããŒãè¿œå ããå¿
èŠããããŸãã åã¯ã©ã€ã¢ã³ãã® DHCP ãµãŒããŒãé
眮ããæãçæ³çãªå Žæã¯ãããŒã ã¹ããŒã¹ãé
眮ãããŠããåè¿°ã®å¶åŸ¡ããŒãã§ãã
ãã ããå°ããªåé¡ããããŸãã ãã¹ãŠãåèµ·åãããDHCP äžã®ã¢ãã¬ã¹ã®ã¬ã³ã¿ã«ã«é¢ããæ
å ±ããã¹ãŠæ¶ããŠããŸã£ããã©ããªãã§ããããã ãã·ã³ã«æ°ããã¢ãã¬ã¹ãäžããããã®ã¯åœç¶ã§ãããããã¯ããŸã䟿å©ã§ã¯ãããŸããã ããã«ã¯ 8 ã€ã®æ¹æ³ããããŸã - ãã¡ã€ã³åã䜿çšããããã¯ã©ã€ã¢ã³ãããšã« DNS ãµãŒããŒãè¿œå ããŸããããããã°ãã¢ãã¬ã¹ã¯ç§ãã¡ã«ãšã£ãŠç¹ã«éèŠã§ã¯ãªããªããŸã (kXNUMXs ã®ãããã¯ãŒã¯éšåãšåæ§) - ããããå€éšãããã¯ãŒã¯ã«ã¯åé¡ããããŸããã¢ãã¬ã¹ã¯ DHCP çµç±ã§çºè¡ããããšãã§ããŸããã¯ã©ãŠã ãã©ãããã©ãŒã å
ã® DNS ãµãŒããŒããã³å€éš DNS ãµãŒããŒãšã®åæãå¿
èŠã§ããç§ã®æèŠã§ã¯ãããã¯ããŸãæè»æ§ããããŸããããååã«å¯èœã§ãã ãŸãã¯ãXNUMX çªç®ã®ãªãã·ã§ã³ã¯ãã¡ã¿ããŒã¿ã䜿çšããããšã§ããã€ãŸãããã·ã³ã«çºè¡ãããã¢ãã¬ã¹ã«é¢ããæ
å ±ãä¿åããŠããã·ã³ããã§ã«ã¢ãã¬ã¹ãåä¿¡ããŠââããå Žåã«ãDHCP ãµãŒããŒããã®ãã·ã³ã«ã©ã®ã¢ãã¬ã¹ãçºè¡ããããèªèã§ããããã«ããŸãã XNUMX çªç®ã®ãªãã·ã§ã³ã¯ãè»ã«é¢ããè¿œå æ
å ±ãä¿åã§ãããããããã·ã³ãã«ã§æè»ã§ãã 次ã«ããšãŒãžã§ã³ãã®ã¡ã¿ããŒã¿ãå³ã«è¿œå ããŸãããã
è°è«ãã䟡å€ã®ãããã XNUMX ã€ã®åé¡ã¯ããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã XNUMX ã€ã®å€éšãããã¯ãŒã¯ã䜿çšã§ããããšã§ããå€éšãããã¯ãŒã¯ããããã¯ãŒã¯å
šäœã§æå¹ã§ããå¿
èŠãããå Žåãå€éšãããã¯ãŒã¯ã¯å°é£ã«ãªãããããããã®ãããã¯ãŒã¯ã®å²ãåœãŠãåžžã«å²ãåœãŠãŠå¶åŸ¡ããå¿
èŠããããŸãã ãã¹ãŠã®ã¯ã©ã€ã¢ã³ãã«å¯ŸããŠåäžã®äºåæ§ææžã¿å€éšãããã¯ãŒã¯ã䜿çšã§ããæ©èœã¯ããããªã㯠ã¯ã©ãŠããäœæãããšãã«éåžžã«åœ¹ç«ã¡ãŸãã ããã«ãããã¢ãã¬ã¹ ããŒã¿ããŒã¹ãåç
§ããŠåã¯ã©ã€ã¢ã³ãã®å€éšãããã¯ãŒã¯ã«åºæã®ã¢ãã¬ã¹ç©ºéãéžæããå¿
èŠããªããªãããããã·ã³ã®å±éã容æã«ãªããŸãã ããã«ãå€éšãããã¯ãŒã¯ãäºåã«ç»é²ã§ããå±éæã«å€éšã¢ãã¬ã¹ãã¯ã©ã€ã¢ã³ã ãã·ã³ã«é¢é£ä»ããã ãã§æžã¿ãŸãã
ãã㧠NAT ã圹ã«ç«ã¡ãŸããNAT å€æã䜿çšããŠãã¯ã©ã€ã¢ã³ããããã©ã«ãã®åå空éãéããŠå€éšã®äžçã«ã¢ã¯ã»ã¹ã§ããããã«ããã ãã§ãã ããŠãããã§å°ããªåé¡ããããŸãã ããã¯ãã¯ã©ã€ã¢ã³ã ãµãŒããŒããµãŒããŒãšããŠã§ã¯ãªãã¯ã©ã€ã¢ã³ããšããŠæ©èœããå Žåãã€ãŸãæ¥ç¶ãåãå ¥ããã®ã§ã¯ãªãéå§ããå Žåã«é©ããŠããŸãã ããããç§ãã¡ã«ãšã£ãŠã¯éã«ãªããŸãã ãã®å Žåããã©ãã£ãã¯ãåä¿¡ãããšãã«ããã®ãã©ãã£ãã¯ãã¯ã©ã€ã¢ã³ã A ã®ä»®æ³ãã·ã³ A å®ãŠã§ããããšãå¶åŸ¡ããŒããç解ã§ããããã«ãå®å NAT ãå®è¡ããå¿ èŠããããŸããã€ãŸããå€éšã¢ãã¬ã¹ (100.1.1.1 ãªã©) ãã NAT å€æãè¡ãå¿ èŠããããŸãã .10.0.0.1ãå éšã¢ãã¬ã¹ 100 ãžã ãã®å Žåããã¹ãŠã®ã¯ã©ã€ã¢ã³ããåããããã¯ãŒã¯ã䜿çšããŸãããå éšã®åé¢ã¯å®å šã«ç¶æãããŸãã ã€ãŸããå¶åŸ¡ããŒã㧠dNAT ãš sNAT ãå®è¡ããå¿ èŠããããŸãã ãããŒãã£ã³ã° ã¢ãã¬ã¹ãæã€åäžã®ãããã¯ãŒã¯ã䜿çšããããå€éšãããã¯ãŒã¯ã䜿çšãããããããã¯ãã®äž¡æ¹ãåæã«äœ¿çšãããã¯ãã¯ã©ãŠãã«äœãåã蟌ã¿ãããã«ãã£ãŠç°ãªããŸãã ãã®å³ã«ã¯ãããŒãã£ã³ã° ã¢ãã¬ã¹ãè¿œå ããŸãããããã§ã«è¿œå ãããŠããå€éšãããã¯ãŒã¯ã¯ãã®ãŸãŸã«ããŠãããŸããåã¯ã©ã€ã¢ã³ãã«ã¯ç¬èªã®å€éšãããã¯ãŒã¯ããããŸã (å³ã§ã¯ãå€éšã€ã³ã¿ãŒãã§ã€ã¹äžã§ vlan 200 ããã³ XNUMX ãšããŠç€ºãããŠããŸã)ã
ãã®çµæãäžå®ã®æè»æ§ã¯ãããã®ã®ããã©ãŒã«ã ãã¬ã©ã³ã¹ ã¡ã«ããºã ããŸã åãã£ãŠããªããèå³æ·±ããšåæã«ããèãæããããœãªã¥ãŒã·ã§ã³ãåãåããŸããã
ãŸããå¶åŸ¡ããŒã㯠3 ã€ã ãã§ãããã®é害ã¯ãã¹ãŠã®ã·ã¹ãã ã®åŽ©å£ã«ã€ãªãããŸãã ãã®åé¡ã解決ããã«ã¯ãå°ãªããšã XNUMX ã€ã®ããŒãã®ã¯ã©ãŒã©ã ãäœæããå¿ èŠããããŸãã ãããå³ã«è¿œå ããŠã¿ãŸãããã
åœç¶ã®ããšãªããããã¹ãŠã®ããŒãã¯åæãããŠãããã¢ã¯ãã£ããªããŒããé¢ãããšãå¥ã®ããŒãããã®è²¬ä»»ãåŒãç¶ããŸãã
次ã®åé¡ã¯ä»®æ³ãã·ã³ã®ãã£ã¹ã¯ã§ãã çŸæç¹ã§ã¯ããããã¯ãã€ããŒãã€ã¶ãŒèªäœã«ä¿åãããŠããããã€ããŒãã€ã¶ãŒã«åé¡ãçºçããå Žåããã¹ãŠã®ããŒã¿ã倱ãããŸãããã£ã¹ã¯ã§ã¯ãªããµãŒããŒå šäœã倱ããããšãRAID ã®ååšã¯åœ¹ã«ç«ã¡ãŸããã ãããè¡ãã«ã¯ãããçš®ã®ã¹ãã¬ãŒãžã®ããã³ããšã³ããšããŠæ©èœãããµãŒãã¹ãäœæããå¿ èŠããããŸãã ã©ã®ãããªçš®é¡ã®ã¹ãã¬ãŒãžã«ãªããã¯ç§ãã¡ã«ãšã£ãŠç¹ã«éèŠã§ã¯ãããŸãããããã£ã¹ã¯ãšããŒãã®äž¡æ¹ãå Žåã«ãã£ãŠã¯ãã£ããããå šäœã®é害ããããŒã¿ãä¿è·ããå¿ èŠããããŸãã ããã«ã¯ããã€ãã®ãªãã·ã§ã³ããããŸã - ãã¡ããããã¡ã€ã㌠ãã£ãã«ãåãã SAN ãããã¯ãŒã¯ããããŸãããæ£çŽã«èšããŸã - FC ã¯ãã§ã«éå»ã®éºç©ã§ã - ãã©ã³ã¹ããŒãã«ããã E1 ã®é¡äŒŒç©ã§ã - ã¯ããåæããŸãããŸã 䜿çšãããŠããŸããããããªãã§ã¯çµ¶å¯Ÿã«äžå¯èœãªå Žåã«ã®ã¿ã ãããã£ãŠãä»ã«ãã£ãšèå³æ·±ã代æ¿æ段ãããããšãç¥ã£ãŠããã®ã§ãç§ã¯ 2020 幎ã«èªçºçã« FC ãããã¯ãŒã¯ãå±éããã€ããã¯ãããŸããã 人ããããã§ãããéçããã FC ã ãã§ååã ãšä¿¡ãã人ããããããããŸãããç§ã¯ç°è«ã¯ãããŸããã人ããããã®æèŠããããŸãã ãã ããç§ã®æèŠã§ã¯ãæãèå³æ·±ã解決çã¯ãCeph ãªã©ã® SDS ã䜿çšããããšã§ãã
Ceph ã䜿çšãããšãããªã㣠ãã§ã㯠(RAID 5 ãŸã㯠6 ã«é¡äŒŒ) ãåããã³ãŒãããå§ãŸãããã£ã¹ã¯ã®å Žæãèæ ®ããå¥ã®ãã£ã¹ã¯ãžã®å®å šãªããŒã¿ ã¬ããªã±ãŒã·ã§ã³ã§çµãããå€æ°ã®ããã¯ã¢ãã ãªãã·ã§ã³ãåããå¯çšæ§ã®é«ãããŒã¿ ã¹ãã¬ãŒãž ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ã§ããŸãããµãŒããŒããã£ããããå ã®ãµãŒããŒãªã©ã
Ceph ãæ§ç¯ããã«ã¯ãããã« 3 ã€ã®ããŒããå¿ èŠã§ãã ã¹ãã¬ãŒãžãšã®å¯Ÿè©±ãããããã¯ããªããžã§ã¯ããããã³ãã¡ã€ã« ã¹ãã¬ãŒãž ãµãŒãã¹ã䜿çšããŠãããã¯ãŒã¯çµç±ã§å®è¡ãããŸãã å³ã«ã¹ãã¬ãŒãžãè¿œå ããŠã¿ãŸãããã
泚: ãã€ããŒã³ã³ããŒãžã ã³ã³ãã¥ãŒãã£ã³ã° ããŒããäœæããããšãã§ããŸããããã¯ãceph ã¹ãã¬ãŒãžå°çšã®ç¹å¥ãªããŒãã䜿çšããã«ãXNUMX ã€ã®ããŒãäžã§è€æ°ã®æ©èœ (ããšãã°ãã¹ãã¬ãŒãž + ã³ã³ãã¥ãŒãã£ã³ã°) ãçµã¿åããããšããæŠå¿µã§ãã SDS ã¯æå®ããäºçŽã¬ãã«ã§ããŒã¿ãäºçŽãããããåããã©ãŒã«ã ãã¬ã©ã³ã ã¹ããŒã ãåŸãããŸãã ãã ãããã€ããŒã³ã³ããŒãžã ããŒãã«ã¯åžžã«åŠ¥åã䌎ããŸããã¹ãã¬ãŒãž ããŒãã¯äžèŠããããã«ç©ºæ°ãå ç±ããã ãã§ã¯ãªã (ä»®æ³ãã·ã³ãååšããªããã)ãSDS ã®ãµãŒãã¹ã« CPU ãªãœãŒã¹ãè²»ãããŸã (å®éã«ã¯ãã¹ãã¬ãŒãž ããŒãã¯ãã¹ãŠãå®è¡ããŸã)ãããŒãããã£ã¹ã¯ãªã©ã®é害åŸã®ã¬ããªã±ãŒã·ã§ã³ãšãªã«ããª)ã ã€ãŸããã³ã³ãã¥ãŒãã£ã³ã° ããŒããã¹ãã¬ãŒãžãšçµã¿åããããšããã®èœåã®äžéšã倱ãããŸãã
ããããã¹ãŠãäœããã®æ¹æ³ã§ç®¡çããå¿ èŠããããŸãããã·ã³ããããã¯ãŒã¯ãä»®æ³ã«ãŒã¿ãŒãªã©ãäœæã§ãããã®ãå¿ èŠã§ãããããè¡ãã«ã¯ãããã·ã¥ããŒããšããŠæ©èœãããµãŒãã¹ãå¶åŸ¡ããŒãã«è¿œå ããŸããã¯ã©ã€ã¢ã³ã㯠http/https çµç±ã§ãã®ããŒã¿ã«ã«æ¥ç¶ããå¿ èŠãªãã¹ãŠã®ããšã (ã»ãŒ) è¡ãããšãã§ããŸãã
ãã®çµæãçŸåšã§ã¯ãã©ãŒã«ããã¬ã©ã³ããªã·ã¹ãã ãå®æããŸããã ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ãŠã®èŠçŽ ã¯ãäœããã®æ¹æ³ã§ç®¡çããå¿ èŠããããŸãã Openstack ã¯äžé£ã®ãããžã§ã¯ãã§ããããããããç¹å®ã®æ©èœãæäŸããããšã¯åè¿°ããŸããã ã芧ã®ãšãããæ§æããã³å¶åŸ¡ããå¿ èŠãããèŠçŽ ã¯ååãããã»ã©ãããŸãã ä»æ¥ã¯ãããã¯ãŒã¯éšåã«ã€ããŠã話ããŸãã
äžæ§åã¢ãŒããã¯ãã£
OpenStack ã§ã¯ãä»®æ³ãã·ã³ã®ããŒããå ±éã® L2 ãããã¯ãŒã¯ã«æ¥ç¶ããç°ãªã L2 ãããã¯ãŒã¯ã«ãã VM éã®ãã©ãã£ã㯠ã«ãŒãã£ã³ã°ãšå€éšã«ãŒãã£ã³ã°ã確ä¿ããNATããããŒãã£ã³ã° IPãDHCP ãªã©ã®ãµãŒãã¹ãæäŸããã®ã¯ Neutron ã§ãã
ãããã¯ãŒã¯ ãµãŒãã¹ã®åäœ (åºæ¬éšå) ã¯ã倧ãŸãã«æ¬¡ã®ããã«èª¬æã§ããŸãã
VM ãèµ·åãããšããããã¯ãŒã¯ ãµãŒãã¹ã¯æ¬¡ã®ããã«ãªããŸãã
- æå®ããã VM (ãŸãã¯è€æ°ã®ããŒã) ã®ããŒããäœæããããã«ã€ã㊠DHCP ãµãŒãã¹ã«éç¥ããŸãã
- æ°ããä»®æ³ãããã¯ãŒã¯ããã€ã¹ã (libvirt çµç±ã§) äœæãããŸãã
- VM ã¯æé 1 ã§äœæããããŒãã«æ¥ç¶ããŸãã
å¥åŠãªããšã«ãNeutron ã®äœæ¥ã¯ãLinux ã«èå³ãæã£ãããšããã人ãªã誰ã§ãããç¥ã£ãŠããæšæºã¡ã«ããºã (åå空éãiptablesãlinux ããªããžãopenvswitchãconntrack ãªã©) ã«åºã¥ããŠããŸãã
Neutron ã SDN ã³ã³ãããŒã©ãŒã§ã¯ãªãããšãçŽã¡ã«æ確ã«ããå¿ èŠããããŸãã
Neutron ã¯ãçžäºæ¥ç¶ãããããã€ãã®ã³ã³ããŒãã³ãã§æ§æãããŠããŸãã
Openstack-neutron-ãµãŒã㌠API ãä»ããŠãŠãŒã¶ãŒã®ãªã¯ãšã¹ããåŠçããããŒã¢ã³ã§ãã ãã®ããŒã¢ã³ã¯ãããã¯ãŒã¯æ¥ç¶ã®ç»é²ã«ã¯é¢äžããŸããããããã«å¿
èŠãªæ
å ±ããã©ã°ã€ã³ã«æäŸãããã©ã°ã€ã³ãç®çã®ãããã¯ãŒã¯èŠçŽ ãæ§æããŸãã OpenStack ããŒãäžã® Neutron ãšãŒãžã§ã³ãã¯ãNeutron ãµãŒããŒã«ç»é²ããŸãã
Neutron-server ã¯å®éã«ã¯ Python ã§æžãããã¢ããªã±ãŒã·ã§ã³ã§ã次㮠XNUMX ã€ã®éšåã§æ§æãããŸãã
- RESTãµãŒãã¹
- Neutron ãã©ã°ã€ã³ (ã³ã¢/ãµãŒãã¹)
REST ãµãŒãã¹ã¯ãä»ã®ã³ã³ããŒãã³ããã API åŒã³åºã (ããšãã°ãäœããã®æ å ±ãæäŸãããªã¯ãšã¹ããªã©) ãåä¿¡ããããã«èšèšãããŠããŸãã
ãã©ã°ã€ã³ã¯ãAPI ãªã¯ãšã¹ãäžã«åŒã³åºããããã©ã°ã€ã³ ãœãããŠã§ã¢ ã³ã³ããŒãã³ã/ã¢ãžã¥ãŒã«ã§ããã€ãŸãããµãŒãã¹ã®åž°å±ã¯ãã©ã°ã€ã³ãéããŠè¡ãããŸãã ãã©ã°ã€ã³ã¯ããµãŒãã¹ãšã«ãŒãã® 2 ã€ã®ã¿ã€ãã«åé¡ãããŸãã éåžžãhorse ãã©ã°ã€ã³ã¯äž»ã« VM éã®ã¢ãã¬ã¹ç©ºéãš LXNUMX æ¥ç¶ã®ç®¡çãæ åœãããµãŒãã¹ ãã©ã°ã€ã³ã¯ãã§ã« VPN ã FW ãªã©ã®è¿œå æ©èœãæäŸããŠããŸãã
çŸåšå©çšå¯èœãªãã©ã°ã€ã³ã®ãªã¹ãã¯æ¬¡ã®ããã«è¡šç€ºã§ããŸãã
ãµãŒãã¹ ãã©ã°ã€ã³ã¯è€æ°ååšã§ããŸããã銬ãã©ã°ã€ã³ã¯ XNUMX ã€ã ãã§ãã
openstack-neutron-ml2 æšæºã® OpenStack ã«ãŒã ãã©ã°ã€ã³ã§ãã ãã®ãã©ã°ã€ã³ã¯ (以åã®ãã©ã°ã€ã³ãšã¯ç°ãªã) ã¢ãžã¥ã©ãŒ ã¢ãŒããã¯ãã£ãåããŠãããæ¥ç¶ãããŠãããã©ã€ããŒãéããŠãããã¯ãŒã¯ ãµãŒãã¹ãæ§æããŸãã ãã©ã°ã€ã³èªäœã«ã€ããŠã¯ãåŸã§å°ãèŠãŠãããŸããå®éããã®ãã©ã°ã€ã³ã¯ããããã¯ãŒã¯éšå㧠OpenStack ãæã€æè»æ§ãæäŸããããã§ãã ã«ãŒã ãã©ã°ã€ã³ã¯çœ®ãæããããšãã§ããŸã (ããšãã°ãContrail Networking ã¯ãã®ãããªçœ®ãæããè¡ããŸã)ã
RPC ãµãŒãã¹ (rabbitmq-server) â ãã¥ãŒç®¡çãšä»ã® OpenStack ãµãŒãã¹ãšã®å¯Ÿè©±ãããã³ãããã¯ãŒã¯ ãµãŒãã¹ ãšãŒãžã§ã³ãéã®å¯Ÿè©±ãæäŸãããµãŒãã¹ã
ãããã¯ãŒã¯ãšãŒãžã§ã³ã â åããŒãã«é 眮ããããããã¯ãŒã¯ ãµãŒãã¹ãèšå®ããããšãŒãžã§ã³ãã
ãšãŒãžã§ã³ãã«ã¯ããã€ãã®çš®é¡ããããŸãã
äž»ãªãšãŒãžã§ã³ãã¯ã L2ãšãŒãžã§ã³ãã ãããã®ãšãŒãžã§ã³ãã¯ãå¶åŸ¡ããŒããå«ãåãã€ããŒãã€ã¶ãŒäž (ããæ£ç¢ºã«ã¯ãããã³ãã«ãµãŒãã¹ãæäŸãããã¹ãŠã®ããŒãäž) ã§å®è¡ããããã®äž»ãªæ©èœã¯ãä»®æ³ãã·ã³ãå ±éã® L2 ãããã¯ãŒã¯ã«æ¥ç¶ããã€ãã³ããçºçãããšãã«ã¢ã©ãŒããçæããããšã§ã (ããšãã°ãããŒããç¡å¹/æå¹ã«ããŸã)ã
次ã®ãåæ§ã«éèŠãªãšãŒãžã§ã³ãã¯ã L3ãšãŒãžã§ã³ãã ããã©ã«ãã§ã¯ããã®ãšãŒãžã§ã³ãã¯ãããã¯ãŒã¯ ããŒã (å€ãã®å Žåããããã¯ãŒã¯ ããŒãã¯å¶åŸ¡ããŒããšçµã¿åããããŸã) äžã§æä»çã«å®è¡ãããããã³ã ãããã¯ãŒã¯é (ãã®ãããã¯ãŒã¯ãšä»ã®ããã³ãã®ãããã¯ãŒã¯éã®äž¡æ¹) ã®ã«ãŒãã£ã³ã°ãæäŸããå€éšããã¢ã¯ã»ã¹å¯èœã§ãã NATãããã³ DHCP ãµãŒãã¹)ã ãã ããDVR (åæ£ã«ãŒã¿ãŒ) ã䜿çšããå Žåãã³ã³ãã¥ãŒãã£ã³ã° ããŒãã«ã L3 ãã©ã°ã€ã³ãå¿ èŠã«ãªããŸãã
L3 ãšãŒãžã§ã³ãã¯ãLinux åå空éã䜿çšããŠãåããã³ãã«ç¬èªã®åé¢ãããã¯ãŒã¯ã®ã»ãããšããã©ãã£ãã¯ãã«ãŒãã£ã³ã°ããã¬ã€ã€ãŒ 2 ãããã¯ãŒã¯ã«ã²ãŒããŠã§ã€ ãµãŒãã¹ãæäŸããä»®æ³ã«ãŒã¿ãŒã®æ©èœãæäŸããŸãã
ããŒã¿ããŒã¹ â ãããã¯ãŒã¯ããµãããããããŒããããŒã«ãªã©ã®èå¥åã®ããŒã¿ããŒã¹ã
å®éãNeutron ã¯ãä»»æã®ãããã¯ãŒã¯ ãšã³ãã£ãã£ã®äœæããã® API ãªã¯ãšã¹ããåãå ¥ãããªã¯ãšã¹ããèªèšŒããRPC (ãã©ã°ã€ã³ãŸãã¯ãšãŒãžã§ã³ãã«ã¢ã¯ã»ã¹ããå Žå) ãŸã㯠REST API (SDN ã§éä¿¡ããå Žå) ãä»ã㊠(ãã©ã°ã€ã³çµç±ã§) ãšãŒãžã§ã³ãã«éä¿¡ããŸããèŠæ±ããããµãŒãã¹ãç·šæããããã«å¿ èŠãªæ瀺ã
次ã«ããã¹ã ã€ã³ã¹ããŒã« (ã©ã®ããã«å±éãããããäœãå«ãŸãããã«ã€ããŠã¯ãå®è·µç·šã§åŸã»ã©èª¬æããŸã) ã«ç§»ããåã³ã³ããŒãã³ããã©ãã«ãããã確èªããŠã¿ãŸãããã
(overcloud) [stack@undercloud ~]$ openstack network agent list
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| 10495de9-ba4b-41fe-b30a-b90ec3f8728b | Open vSwitch agent | overcloud-novacompute-1.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| 1515ad4a-5972-46c3-af5f-e5446dff7ac7 | L3 agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-l3-agent |
| 322e62ca-1e5a-479e-9a96-4f26d09abdd7 | DHCP agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-dhcp-agent |
| 9c1de2f9-bac5-400e-998d-4360f04fc533 | Open vSwitch agent | overcloud-novacompute-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| d99c5657-851e-4d3c-bef6-f1e3bb1acfb0 | Open vSwitch agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| ff85fae6-5543-45fb-a301-19c57b62d836 | Metadata agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-metadata-agent |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
(overcloud) [stack@undercloud ~]$
å®éãããã Neutron ã®å
šäœæ§é ã§ãã ããã§ãML2 ãã©ã°ã€ã³ã«æéãè²»ãã䟡å€ããããŸãã
ã¢ãžã¥ã©ãŒã¬ã€ã€ãŒ2
åè¿°ããããã«ããã®ãã©ã°ã€ã³ã¯æšæºã® OpenStack ã«ãŒã ãã©ã°ã€ã³ã§ãããã¢ãžã¥ã©ãŒ ã¢ãŒããã¯ãã£ãåããŠããŸãã
ML2 ãã©ã°ã€ã³ã®åã®ããŒãžã§ã³ã¯ã¢ããªã·ãã¯æ§é ãæã£ãŠãããããããšãã°ã2 ã€ã®ã€ã³ã¹ããŒã«ã§è€æ°ã®ãã¯ãããžãŒãçµã¿åãããŠäœ¿çšââããããšã¯ã§ããŸããã§ããã ããšãã°ãopenvswitch ãš linuxbridge ã®äž¡æ¹ (XNUMX çªç®ãŸã㯠XNUMX çªç®ã®ã©ã¡ãã) ãåæã«äœ¿çšããããšã¯ã§ããŸããã ãã®ããããã®ã¢ãŒããã¯ãã£ãåãã MLXNUMX ãã©ã°ã€ã³ãäœæãããŸããã
ML2 ã«ã¯ XNUMX ã€ã®ã³ã³ããŒãã³ããã€ãŸãã¿ã€ã ãã©ã€ããŒãšã¡ã«ããºã ãã©ã€ããŒã® XNUMX çš®é¡ã®ãã©ã€ããŒããããŸãã
ã¿ã€ããã©ã€ã㌠ãããã¯ãŒã¯æ¥ç¶ãæ§æããããã«äœ¿çšããããã¯ãããžãŒ (VxLANãVLANãGRE ãªã©) ã決å®ããŸãã åæã«ããã©ã€ããŒã«ããããŸããŸãªãã¯ãããžãŒã®äœ¿çšãå¯èœã«ãªããŸãã æšæºãã¯ãããžãŒã¯ããªãŒããŒã¬ã€ ãããã¯ãŒã¯ããã³ VLAN å€éšãããã¯ãŒã¯çšã® VxLAN ã«ãã»ã«åã§ãã
ã¿ã€ã ãã©ã€ããŒã«ã¯æ¬¡ã®ãããã¯ãŒã¯ ã¿ã€ããå«ãŸããŸãã
ãã©ããåã®åã¯å®å
šã«å¹³è¡ãªç¶æ
ã§ã¯ãããŸããããã³ãã«ã«åã®åãããæããã«å¹³ãã«ãªã£ãŠãããå¹
ãã³ãã«ã«åã«æ¯ã¹ãŠåºãããšãå€ãã§ãã - ã¿ã°ãªãã®ãããã¯ãŒã¯
VLAN - ã¿ã°ä»ããããã¯ãŒã¯
ããŒã«ã« â ãªãŒã«ã€ã³ã¯ã³ ã€ã³ã¹ããŒã«çšã®ç¹æ®ãªã¿ã€ãã®ãããã¯ãŒã¯ (ãã®ãããªã€ã³ã¹ããŒã«ã¯éçºè
ãŸãã¯ãã¬ãŒãã³ã°ã®ããããã«å¿
èŠã§ã)
GRE â GREãã³ãã«ã䜿çšãããªãŒããŒã¬ã€ãããã¯ãŒã¯
VxLAN â VxLAN ãã³ãã«ã䜿çšãããªãŒããŒã¬ã€ ãããã¯ãŒã¯
ã¡ã«ããºã ãã©ã€ã㌠ã¿ã€ã ãã©ã€ããŒã§æå®ããããã¯ãããžãŒ (openvswitchãsr-iovãopendaylightãOVN ãªã©) ã確å®ã«æ§æããããŒã«ãå®çŸ©ããŸãã
ãã®ãã©ã€ããŒã®å®è£ ã«å¿ããŠãNeutron ã«ãã£ãŠå¶åŸ¡ããããšãŒãžã§ã³ãã䜿çšãããããå€éš SDN ã³ã³ãããŒã©ãŒãžã®æ¥ç¶ã䜿çšãããL2 ãããã¯ãŒã¯ã®ç·šæãã«ãŒãã£ã³ã°ãªã©ã«é¢é£ãããã¹ãŠã®åé¡ãåŠçãããŸãã
äŸ: ML2 ã OVS ãšãšãã«äœ¿çšããå ŽåãOVS ã管çããåã³ã³ãã¥ãŒãã£ã³ã° ããŒãã« L2 ãšãŒãžã§ã³ããã€ã³ã¹ããŒã«ãããŸãã ãã ããããšãã° OVN ã OpenDayLight ã䜿çšããå ŽåãOVS ã®å¶åŸ¡ã¯ãã®ç®¡èœäžã«ãããŸããNeutron ã¯ã«ãŒã ãã©ã°ã€ã³ãéããŠã³ã³ââãããŒã©ãŒã«ã³ãã³ããäžããæ瀺ãããããšããã§ã«å®è¡ããŸãã
Open vSwitch ããã©ãã·ã¥ã¢ããããŸããã
çŸæç¹ã§ã¯ãOpenStack ã®äž»èŠã³ã³ããŒãã³ãã® XNUMX ã€ã¯ Open vSwitch ã§ãã
Juniper Contrail ã Nokia Nuage ãªã©ã®è¿œå ã®ãã³ã㌠SDN ã䜿çšããã« OpenStack ãã€ã³ã¹ããŒã«ããå ŽåãOVS ã¯ã¯ã©ãŠã ãããã¯ãŒã¯ã®äž»èŠãªãããã¯ãŒã¯ ã³ã³ããŒãã³ãã§ãããiptablesãconntrackãåå空éãšçµã¿åãããŠãæ¬æ Œçãªãã«ãããã³ã ãªãŒããŒã¬ã€ ãããã¯ãŒã¯ãç·šæã§ããŸãã åœç¶ã®ããšãªããããã®ã³ã³ããŒãã³ãã¯ãããšãã°ãµãŒãããŒãã£ç¬èªã® (ãã³ããŒ) SDN ãœãªã¥ãŒã·ã§ã³ã䜿çšããå Žåã«çœ®ãæããããšãã§ããŸãã
OVS ã¯ãä»®æ³åç°å¢ã§ä»®æ³ãã©ãã£ã㯠ãã©ã¯ãŒããŒãšããŠäœ¿çšããããã«èšèšããããªãŒãã³ ãœãŒã¹ ãœãããŠã§ã¢ ã¹ã€ããã§ãã
çŸæç¹ã§ã¯ãOVS ã«ã¯ãQoSãLACPãVLANãVxLANãGENEVEãOpenFlowãDPDK ãªã©ã®ãã¯ãããžãŒãå«ããéåžžã«åªããæ©èœããããŸãã
泚: OVS ã¯åœåãé«è² è·ã®é»æ°éä¿¡æ©èœçšã®ãœãã ã¹ã€ãããšããŠèãããããã®ã§ã¯ãªããWEB ãµãŒããŒãã¡ãŒã« ãµãŒããŒãªã©ã®åž¯åå¹ èŠæ±ã®å°ãªã IT æ©èœåãã«èšèšãããŸããã ãã ããOVS ã¯ããã«éçºãé²ããããŠãããçŸåšã® OVS å®è£ ã§ã¯ããã©ãŒãã³ã¹ãšæ©èœãå€§å¹ ã«åäžããŠãããããéä¿¡äºæ¥è ãé«è² è·ã®æ©èœã䜿çšã§ããããã«ãªããŸãããããšãã°ãDPDK ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ããµããŒããã OVS å®è£ ããããŸãã
OVS ã«ã¯ã次㮠XNUMX ã€ã®éèŠãªã³ã³ããŒãã³ããããããšã«æ³šæããŠãã ããã
- ã«ãŒãã«ã¢ãžã¥ãŒã« â ã«ãŒãã«ç©ºéã«é 眮ãããå¶åŸ¡èŠçŽ ããåä¿¡ããã«ãŒã«ã«åºã¥ããŠãã©ãã£ãã¯ãåŠçããã³ã³ããŒãã³ãã
- vã¹ã€ãã ããŒã¢ã³ (ovs-vswitchd) ã¯ãã«ãŒãã« ã¢ãžã¥ãŒã«ã®ããã°ã©ãã³ã°ãæ åœãããŠãŒã¶ãŒç©ºéã§èµ·åãããããã»ã¹ã§ããã€ãŸããã¹ã€ããã®åäœããžãã¯ãçŽæ¥è¡šããŸãã
- ããŒã¿ããŒã¹ãµãŒã㌠- OVS ãå®è¡ããŠããåãã¹ãã«é 眮ãããæ§æãä¿åãããããŒã«ã« ããŒã¿ããŒã¹ã SDN ã³ã³ãããŒã©ãŒã¯ãOVSDB ãããã³ã«ã䜿çšããŠãã®ã¢ãžã¥ãŒã«ãéããŠéä¿¡ã§ããŸãã
ããããã¹ãŠã«ã¯ãovs-vsctlãovs-appctlãovs-ofctl ãªã©ã®äžé£ã®èšºæããã³ç®¡çãŠãŒãã£ãªãã£ãä»å±ããŠããŸãã
çŸåšãOpenstack ã¯ãEPCãSBCãHLR ãªã©ã®ãããã¯ãŒã¯æ©èœã Openstack ã«ç§»è¡ããããã«éä¿¡äºæ¥è ã«ãã£ãŠåºã䜿çšãããŠããŸããäžéšã®æ©èœã¯ãã®ãŸãŸ OVS ã§åé¡ãªãåäœããŸãããããšãã°ãEPC ã¯å å ¥è ã®ãã©ãã£ãã¯ãåŠçãããã®åŸééããŸããèšå€§ãªéã®ãã©ãã£ã㯠(çŸåšããã©ãã£ãã¯éã¯æ¯ç§æ°çŸã®ã¬ãããã«éããŠããŸã)ã åœç¶ã®ããšãªããããã®ãããªãã©ãã£ãã¯ãã«ãŒãã«ç©ºéçµç±ã§è»¢éããããšã¯ (ãã©ã¯ãŒããŒãããã©ã«ãã§ã«ãŒãã«ç©ºéã«é 眮ãããŠãããã) æåã®ã¢ã€ãã¢ã§ã¯ãããŸããã ãããã£ãŠãOVS ã¯å€ãã®å Žåãã«ãŒãã«ããã€ãã¹ã㊠NIC ãããŠãŒã¶ãŒç©ºéã«ãã©ãã£ãã¯ã転éãã DPDK ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ ãã¯ãããžã䜿çšããŠãå®å šã«ãŠãŒã¶ãŒç©ºéã«å±éãããŸãã
泚: éä¿¡æ©èœçšã«å±éãããã¯ã©ãŠãã®å ŽåãOVS ããã€ãã¹ããŠã³ã³ãã¥ãŒãã£ã³ã° ããŒãããã¹ã€ããã³ã°æ©åšã«ãã©ãã£ãã¯ãçŽæ¥åºåããããšãå¯èœã§ãã ãã®ç®çã«ã¯ãSR-IOV ããã³ãã¹ã¹ã«ãŒ ã¡ã«ããºã ã䜿çšãããŸãã
ããã¯å®éã®ã¬ã€ã¢ãŠãã§ã¯ã©ã®ããã«æ©èœããã®ã§ãããã?
ããã§ã¯ãå®è·µçãªéšåã«ç§»ããå®éã«ãã¹ãŠãã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã
ãŸããåçŽãª Openstack ã€ã³ã¹ããŒã«ããããã€ããŸãããã å®éšçšã®ãµãŒããŒã»ãããæå ã«ãªããããä»®æ³ãã·ã³ãã XNUMX å°ã®ç©çãµãŒããŒäžã«ãããã¿ã€ããçµã¿ç«ãŠãŸãã ã¯ããåœç¶ã®ããšãªããããã®ãããªãœãªã¥ãŒã·ã§ã³ã¯åæ¥ç®çã«ã¯é©ããŠããŸããããOpenStack ã§ãããã¯ãŒã¯ãã©ã®ããã«æ©èœãããã瀺ãäŸãèŠãã«ã¯ããã®ãããªã€ã³ã¹ããŒã«ã§ååã§ãã ããã«ããã®ãããªã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ã¯ã亀éç¶æ³ãªã©ãææ¡ã§ããããããã¬ãŒãã³ã°ç®çã§ã¯ããã«èå³æ·±ããã®ã«ãªããŸãã
åºæ¬çãªéšåã ããèŠãã°ããã®ã§ãè€æ°ã®ãããã¯ãŒã¯ã䜿çšããããšã¯ã§ãããXNUMX ã€ã®ãããã¯ãŒã¯ã ãã§ãã¹ãŠãç«ã¡äžãããã®ã¬ã€ã¢ãŠãã® XNUMX çªç®ã®ãããã¯ãŒã¯ã¯ã¢ã³ããŒã¯ã©ãŠããš DNS ãµãŒããŒãžã®ã¢ã¯ã»ã¹å°çšã«äœ¿çšãããŸãã ä»ã®ãšãããå€éšãããã¯ãŒã¯ã«ã€ããŠã¯è§ŠããŸãããããã¯å¥ã®å€§ããªèšäºã®ãããã¯ã§ãã
ããã§ã¯ãé çªã«å§ããŸãããã ãŸããã¡ãã£ãšããçè«ã§ãã TripleO (Openstack on Openstack) ã䜿çšã㊠Openstack ãã€ã³ã¹ããŒã«ããŸãã TripleO ã®æ¬è³ªã¯ãã¢ã³ããŒã¯ã©ãŠããšåŒã°ãã Openstack ãªãŒã«ã€ã³ã¯ã³ (ã€ãŸã XNUMX ã€ã®ããŒãäž) ãã€ã³ã¹ããŒã«ãããããã€ããã Openstack ã®æ©èœã䜿çšããŠããªãŒããŒã¯ã©ãŠããšåŒã°ããéçšçšã® Openstack ãã€ã³ã¹ããŒã«ããããšã§ãã ã¢ã³ããŒã¯ã©ãŠãã¯ãç©çãµãŒã㌠(ãã¢ã¡ã¿ã«) ã管çããåºæã®æ©èœ (Ironic ãããžã§ã¯ã) ã䜿çšããŠãã³ã³ãã¥ãŒãã£ã³ã°ãå¶åŸ¡ãã¹ãã¬ãŒãž ããŒãã®åœ¹å²ãå®è¡ãããã€ããŒãã€ã¶ãŒãããããžã§ãã³ã°ããŸãã ã€ãŸããOpenstack ã®ãããã€ã«ãµãŒãããŒã㣠ããŒã«ã¯äœ¿çšããŸãããOpenstack ã䜿çšã㊠Openstack ããããã€ããŸãã ã€ã³ã¹ããŒã«ãé²ãã«ã€ããŠããã«æ確ã«ãªããããããã§åæ¢ããã«å ã«é²ã¿ãŸãã
泚: ãã®èšäºã§ã¯ãããããããããããã«å éš Openstack ãããã¯ãŒã¯ã«ãããã¯ãŒã¯åé¢ã䜿çšããŸããã§ãããããã¹ãŠã XNUMX ã€ã®ãããã¯ãŒã¯ã®ã¿ã䜿çšããŠãããã€ãããŸãã ãã ãããããã¯ãŒã¯åé¢ã®æç¡ã¯ãœãªã¥ãŒã·ã§ã³ã®åºæ¬æ©èœã«ã¯åœ±é¿ããŸããããã¹ãŠãåé¢ã䜿çšããå ŽåãšãŸã£ããåãããã«æ©èœããŸããããã©ãã£ãã¯ã¯åããããã¯ãŒã¯äžãæµããŸãã åçšã€ã³ã¹ããŒã«ã®å Žåã¯ãåœç¶ã®ããšãªãããç°ãªã VLAN ãšã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠåé¢ã䜿çšããå¿ èŠããããŸãã ããšãã°ãceph ã¹ãã¬ãŒãžç®¡çãã©ãã£ãã¯ãšããŒã¿ ãã©ãã£ãã¯èªäœ (ãã£ã¹ã¯ãžã®ãã·ã³ ã¢ã¯ã»ã¹ãªã©) ã¯ãåé¢ãããŠããå Žåã¯ç°ãªããµãããã (ã¹ãã¬ãŒãžç®¡çãšã¹ãã¬ãŒãž) ã䜿çšããããããã®ãã©ãã£ãã¯ãåå²ããããšã§ãœãªã¥ãŒã·ã§ã³ã®èé害æ§ãé«ããããšãã§ããŸãã ãç°ãªãããŒãéã§ããŸãã¯ç°ãªããã©ãã£ãã¯ã«å¯ŸããŠç°ãªã QoS ãããã¡ã€ã«ã䜿çšããŠãããŒã¿ ãã©ãã£ãã¯ãã·ã°ããªã³ã° ãã©ãã£ãã¯ãå§è¿«ããªãããã«ããŸãã ç§ãã¡ã®å Žåããããã¯åããããã¯ãŒã¯äžã«ãããŸãããå®éãããã¯ç§ãã¡ãäœãå¶éããŸããã
泚: ä»®æ³ãã·ã³ã«åºã¥ãä»®æ³ç°å¢ã§ä»®æ³ãã·ã³ãå®è¡ããã®ã§ãæåã«ãã¹ããããä»®æ³åãæå¹ã«ããå¿ èŠããããŸãã
次ã®ããã«ããã¹ããããä»®æ³åãæå¹ãã©ããã確èªã§ããŸãã
[root@hp-gen9 bormoglotx]# cat /sys/module/kvm_intel/parameters/nested N [root@hp-gen9 bormoglotx]#
æå N ã衚瀺ãããŠããå Žåã¯ããããã¯ãŒã¯äžã«ããã¬ã€ãã«åŸã£ãŠããã¹ããããä»®æ³åã®ãµããŒããæå¹ã«ãªã£ãŠããŸããããšãã°ã
ãã®ãã㪠.
ä»®æ³ãã·ã³ãã次ã®åè·¯ãçµã¿ç«ãŠãå¿ èŠããããŸãã
ç§ã®å Žåãå°æ¥ã®ã€ã³ã¹ããŒã«ã®äžéšãšãªãä»®æ³ãã·ã³ (7 å°ãããŸãããããªãœãŒã¹ãããŸããªãå Žå㯠4 å°ã§ãåé¡ãããŸãã) ãæ¥ç¶ããããã«ãOpenvSwitch ã䜿çšããŸããã ovs ããªããžã XNUMX ã€äœæããããŒãã°ã«ãŒãçµç±ã§ä»®æ³ãã·ã³ãããã«æ¥ç¶ããŸããã ãããè¡ãããã«ã次ã®ãã㪠XML ãã¡ã€ã«ãäœæããŸããã
[root@hp-gen9 ~]# virsh net-dumpxml ovs-network-1
<network>
<name>ovs-network-1</name>
<uuid>7a2e7de7-fc16-4e00-b1ed-4d190133af67</uuid>
<forward mode='bridge'/>
<bridge name='ovs-br1'/>
<virtualport type='openvswitch'/>
<portgroup name='trunk-1'>
<vlan trunk='yes'>
<tag id='100'/>
<tag id='101'/>
<tag id='102'/>
</vlan>
</portgroup>
<portgroup name='access-100'>
<vlan>
<tag id='100'/>
</vlan>
</portgroup>
<portgroup name='access-101'>
<vlan>
<tag id='101'/>
</vlan>
</portgroup>
</network>
ããã§ã¯ XNUMX ã€ã®ããŒã ã°ã«ãŒããã€ãŸã XNUMX ã€ã®ã¢ã¯ã»ã¹ãš XNUMX ã€ã®ãã©ã³ã¯ã宣èšãããŠããŸã (åŸè 㯠DNS ãµãŒããŒã«å¿ èŠã§ããããDNS ãµãŒããŒãªãã§è¡ãããšãããã¹ã ãã·ã³ã«ã€ã³ã¹ããŒã«ããããšãã§ããŸããã©ã¡ãã§ãéœåã®è¯ãæ¹ã§ã)ã 次ã«ããã®ãã³ãã¬ãŒãã䜿çšããŠãvirsh net-define çµç±ã§ãã³ãã¬ãŒãã宣èšããŸãã
virsh net-define ovs-network-1.xml
virsh net-start ovs-network-1
virsh net-autostart ovs-network-1
次ã«ããã€ããŒãã€ã¶ãŒã®ããŒãæ§æãç·šéããŸãã
[root@hp-gen9 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens1f0
TYPE=Ethernet
NAME=ens1f0
DEVICE=ens1f0
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=ovs-br1
ONBOOT=yes
OVS_OPTIONS="trunk=100,101,102"
[root@hp-gen9 ~]
[root@hp-gen9 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ovs-br1
DEVICE=ovs-br1
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.255.200
PREFIX=24
[root@hp-gen9 ~]#
泚: ãã®ã·ããªãªã§ã¯ãããŒã ovs-br1 ã®ã¢ãã¬ã¹ã«ã¯ vlan ã¿ã°ããªããããã¢ã¯ã»ã¹ã§ããŸããã ãããä¿®æ£ããã«ã¯ãã³ãã³ã sudo ovs-vsctl set port ovs-br1 tag=100 ãçºè¡ããå¿ èŠããããŸãã ãã ããåèµ·åãããšããã®ã¿ã°ã¯æ¶ããŠããŸããŸãïŒã¿ã°ããã®ãŸãŸæ®ãæ¹æ³ãç¥ã£ãŠãã人ããããããšãŠãæè¬ããŸãïŒã ãã ãããã®ã¢ãã¬ã¹ã¯ã€ã³ã¹ããŒã«æã«ã®ã¿å¿ èŠã§ãããOpenstack ãå®å šã«ãããã€ããããšãã«ã¯å¿ èŠãªããããããã¯ããã»ã©éèŠã§ã¯ãããŸããã
次ã«ãã¢ã³ããŒã¯ã©ãŠã ãã·ã³ãäœæããŸãã
virt-install -n undercloud --description "undercloud" --os-type=Linux --os-variant=centos7.0 --ram=8192 --vcpus=8 --disk path=/var/lib/libvirt/images/undercloud.qcow2,bus=virtio,size=40,format=qcow2 --network network:ovs-network-1,model=virtio,portgroup=access-100 --network network:ovs-network-1,model=virtio,portgroup=access-101 --graphics none --location /var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-2003.iso --extra-args console=ttyS0
ã€ã³ã¹ããŒã«äžã«ããã·ã³åããã¹ã¯ãŒãããŠãŒã¶ãŒãNTP ãµãŒããŒãªã©ã®å¿ èŠãªãã©ã¡ãŒã¿ããã¹ãŠèšå®ããããã«ããŒããèšå®ã§ããŸãããå人çã«ã¯ãã€ã³ã¹ããŒã«åŸã次ã®æ¹æ³ã§ãã·ã³ã«ãã°ã€ã³ããæ¹ãç°¡åã§ããã³ã³ãœãŒã«ã«ã¢ã¯ã»ã¹ããå¿ èŠãªãã¡ã€ã«ãä¿®æ£ããŸãã ãã§ã«æ¢è£œã®ã€ã¡ãŒãžãããå Žåã¯ãããã䜿çšããããšããç§ããã£ãããšãšåãããã«ãæå°éã® Centos 7 ã€ã¡ãŒãžãããŠã³ããŒãããŠãããã䜿çšã㊠VM ãã€ã³ã¹ããŒã«ããããšãã§ããŸãã
ã€ã³ã¹ããŒã«ãæåãããšãã¢ã³ããŒã¯ã©ãŠããã€ã³ã¹ããŒã«ã§ããä»®æ³ãã·ã³ãäœæãããŸãã
[root@hp-gen9 bormoglotx]# virsh list
Id Name State
----------------------------------------------------
6 dns-server running
62 undercloud running
ãŸããã€ã³ã¹ããŒã« ããã»ã¹ã«å¿ èŠãªããŒã«ãã€ã³ã¹ããŒã«ããŸãã
sudo yum update -y
sudo yum install -y net-tools
sudo yum install -y wget
sudo yum install -y ipmitool
ã¢ã³ããŒã¯ã©ãŠãã®ã€ã³ã¹ããŒã«
ã¹ã¿ã㯠ãŠãŒã¶ãŒãäœæãããã¹ã¯ãŒããèšå®ã㊠sudoer ã«è¿œå ãããšããã¹ã¯ãŒããå ¥åããã« sudo ãä»ã㊠root ã³ãã³ããå®è¡ã§ããããã«ãªããŸãã
useradd stack
passwd stack
echo âstack ALL=(root) NOPASSWD:ALLâ > /etc/sudoers.d/stack
chmod 0440 /etc/sudoers.d/stack
ããã§ãhosts ãã¡ã€ã«ã«å®å šãªã¢ã³ããŒã¯ã©ãŠãåãæå®ããŸãã
vi /etc/hosts
127.0.0.1 undercloud.openstack.rnd localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
次ã«ããªããžããªãè¿œå ããå¿ èŠãªãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããŸãã
sudo yum install -y https://trunk.rdoproject.org/centos7/current/python2-tripleo-repos-0.0.1-0.20200409224957.8bac392.el7.noarch.rpm
sudo -E tripleo-repos -b queens current
sudo -E tripleo-repos -b queens current ceph
sudo yum install -y python-tripleoclient
sudo yum install -y ceph-ansible
泚: ceph ãã€ã³ã¹ããŒã«ããäºå®ããªãå Žåã¯ãceph é¢é£ã®ã³ãã³ããå ¥åããå¿ èŠã¯ãããŸããã ç§ã¯ Queens ãªãªãŒã¹ã䜿çšããŸããããã奜ã¿ã®ä»ã®ãªãªãŒã¹ã䜿çšããŠãæ§ããŸããã
次ã«ãã¢ã³ããŒã¯ã©ãŠãèšå®ãã¡ã€ã«ããŠãŒã¶ãŒã®ããŒã ãã£ã¬ã¯ããªã¹ã¿ãã¯ã«ã³ããŒããŸãã
cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf
次ã«ããã®ãã¡ã€ã«ãä¿®æ£ããŠãã€ã³ã¹ããŒã«ã«åãããŠèª¿æŽããå¿ èŠããããŸãã
ãã¡ã€ã«ã®å é ã«æ¬¡ã®è¡ãè¿œå ããå¿ èŠããããŸãã
vi undercloud.conf
[DEFAULT]
undercloud_hostname = undercloud.openstack.rnd
local_ip = 192.168.255.1/24
network_gateway = 192.168.255.1
undercloud_public_host = 192.168.255.2
undercloud_admin_host = 192.168.255.3
undercloud_nameservers = 192.168.255.253
generate_service_certificate = false
local_interface = eth0
local_mtu = 1450
network_cidr = 192.168.255.0/24
masquerade = true
masquerade_network = 192.168.255.0/24
dhcp_start = 192.168.255.11
dhcp_end = 192.168.255.50
inspection_iprange = 192.168.255.51,192.168.255.100
scheduler_max_attempts = 10
ããã§ã¯ãèšå®ãèŠãŠã¿ãŸãããã
ã¢ã³ããŒã¯ã©ãŠãã®ãã¹ãå â ã¢ã³ããŒã¯ã©ãŠããµãŒããŒã®ãã«ããŒã ã¯ãDNS ãµãŒããŒäžã®ãšã³ããªãšäžèŽããå¿ èŠããããŸã
local_ip â ãããã¯ãŒã¯ããããžã§ãã³ã°çšã®ããŒã«ã«ã¢ã³ããŒã¯ã©ãŠãã¢ãã¬ã¹
ãããã¯ãŒã¯ã²ãŒããŠã§ã€ â ãªãŒããŒã¯ã©ãŠãããŒãã®ã€ã³ã¹ããŒã«äžã«å€éšãžã®ã¢ã¯ã»ã¹ã®ããã®ã²ãŒããŠã§ã€ãšããŠæ©èœããåãããŒã«ã«ã¢ãã¬ã¹ã¯ãããŒã«ã« IP ãšãäžèŽããŸãã
undercloud_public_host â å€éš API ã¢ãã¬ã¹ãããããžã§ãã³ã° ãããã¯ãŒã¯ããã®ä»»æã®ããªãŒ ã¢ãã¬ã¹ãå²ãåœãŠãããŸãã
undercloud_admin_host å éš API ã¢ãã¬ã¹ãããããžã§ãã³ã° ãããã¯ãŒã¯ããã®ä»»æã®ããªãŒ ã¢ãã¬ã¹ãå²ãåœãŠãããŸãã
undercloud_nameservers â DNSãµãŒããŒ
çæ_ãµãŒãã¹_蚌ææž - ãã®è¡ã¯çŸåšã®äŸã§ã¯éåžžã«éèŠã§ããããã false ã«èšå®ããªããšã€ã³ã¹ããŒã«äžã«ãšã©ãŒãçºçããŸãããã®åé¡ã¯ Red Hat ãã° ãã©ãã«ãŒã§èª¬æãããŠããŸãã
ããŒã«ã«ã€ã³ã¿ãŒãã§ãŒã¹ ãããã¯ãŒã¯ããããžã§ãã³ã°ã®ã€ã³ã¿ãŒãã§ã€ã¹ã ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ã¢ã³ããŒã¯ã©ãŠãã®ãããã€äžã«åæ§æããããããã¢ã³ããŒã¯ã©ãŠãäžã« XNUMX ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ãå¿ èŠã§ããXNUMX ã€ã¯ã¢ã¯ã»ã¹çšããã XNUMX ã€ã¯ããããžã§ãã³ã°çšã§ãã
local_mtu -MTUã ãã¹ã ã©ãããããOVS ã¹ã€ãã ããŒãã® MTU ã 1500 ã§ãããããVxLAN ã§ã«ãã»ã«åããããã±ãããééã§ããããã«ãMTU ã 1450 ã«èšå®ããå¿ èŠããããŸãã
network_cidr â ããããžã§ãã³ã°ãããã¯ãŒã¯
ãªãããŸã â NAT ã䜿çšããŠå€éšãããã¯ãŒã¯ã«ã¢ã¯ã»ã¹ãã
ãã¹ã«ã¬ãŒããããã¯ãŒã¯ - NATåããããããã¯ãŒã¯
dhcp_start â ãªãŒããŒã¯ã©ãŠãã®ãããã€ã¡ã³ãäžã«ã¢ãã¬ã¹ãããŒãã«å²ãåœãŠãããã¢ãã¬ã¹ããŒã«ã®éå§ã¢ãã¬ã¹
dhcp_end â ãªãŒããŒã¯ã©ãŠãã®ãããã€ã¡ã³ãäžã«ã¢ãã¬ã¹ãããŒãã«å²ãåœãŠãããã¢ãã¬ã¹ããŒã«ã®æçµã¢ãã¬ã¹
æ€æ»_iprange â ã€ã³ããã¹ãã¯ã·ã§ã³ã«å¿ èŠãªã¢ãã¬ã¹ã®ããŒã« (äžèšã®ããŒã«ãšéè€ããªãããã«ããå¿ èŠããããŸã)
ã¹ã±ãžã¥ãŒã©_æ倧詊è¡æ° â ãªãŒããŒã¯ã©ãŠãã®ã€ã³ã¹ããŒã«è©Šè¡ã®æ倧åæ° (ããŒãæ°ä»¥äžã§ããå¿ èŠããããŸã)
ãã¡ã€ã«ãèšè¿°ããåŸãã¢ã³ããŒã¯ã©ãŠãããããã€ããã³ãã³ããå®è¡ã§ããŸãã
openstack undercloud install
ã¢ã€ãã³ã®çš®é¡ã«ããããŸããããã®æé ã«ã¯ 10 ïœ 30 åããããŸãã æçµçã«ã¯æ¬¡ã®ãããªåºåã衚瀺ãããã¯ãã§ãã
vi undercloud.conf
2020-08-13 23:13:12,668 INFO:
#############################################################################
Undercloud install complete.
The file containing this installation's passwords is at
/home/stack/undercloud-passwords.conf.
There is also a stackrc file at /home/stack/stackrc.
These files are needed to interact with the OpenStack services, and should be
secured.
#############################################################################
ãã®åºåã¯ãã¢ã³ããŒã¯ã©ãŠããæ£åžžã«ã€ã³ã¹ããŒã«ãããããšã瀺ããŠãããã¢ã³ããŒã¯ã©ãŠãã®ã¹ããŒã¿ã¹ã確èªããŠãªãŒããŒã¯ã©ãŠãã®ã€ã³ã¹ããŒã«ã«é²ãããšãã§ããŸãã
ifconfig ã®åºåãèŠããšãæ°ããããªããž ã€ã³ã¿ãŒãã§ã€ã¹ã衚瀺ãããŠããããšãããããŸãã
[stack@undercloud ~]$ ifconfig
br-ctlplane: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 192.168.255.1 netmask 255.255.255.0 broadcast 192.168.255.255
inet6 fe80::5054:ff:fe2c:89e prefixlen 64 scopeid 0x20<link>
ether 52:54:00:2c:08:9e txqueuelen 1000 (Ethernet)
RX packets 14 bytes 1095 (1.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 20 bytes 1292 (1.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ãªãŒããŒã¯ã©ãŠãã®ãããã€ã¡ã³ãã¯ããã®ã€ã³ã¿ãŒãã§ãŒã¹ãéããŠå®è¡ãããããã«ãªããŸãã
以äžã®åºåããããã¹ãŠã®ãµãŒãã¹ã XNUMX ã€ã®ããŒãäžã«ããããšãããããŸãã
(undercloud) [stack@undercloud ~]$ openstack host list
+--------------------------+-----------+----------+
| Host Name | Service | Zone |
+--------------------------+-----------+----------+
| undercloud.openstack.rnd | conductor | internal |
| undercloud.openstack.rnd | scheduler | internal |
| undercloud.openstack.rnd | compute | nova |
+--------------------------+-----------+----------+
以äžã¯ã¢ã³ããŒã¯ã©ãŠããããã¯ãŒã¯éšåã®æ§æã§ãã
(undercloud) [stack@undercloud ~]$ python -m json.tool /etc/os-net-config/config.json
{
"network_config": [
{
"addresses": [
{
"ip_netmask": "192.168.255.1/24"
}
],
"members": [
{
"dns_servers": [
"192.168.255.253"
],
"mtu": 1450,
"name": "eth0",
"primary": "true",
"type": "interface"
}
],
"mtu": 1450,
"name": "br-ctlplane",
"ovs_extra": [
"br-set-external-id br-ctlplane bridge-id br-ctlplane"
],
"routes": [],
"type": "ovs_bridge"
}
]
}
(undercloud) [stack@undercloud ~]$
ãªãŒããŒã¯ã©ãŠãã®ã€ã³ã¹ããŒã«
çŸæç¹ã§ã¯ã¢ã³ããŒã¯ã©ãŠãã®ã¿ãããããªãŒããŒã¯ã©ãŠããçµã¿ç«ãŠãååãªããŒãããããŸããã ãããã£ãŠããŸãå¿ èŠãªä»®æ³ãã·ã³ããããã€ããŸãããã ãããã€ã¡ã³ãäžã«ãã¢ã³ããŒã¯ã©ãŠãèªäœã OS ãšå¿ èŠãªãœãããŠã§ã¢ããªãŒããŒã¯ã©ãŠããã·ã³ã«ã€ã³ã¹ããŒã«ããŸããã€ãŸãããã·ã³ãå®å šã«ãããã€ããå¿ èŠã¯ãªãããã®ãã·ã³çšã®ãã£ã¹ã¯ãäœæãããã®ãã©ã¡ãŒã¿ã決å®ããã ãã§ããå®éãOS ãã€ã³ã¹ããŒã«ãããŠããªã裞ã®ãµãŒããŒãå ¥æããŸãã
ä»®æ³ãã·ã³ã®ãã£ã¹ã¯ãå«ãŸãããã©ã«ããŒã«ç§»åããå¿ èŠãªãµã€ãºã®ãã£ã¹ã¯ãäœæããŸãããã
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -o preallocation=metadata control-1.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata compute-1.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata compute-2.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata storage-1.qcow2 160G
qemu-img create -f qcow2 -o preallocation=metadata storage-2.qcow2 160G
root ãšããŠæäœããŠãããããæš©å©ã®åé¡ãçºçããªãããã«ããããã®ãã£ã¹ã¯ã®ææè ãå€æŽããå¿ èŠããããŸãã
[root@hp-gen9 images]# ls -lh
total 5.8G
drwxr-xr-x. 2 qemu qemu 4.0K Aug 13 16:15 backups
-rw-r--r--. 1 root root 61G Aug 14 03:07 compute-1.qcow2
-rw-r--r--. 1 root root 61G Aug 14 03:07 compute-2.qcow2
-rw-r--r--. 1 root root 61G Aug 14 03:07 control-1.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:03 dns-server.qcow2
-rw-r--r--. 1 root root 161G Aug 14 03:07 storage-1.qcow2
-rw-r--r--. 1 root root 161G Aug 14 03:07 storage-2.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:07 undercloud.qcow2
[root@hp-gen9 images]#
[root@hp-gen9 images]#
[root@hp-gen9 images]# chown qemu:qemu /var/lib/libvirt/images/*qcow2
[root@hp-gen9 images]# ls -lh
total 5.8G
drwxr-xr-x. 2 qemu qemu 4.0K Aug 13 16:15 backups
-rw-r--r--. 1 qemu qemu 61G Aug 14 03:07 compute-1.qcow2
-rw-r--r--. 1 qemu qemu 61G Aug 14 03:07 compute-2.qcow2
-rw-r--r--. 1 qemu qemu 61G Aug 14 03:07 control-1.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:03 dns-server.qcow2
-rw-r--r--. 1 qemu qemu 161G Aug 14 03:07 storage-1.qcow2
-rw-r--r--. 1 qemu qemu 161G Aug 14 03:07 storage-2.qcow2
-rw-------. 1 qemu qemu 41G Aug 14 03:08 undercloud.qcow2
[root@hp-gen9 images]#
泚: ceph ãç 究ããããã«ã€ã³ã¹ããŒã«ããäºå®ããªãå Žåãã³ãã³ãã¯å°ãªããšã 3 ã€ã®ãã£ã¹ã¯ãæã€å°ãªããšã XNUMX ã€ã®ããŒããäœæããŸãããããã³ãã¬ãŒãã§ã¯ä»®æ³ãã£ã¹ã¯ vdaãvdb ãªã©ã䜿çšãããããšã瀺ãããŸãã
ããããŸããã次ã«ãããããã¹ãŠã®ãã·ã³ãå®çŸ©ããå¿ èŠããããŸãã
virt-install --name control-1 --ram 32768 --vcpus 8 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/control-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:ovs-network-1,model=virtio,portgroup=access-100 --network network:ovs-network-1,model=virtio,portgroup=trunk-1 --dry-run --print-xml > /tmp/control-1.xml
virt-install --name storage-1 --ram 16384 --vcpus 4 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/storage-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/storage-1.xml
virt-install --name storage-2 --ram 16384 --vcpus 4 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/storage-2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/storage-2.xml
virt-install --name compute-1 --ram 32768 --vcpus 12 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/compute-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/compute-1.xml
virt-install --name compute-2 --ram 32768 --vcpus 12 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/compute-2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/compute-2.xml
æåŸã«ãã³ãã³ã -print-xml > /tmp/storage-1.xml ããããåãã·ã³ã®èª¬æãå«ã xml ãã¡ã€ã«ã /tmp/ ãã©ã«ããŒã«äœæããŸãããããè¿œå ããªããšãä»®æ³ãã·ã³ãèå¥ã§ããããã«ãªããŸãã
次ã«ãããããã¹ãŠã®ãã·ã³ã virsh ã§å®çŸ©ããå¿ èŠããããŸãã
virsh define --file /tmp/control-1.xml
virsh define --file /tmp/compute-1.xml
virsh define --file /tmp/compute-2.xml
virsh define --file /tmp/storage-1.xml
virsh define --file /tmp/storage-2.xml
[root@hp-gen9 ~]# virsh list --all
Id Name State
----------------------------------------------------
6 dns-server running
64 undercloud running
- compute-1 shut off
- compute-2 shut off
- control-1 shut off
- storage-1 shut off
- storage-2 shut off
[root@hp-gen9 ~]#
ããã§å°ããã¥ã¢ã³ã¹ããããŸãããtripleO ã¯ã€ã³ã¹ããŒã«ãšã€ã³ããã¹ãã¯ã·ã§ã³äžã« IPMI ã䜿çšããŠãµãŒããŒã管çããŸãã
ã€ã³ããã¹ãã¯ã·ã§ã³ã¯ãããŒãã®ãããªãããããžã§ãã³ã°ã«å¿ èŠãªãã©ã¡ãŒã¿ãååŸããããã«ããŒããŠã§ã¢ãæ€æ»ããããã»ã¹ã§ãã ã€ã³ããã¹ãã¯ã·ã§ã³ã¯ãã㢠ã¡ã¿ã« ãµãŒããŒã§åäœããããã«èšèšããããµãŒãã¹ã§ãã Ironic ã䜿çšããŠå®è¡ãããŸãã
ããããããã«åé¡ããããŸããããŒããŠã§ã¢ IPMI ãµãŒããŒã«ã¯å¥ã®ããŒã (ãŸãã¯å ±æããŒãããã ãããã¯éèŠã§ã¯ãããŸãã) ããããŸãããä»®æ³ãã·ã³ã«ã¯ãã®ãããªããŒãããããŸããã ããã§ãvbmc ãšããå©ãã«ãªããŸããããã¯ãIPMI ããŒãããšãã¥ã¬ãŒãã§ãããŠãŒãã£ãªãã£ã§ãã ãã®ãã¥ã¢ã³ã¹ã¯ãç¹ã« ESXI ãã€ããŒãã€ã¶ãŒäžã«ãã®ãããªã©ããã»ããã¢ããããã人ã«ãšã£ãŠã¯æ³šæãæã䟡å€ããããŸããæ£çŽã«èšããšãããã« vbmc ã®é¡äŒŒç©ããããã©ããã¯ããããŸããããã®ããããã¹ãŠãå±éããåã«ãã®åé¡ã«ã€ããŠçåã«æã䟡å€ããããŸãã ã
vbmc ãã€ã³ã¹ããŒã«ããŸãã
yum install yum install python2-virtualbmc
OS ãããã±ãŒãžãèŠã€ããããªãå Žåã¯ããªããžããªãè¿œå ããŸãã
yum install -y https://www.rdoproject.org/repos/rdo-release.rpm
次ã«ããŠãŒãã£ãªãã£ãèšå®ããŸãã ããã«ãããã®ã¯ãã¹ãŠãæ¥ãã¹ãã»ã©å¹³å¡ã ã ããã§ãvbmc ãªã¹ãã«ãµãŒããŒãååšããªãããšã¯è«ççã«ãªããŸãã
[root@hp-gen9 ~]# vbmc list
[root@hp-gen9 ~]#
ãããã衚瀺ããã«ã¯ã次ã®ããã«æåã§å®£èšããå¿ èŠããããŸãã
[root@hp-gen9 ~]# vbmc add control-1 --port 7001 --username admin --password admin
[root@hp-gen9 ~]# vbmc add storage-1 --port 7002 --username admin --password admin
[root@hp-gen9 ~]# vbmc add storage-2 --port 7003 --username admin --password admin
[root@hp-gen9 ~]# vbmc add compute-1 --port 7004 --username admin --password admin
[root@hp-gen9 ~]# vbmc add compute-2 --port 7005 --username admin --password admin
[root@hp-gen9 ~]#
[root@hp-gen9 ~]# vbmc list
+-------------+--------+---------+------+
| Domain name | Status | Address | Port |
+-------------+--------+---------+------+
| compute-1 | down | :: | 7004 |
| compute-2 | down | :: | 7005 |
| control-1 | down | :: | 7001 |
| storage-1 | down | :: | 7002 |
| storage-2 | down | :: | 7003 |
+-------------+--------+---------+------+
[root@hp-gen9 ~]#
ã³ãã³ãæ§æã¯èª¬æããªããŠãæããã ãšæããŸãã ãã ããçŸæç¹ã§ã¯ãã¹ãŠã®ã»ãã·ã§ã³ãåæ¢ç¶æ ã§ãã UP ã¹ããŒã¿ã¹ã«ç§»è¡ããã«ã¯ã以äžãæå¹ã«ããå¿ èŠããããŸãã
[root@hp-gen9 ~]# vbmc start control-1
2020-08-14 03:15:57,826.826 13149 INFO VirtualBMC [-] Started vBMC instance for domain control-1
[root@hp-gen9 ~]# vbmc start storage-1
2020-08-14 03:15:58,316.316 13149 INFO VirtualBMC [-] Started vBMC instance for domain storage-1
[root@hp-gen9 ~]# vbmc start storage-2
2020-08-14 03:15:58,851.851 13149 INFO VirtualBMC [-] Started vBMC instance for domain storage-2
[root@hp-gen9 ~]# vbmc start compute-1
2020-08-14 03:15:59,307.307 13149 INFO VirtualBMC [-] Started vBMC instance for domain compute-1
[root@hp-gen9 ~]# vbmc start compute-2
2020-08-14 03:15:59,712.712 13149 INFO VirtualBMC [-] Started vBMC instance for domain compute-2
[root@hp-gen9 ~]#
[root@hp-gen9 ~]#
[root@hp-gen9 ~]# vbmc list
+-------------+---------+---------+------+
| Domain name | Status | Address | Port |
+-------------+---------+---------+------+
| compute-1 | running | :: | 7004 |
| compute-2 | running | :: | 7005 |
| control-1 | running | :: | 7001 |
| storage-1 | running | :: | 7002 |
| storage-2 | running | :: | 7003 |
+-------------+---------+---------+------+
[root@hp-gen9 ~]#
ãããŠæåŸã®ä»äžããšããŠããã¡ã€ã¢ãŠã©ãŒã« ã«ãŒã«ãä¿®æ£ãã (ãŸãã¯å®å šã«ç¡å¹ã«ãã) å¿ èŠããããŸãã
firewall-cmd --zone=public --add-port=7001/udp --permanent
firewall-cmd --zone=public --add-port=7002/udp --permanent
firewall-cmd --zone=public --add-port=7003/udp --permanent
firewall-cmd --zone=public --add-port=7004/udp --permanent
firewall-cmd --zone=public --add-port=7005/udp --permanent
firewall-cmd --reload
次ã«ãã¢ã³ããŒã¯ã©ãŠãã«ç§»åããŠããã¹ãŠãæ©èœããŠããããšã確èªããŠã¿ãŸãããã ãã¹ããã·ã³ã®ã¢ãã¬ã¹ã¯ 192.168.255.200 ã§ããã¢ã³ããŒã¯ã©ãŠãã§ã¯ããããã€ã¡ã³ãã®æºåäžã«å¿ èŠãª ipmitool ããã±ãŒãžãè¿œå ããŸããã
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power status
Chassis Power is off
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power on
Chassis Power Control: Up/On
[stack@undercloud ~]$
[root@hp-gen9 ~]# virsh list
Id Name State
----------------------------------------------------
6 dns-server running
64 undercloud running
65 control-1 running
ã芧ã®ãšãããvbmc çµç±ã§å¶åŸ¡ããŒããæ£åžžã«èµ·åãããŸããã ã§ã¯ãããããªãã«ããŠæ¬¡ã«é²ã¿ãŸãããã
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power off
Chassis Power Control: Down/Off
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power status
Chassis Power is off
[stack@undercloud ~]$
[root@hp-gen9 ~]# virsh list --all
Id Name State
----------------------------------------------------
6 dns-server running
64 undercloud running
- compute-1 shut off
- compute-2 shut off
- control-1 shut off
- storage-1 shut off
- storage-2 shut off
[root@hp-gen9 ~]#
次ã®ã¹ãããã¯ããªãŒããŒã¯ã©ãŠããã€ã³ã¹ããŒã«ãããããŒãã®ã€ã³ããã¹ãã¯ã·ã§ã³ã§ãã ãããè¡ãã«ã¯ãããŒãã®èª¬æãå«ã json ãã¡ã€ã«ãæºåããå¿ èŠããããŸãã ãã¢ãµãŒããŒãžã®ã€ã³ã¹ããŒã«ãšã¯ç°ãªãããã¡ã€ã«ã¯åãã·ã³ã§ vbmc ãå®è¡ãããŠããããŒãã瀺ãããšã«æ³šæããŠãã ããã
[root@hp-gen9 ~]# virsh domiflist --domain control-1
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:20:a2:2f
- network ovs-network-1 virtio 52:54:00:3f:87:9f
[root@hp-gen9 ~]# virsh domiflist --domain compute-1
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:98:e9:d6
[root@hp-gen9 ~]# virsh domiflist --domain compute-2
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:6a:ea:be
[root@hp-gen9 ~]# virsh domiflist --domain storage-1
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:79:0b:cb
[root@hp-gen9 ~]# virsh domiflist --domain storage-2
Interface Type Source Model MAC
-------------------------------------------------------
- network ovs-network-1 virtio 52:54:00:a7:fe:27
泚: å¶åŸ¡ããŒãã«ã¯ XNUMX ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ããããŸããããã®å Žåãããã¯éèŠã§ã¯ãããŸããããã®ã€ã³ã¹ããŒã«ã§ã¯ XNUMX ã€ã§ååã§ãã
次ã«ãjson ãã¡ã€ã«ãæºåããŸãã ããããžã§ãã³ã°ãå®è¡ãããããŒãã®ããã㌠ã¢ãã¬ã¹ãããŒãã®ãã©ã¡ãŒã¿ãæå®ãããããã«ååãä»ããipmi ã«ã¢ã¯ã»ã¹ããæ¹æ³ã瀺ãå¿ èŠããããŸãã
{
"nodes":[
{
"mac":[
"52:54:00:20:a2:2f"
],
"cpu":"8",
"memory":"32768",
"disk":"60",
"arch":"x86_64",
"name":"control-1",
"pm_type":"pxe_ipmitool",
"pm_user":"admin",
"pm_password":"admin",
"pm_addr":"192.168.255.200",
"pm_port":"7001"
},
{
"mac":[
"52:54:00:79:0b:cb"
],
"cpu":"4",
"memory":"16384",
"disk":"160",
"arch":"x86_64",
"name":"storage-1",
"pm_type":"pxe_ipmitool",
"pm_user":"admin",
"pm_password":"admin",
"pm_addr":"192.168.255.200",
"pm_port":"7002"
},
{
"mac":[
"52:54:00:a7:fe:27"
],
"cpu":"4",
"memory":"16384",
"disk":"160",
"arch":"x86_64",
"name":"storage-2",
"pm_type":"pxe_ipmitool",
"pm_user":"admin",
"pm_password":"admin",
"pm_addr":"192.168.255.200",
"pm_port":"7003"
},
{
"mac":[
"52:54:00:98:e9:d6"
],
"cpu":"12",
"memory":"32768",
"disk":"60",
"arch":"x86_64",
"name":"compute-1",
"pm_type":"pxe_ipmitool",
"pm_user":"admin",
"pm_password":"admin",
"pm_addr":"192.168.255.200",
"pm_port":"7004"
},
{
"mac":[
"52:54:00:6a:ea:be"
],
"cpu":"12",
"memory":"32768",
"disk":"60",
"arch":"x86_64",
"name":"compute-2",
"pm_type":"pxe_ipmitool",
"pm_user":"admin",
"pm_password":"admin",
"pm_addr":"192.168.255.200",
"pm_port":"7005"
}
]
}
次ã«ãç®èçšã®ç»åãæºåããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãwget çµç±ã§ããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã
(undercloud) [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/queens/delorean/current-tripleo-rdo/overcloud-full.tar --no-check-certificate
(undercloud) [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/queens/delorean/current-tripleo-rdo/ironic-python-agent.tar --no-check-certificate
(undercloud) [stack@undercloud ~]$ ls -lh
total 1.9G
-rw-r--r--. 1 stack stack 447M Aug 14 10:26 ironic-python-agent.tar
-rw-r--r--. 1 stack stack 1.5G Aug 14 10:26 overcloud-full.tar
-rw-------. 1 stack stack 916 Aug 13 23:10 stackrc
-rw-r--r--. 1 stack stack 15K Aug 13 22:50 undercloud.conf
-rw-------. 1 stack stack 2.0K Aug 13 22:50 undercloud-passwords.conf
(undercloud) [stack@undercloud ~]$ mkdir images/
(undercloud) [stack@undercloud ~]$ tar -xpvf ironic-python-agent.tar -C ~/images/
ironic-python-agent.initramfs
ironic-python-agent.kernel
(undercloud) [stack@undercloud ~]$ tar -xpvf overcloud-full.tar -C ~/images/
overcloud-full.qcow2
overcloud-full.initrd
overcloud-full.vmlinuz
(undercloud) [stack@undercloud ~]$
(undercloud) [stack@undercloud ~]$ ls -lh images/
total 1.9G
-rw-rw-r--. 1 stack stack 441M Aug 12 17:24 ironic-python-agent.initramfs
-rwxr-xr-x. 1 stack stack 6.5M Aug 12 17:24 ironic-python-agent.kernel
-rw-r--r--. 1 stack stack 53M Aug 12 17:14 overcloud-full.initrd
-rw-r--r--. 1 stack stack 1.4G Aug 12 17:18 overcloud-full.qcow2
-rwxr-xr-x. 1 stack stack 6.5M Aug 12 17:14 overcloud-full.vmlinuz
(undercloud) [stack@undercloud ~]$
ã¢ã³ããŒã¯ã©ãŠããžã®ç»åã®ã¢ããããŒã:
(undercloud) [stack@undercloud ~]$ openstack overcloud image upload --image-path ~/images/
Image "overcloud-full-vmlinuz" was uploaded.
+--------------------------------------+------------------------+-------------+---------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+------------------------+-------------+---------+--------+
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz | aki | 6761064 | active |
+--------------------------------------+------------------------+-------------+---------+--------+
Image "overcloud-full-initrd" was uploaded.
+--------------------------------------+-----------------------+-------------+----------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+-----------------------+-------------+----------+--------+
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd | ari | 55183045 | active |
+--------------------------------------+-----------------------+-------------+----------+--------+
Image "overcloud-full" was uploaded.
+--------------------------------------+----------------+-------------+------------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+----------------+-------------+------------+--------+
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full | qcow2 | 1487475712 | active |
+--------------------------------------+----------------+-------------+------------+--------+
Image "bm-deploy-kernel" was uploaded.
+--------------------------------------+------------------+-------------+---------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+------------------+-------------+---------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel | aki | 6761064 | active |
+--------------------------------------+------------------+-------------+---------+--------+
Image "bm-deploy-ramdisk" was uploaded.
+--------------------------------------+-------------------+-------------+-----------+--------+
| ID | Name | Disk Format | Size | Status |
+--------------------------------------+-------------------+-------------+-----------+--------+
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk | ari | 461759376 | active |
+--------------------------------------+-------------------+-------------+-----------+--------+
(undercloud) [stack@undercloud ~]$
ãã¹ãŠã®ç»åãèªã¿èŸŒãŸããããšã確èªãã
(undercloud) [stack@undercloud ~]$ openstack image list
+--------------------------------------+------------------------+--------+
| ID | Name | Status |
+--------------------------------------+------------------------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel | active |
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk | active |
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full | active |
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd | active |
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz | active |
+--------------------------------------+------------------------+--------+
(undercloud) [stack@undercloud ~]$
ãã XNUMX 〠- DNS ãµãŒããŒãè¿œå ããå¿ èŠããããŸãã
(undercloud) [stack@undercloud ~]$ openstack subnet list
+--------------------------------------+-----------------+--------------------------------------+------------------+
| ID | Name | Network | Subnet |
+--------------------------------------+-----------------+--------------------------------------+------------------+
| f45dea46-4066-42aa-a3c4-6f84b8120cab | ctlplane-subnet | 6ca013dc-41c2-42d8-9d69-542afad53392 | 192.168.255.0/24 |
+--------------------------------------+-----------------+--------------------------------------+------------------+
(undercloud) [stack@undercloud ~]$ openstack subnet show f45dea46-4066-42aa-a3c4-6f84b8120cab
+-------------------+-----------------------------------------------------------+
| Field | Value |
+-------------------+-----------------------------------------------------------+
| allocation_pools | 192.168.255.11-192.168.255.50 |
| cidr | 192.168.255.0/24 |
| created_at | 2020-08-13T20:10:37Z |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | 192.168.255.1 |
| host_routes | destination='169.254.169.254/32', gateway='192.168.255.1' |
| id | f45dea46-4066-42aa-a3c4-6f84b8120cab |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | ctlplane-subnet |
| network_id | 6ca013dc-41c2-42d8-9d69-542afad53392 |
| prefix_length | None |
| project_id | a844ccfcdb2745b198dde3e1b28c40a3 |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2020-08-13T20:10:37Z |
+-------------------+-----------------------------------------------------------+
(undercloud) [stack@undercloud ~]$
(undercloud) [stack@undercloud ~]$ neutron subnet-update f45dea46-4066-42aa-a3c4-6f84b8120cab --dns-nameserver 192.168.255.253
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Updated subnet: f45dea46-4066-42aa-a3c4-6f84b8120cab
(undercloud) [stack@undercloud ~]$
ããã§ãã€ã³ããã¹ãã¯ã·ã§ã³ã®ã³ãã³ããå®è¡ã§ããããã«ãªããŸããã
(undercloud) [stack@undercloud ~]$ openstack overcloud node import --introspect --provide inspection.json
Started Mistral Workflow tripleo.baremetal.v1.register_or_update. Execution ID: d57456a3-d8ed-479c-9a90-dff7c752d0ec
Waiting for messages on queue 'tripleo' with no timeout.
5 node(s) successfully moved to the "manageable" state.
Successfully registered node UUID b4b2cf4a-b7ca-4095-af13-cc83be21c4f5
Successfully registered node UUID b89a72a3-6bb7-429a-93bc-48393d225838
Successfully registered node UUID 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e
Successfully registered node UUID bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8
Successfully registered node UUID 766ab623-464c-423d-a529-d9afb69d1167
Waiting for introspection to finish...
Started Mistral Workflow tripleo.baremetal.v1.introspect. Execution ID: 6b4d08ae-94c3-4a10-ab63-7634ec198a79
Waiting for messages on queue 'tripleo' with no timeout.
Introspection of node b89a72a3-6bb7-429a-93bc-48393d225838 completed. Status:SUCCESS. Errors:None
Introspection of node 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e completed. Status:SUCCESS. Errors:None
Introspection of node bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 completed. Status:SUCCESS. Errors:None
Introspection of node 766ab623-464c-423d-a529-d9afb69d1167 completed. Status:SUCCESS. Errors:None
Introspection of node b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 completed. Status:SUCCESS. Errors:None
Successfully introspected 5 node(s).
Started Mistral Workflow tripleo.baremetal.v1.provide. Execution ID: f5594736-edcf-4927-a8a0-2a7bf806a59a
Waiting for messages on queue 'tripleo' with no timeout.
5 node(s) successfully moved to the "available" state.
(undercloud) [stack@undercloud ~]$
åºåãããããããã«ããã¹ãŠããšã©ãŒãªãã§å®äºããŸããã ãã¹ãŠã®ããŒããå©çšå¯èœãªç¶æ ã§ããããšã確èªããŠã¿ãŸãããã
(undercloud) [stack@undercloud ~]$ openstack baremetal node list
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| UUID | Name | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | None | power off | available | False |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | None | power off | available | False |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | None | power off | available | False |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | None | power off | available | False |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | None | power off | available | False |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
(undercloud) [stack@undercloud ~]$
ããŒããç°ãªãç¶æ (éåžžã¯ç®¡çå¯èœ) ã«ããå Žåã¯ãäœãåé¡ãçºçããããšã«ãªãããããã°ã調ã¹ãŠããªããããèµ·ãã£ãã®ããç解ããå¿ èŠããããŸãã ãã®ã·ããªãªã§ã¯ä»®æ³åã䜿çšããŠãããããä»®æ³ãã·ã³ãŸã㯠vbmc ã®äœ¿çšã«é¢é£ãããã°ãçºçããå¯èœæ§ãããããšã«æ³šæããŠãã ããã
次ã«ãã©ã®ããŒããã©ã®æ©èœãå®è¡ããããæå®ããå¿ èŠããããŸããã€ãŸããããŒãããããã€ãããããã¡ã€ã«ãæå®ããå¿ èŠããããŸãã
(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| Node UUID | Node Name | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | available | None | |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | available | None | |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | available | None | |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | available | None | |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | available | None | |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
(undercloud) [stack@undercloud ~]$ openstack flavor list
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| 168af640-7f40-42c7-91b2-989abc5c5d8f | swift-storage | 4096 | 40 | 0 | 1 | True |
| 52148d1b-492e-48b4-b5fc-772849dd1b78 | baremetal | 4096 | 40 | 0 | 1 | True |
| 56e66542-ae60-416d-863e-0cb192d01b09 | control | 4096 | 40 | 0 | 1 | True |
| af6796e1-d0c4-4bfe-898c-532be194f7ac | block-storage | 4096 | 40 | 0 | 1 | True |
| e4d50fdd-0034-446b-b72c-9da19b16c2df | compute | 4096 | 40 | 0 | 1 | True |
| fc2e3acf-7fca-4901-9eee-4a4d6ef0265d | ceph-storage | 4096 | 40 | 0 | 1 | True |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
(undercloud) [stack@undercloud ~]$
åããŒãã®ãããã¡ã€ã«ãæå®ããŸãã
openstack baremetal node set --property capabilities='profile:control,boot_option:local' b4b2cf4a-b7ca-4095-af13-cc83be21c4f5
openstack baremetal node set --property capabilities='profile:ceph-storage,boot_option:local' b89a72a3-6bb7-429a-93bc-48393d225838
openstack baremetal node set --property capabilities='profile:ceph-storage,boot_option:local' 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e
openstack baremetal node set --property capabilities='profile:compute,boot_option:local' bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8
openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 766ab623-464c-423d-a529-d9afb69d1167
ãã¹ãŠãæ£ããè¡ãããããšã確èªããŠã¿ãŸãããã
(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| Node UUID | Node Name | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | available | control | |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | available | ceph-storage | |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | available | ceph-storage | |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | available | compute | |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | available | compute | |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
(undercloud) [stack@undercloud ~]$
ãã¹ãŠãæ£ããå Žåã¯ããªãŒããŒã¯ã©ãŠãããããã€ããã³ãã³ããå®è¡ããŸãã
openstack overcloud deploy --templates --control-scale 1 --compute-scale 2 --ceph-storage-scale 2 --control-flavor control --compute-flavor compute --ceph-storage-flavor ceph-storage --libvirt-type qemu
å®éã®ã€ã³ã¹ããŒã«ã§ã¯ãã«ã¹ã¿ãã€ãºããããã³ãã¬ãŒããåœç¶äœ¿çšãããŸããããã®å Žåããã³ãã¬ãŒãå ã®åç·šéã説æããå¿ èŠããããããããã»ã¹ãéåžžã«è€éã«ãªããŸãã åã«æžããããã«ãç°¡åãªã€ã³ã¹ããŒã«ã§ãããããã©ã®ããã«æ©èœãããã確èªããã«ã¯ååã§ãã
泚: ãã®å Žåããã¹ããããä»®æ³åã䜿çšããããã --libvirt-type qemu å€æ°ãå¿ èŠã§ãã ããããªããšãä»®æ³ãã·ã³ãå®è¡ã§ããªããªããŸãã
ããã§ãçŽ XNUMX æéããããã¯ããä»¥äž (ããŒããŠã§ã¢ã®æ©èœã«å¿ããŠ) æéãããããŸãããã®æéãçµéãããã次ã®ã¡ãã»ãŒãžã衚瀺ãããããšãç¥ãã ãã§ãã
2020-08-14 08:39:21Z [overcloud]: CREATE_COMPLETE Stack CREATE completed successfully
Stack overcloud CREATE_COMPLETE
Host 192.168.255.21 not found in /home/stack/.ssh/known_hosts
Started Mistral Workflow tripleo.deployment.v1.get_horizon_url. Execution ID: fcb996cd-6a19-482b-b755-2ca0c08069a9
Overcloud Endpoint: http://192.168.255.21:5000/
Overcloud Horizon Dashboard URL: http://192.168.255.21:80/dashboard
Overcloud rc file: /home/stack/overcloudrc
Overcloud Deployed
(undercloud) [stack@undercloud ~]$
ããã§ãopenstack ã®ã»ãŒå®å šãªããŒãžã§ã³ãå®æããåŠç¿ãå®éšãªã©ãã§ããããã«ãªããŸããã
ãã¹ãŠãæ£ããåäœããŠããããšã確èªããŠã¿ãŸãããã ãŠãŒã¶ãŒã®ããŒã ãã£ã¬ã¯ããªã¹ã¿ãã¯ã«ã¯ XNUMX ã€ã®ãã¡ã€ã«ããããŸããXNUMX ã€ã¯ stackrc (ã¢ã³ããŒã¯ã©ãŠãã®ç®¡ççš)ããã XNUMX ã€ã¯ overcloudrc (ãªãŒããŒã¯ã©ãŠãã®ç®¡ççš) ã§ãã ãããã®ãã¡ã€ã«ã«ã¯èªèšŒã«å¿ èŠãªæ å ±ãå«ãŸããŠããããããœãŒã¹ãšããŠæå®ããå¿ èŠããããŸãã
(undercloud) [stack@undercloud ~]$ openstack server list
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
| fd7d36f4-ce87-4b9a-93b0-add2957792de | overcloud-controller-0 | ACTIVE | ctlplane=192.168.255.15 | overcloud-full | control |
| edc77778-8972-475e-a541-ff40eb944197 | overcloud-novacompute-1 | ACTIVE | ctlplane=192.168.255.26 | overcloud-full | compute |
| 5448ce01-f05f-47ca-950a-ced14892c0d4 | overcloud-cephstorage-1 | ACTIVE | ctlplane=192.168.255.34 | overcloud-full | ceph-storage |
| ce6d862f-4bdf-4ba3-b711-7217915364d7 | overcloud-novacompute-0 | ACTIVE | ctlplane=192.168.255.19 | overcloud-full | compute |
| e4507bd5-6f96-4b12-9cc0-6924709da59e | overcloud-cephstorage-0 | ACTIVE | ctlplane=192.168.255.44 | overcloud-full | ceph-storage |
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
(undercloud) [stack@undercloud ~]$
(undercloud) [stack@undercloud ~]$ source overcloudrc
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$ openstack project list
+----------------------------------+---------+
| ID | Name |
+----------------------------------+---------+
| 4eed7d0f06544625857d51cd77c5bd4c | admin |
| ee1c68758bde41eaa9912c81dc67dad8 | service |
+----------------------------------+---------+
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$
(overcloud) [stack@undercloud ~]$ openstack network agent list
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| 10495de9-ba4b-41fe-b30a-b90ec3f8728b | Open vSwitch agent | overcloud-novacompute-1.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| 1515ad4a-5972-46c3-af5f-e5446dff7ac7 | L3 agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-l3-agent |
| 322e62ca-1e5a-479e-9a96-4f26d09abdd7 | DHCP agent | overcloud-controller-0.localdomain | nova | :-) | UP | neutron-dhcp-agent |
| 9c1de2f9-bac5-400e-998d-4360f04fc533 | Open vSwitch agent | overcloud-novacompute-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| d99c5657-851e-4d3c-bef6-f1e3bb1acfb0 | Open vSwitch agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-openvswitch-agent |
| ff85fae6-5543-45fb-a301-19c57b62d836 | Metadata agent | overcloud-controller-0.localdomain | None | :-) | UP | neutron-metadata-agent |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
(overcloud) [stack@undercloud ~]$
ç§ã®ã€ã³ã¹ããŒã«ã§ã¯ãäœæ¥ããŠãããã·ã³ãå¥ã®ãããã¯ãŒã¯äžã«ãããããã³ã³ãããŒã©ãŒã«ã«ãŒããè¿œå ãããšããå°ããªæäœããŸã å¿ èŠã§ãã ãããè¡ãã«ã¯ãheat-admin ã¢ã«ãŠã³ãã®äžã® control-1 ã«ç§»åããã«ãŒããç»é²ããŸãã
(undercloud) [stack@undercloud ~]$ ssh [email protected]
Last login: Fri Aug 14 09:47:40 2020 from 192.168.255.1
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ip route add 10.169.0.0/16 via 192.168.255.254
ããŠãããã§å°å¹³ç·ãŸã§è¡ããããã«ãªããŸããã ãã¹ãŠã®æ å ± (ã¢ãã¬ã¹ããã°ã€ã³ããã¹ã¯ãŒã) ã¯ãã¡ã€ã« /home/stack/overcloudrc ã«ãããŸãã æçµçãªå³ã¯æ¬¡ã®ããã«ãªããŸãã
ã¡ãªã¿ã«ãç§ãã¡ã®ã€ã³ã¹ããŒã«ã§ã¯ããã·ã³ ã¢ãã¬ã¹ã¯ DHCP çµç±ã§çºè¡ãããŠãããã芧ã®ãšããããã©ã³ãã ãã«çºè¡ãããŸãã å¿
èŠã«å¿ããŠãå±éäžã«ã©ã®ã¢ãã¬ã¹ãã©ã®ãã·ã³ã«ä»å ãããããã³ãã¬ãŒãã§å³å¯ã«å®çŸ©ã§ããŸãã
ä»®æ³ãã·ã³éã®ãã©ãã£ãã¯ã¯ã©ã®ããã«æµããã®ã§ãããã?
ãã®èšäºã§ã¯ããã©ãã£ãã¯ãééãããããã® XNUMX ã€ã®ãªãã·ã§ã³ã«ã€ããŠèª¬æããŸãã
- 2 ã€ã® LXNUMX ãããã¯ãŒã¯äžã® XNUMX ã€ã®ãã€ããŒãã€ã¶ãŒäžã® XNUMX å°ã®ãã·ã³
- åã L2 ãããã¯ãŒã¯äžã®ç°ãªããã€ããŒãã€ã¶ãŒäžã® XNUMX å°ã®ãã·ã³
- ç°ãªããããã¯ãŒã¯äžã® XNUMX å°ã®ãã·ã³ (ã¯ãã¹ãããã¯ãŒã¯ã«ãŒãå)
ãããŒãã£ã³ã° ã¢ãã¬ã¹ãåæ£ã«ãŒãã£ã³ã°ã䜿çšããŠãå€éšãããã¯ãŒã¯ãä»ããŠå€éšã«ã¢ã¯ã»ã¹ããã±ãŒã¹ã«ã€ããŠã¯ã次åæ€èšããŸããä»åã¯å éšãã©ãã£ãã¯ã«çŠç¹ãåœãŠãŸãã
確èªããããã«ã次ã®å³ããŸãšããŠã¿ãŸãããã
4 ã€ã®ä»®æ³ãã·ã³ãäœæããŸããã3 ã€ã® L2 ãããã¯ãŒã¯ net-1 äžã« 1 ã€ãnet-2 ãããã¯ãŒã¯äžã«ããã« XNUMX ã€ã§ãã
(overcloud) [stack@undercloud ~]$ nova list --tenant 5e18ce8ec9594e00b155485f19895e6c
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
| ID | Name | Tenant ID | Status | Task State | Power State | Networks |
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
| f53b37b5-2204-46cc-aef0-dba84bf970c0 | vm-1 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | - | Running | net-1=10.0.1.85 |
| fc8b6722-0231-49b0-b2fa-041115bef34a | vm-2 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | - | Running | net-1=10.0.1.88 |
| 3cd74455-b9b7-467a-abe3-bd6ff765c83c | vm-3 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | - | Running | net-1=10.0.1.90 |
| 7e836338-6772-46b0-9950-f7f06dbe91a8 | vm-4 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | - | Running | net-2=10.0.2.8 |
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
(overcloud) [stack@undercloud ~]$
äœæããããã·ã³ãã©ã®ãã€ããŒãã€ã¶ãŒã«é 眮ãããŠããããèŠãŠã¿ãŸãããã
(overcloud) [stack@undercloud ~]$ nova show f53b37b5-2204-46cc-aef0-dba84bf970c0 | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname | vm-1 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | overcloud-novacompute-0.localdomain |
| OS-EXT-SRV-ATTR:instance_name | instance-00000001 |
(overcloud) [stack@undercloud ~]$ nova show fc8b6722-0231-49b0-b2fa-041115bef34a | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname | vm-2 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | overcloud-novacompute-1.localdomain |
| OS-EXT-SRV-ATTR:instance_name | instance-00000002 |
(overcloud) [stack@undercloud ~]$ nova show 3cd74455-b9b7-467a-abe3-bd6ff765c83c | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname | vm-3 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | overcloud-novacompute-0.localdomain |
| OS-EXT-SRV-ATTR:instance_name | instance-00000003 |
(overcloud) [stack@undercloud ~]$ nova show 7e836338-6772-46b0-9950-f7f06dbe91a8 | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname | vm-4 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | overcloud-novacompute-1.localdomain |
| OS-EXT-SRV-ATTR:instance_name | instance-00000004 |
(ãªãŒããŒã¯ã©ãŠã) [stack@undercloud ~]$
ãã·ã³ vm-1 ãš vm-3 㯠compute-0 ã«é
眮ããããã·ã³ vm-2 ãš vm-4 ã¯ããŒã compute-1 ã«é
眮ãããŸãã
ããã«ãæå®ããããããã¯ãŒã¯éã®ã«ãŒãã£ã³ã°ãå¯èœã«ããä»®æ³ã«ãŒã¿ãŒãäœæãããŸããã
(overcloud) [stack@undercloud ~]$ openstack router list --project 5e18ce8ec9594e00b155485f19895e6c
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
| ID | Name | Status | State | Distributed | HA | Project |
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
| 0a4d2420-4b9c-46bd-aec1-86a1ef299abe | router-1 | ACTIVE | UP | False | False | 5e18ce8ec9594e00b155485f19895e6c |
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
(overcloud) [stack@undercloud ~]$
ã«ãŒã¿ãŒã«ã¯ XNUMX ã€ã®ä»®æ³ããŒããããããããã¯ãŒã¯ã®ã²ãŒããŠã§ã€ãšããŠæ©èœããŸãã
(overcloud) [stack@undercloud ~]$ openstack router show 0a4d2420-4b9c-46bd-aec1-86a1ef299abe | grep interface
| interfaces_info | [{"subnet_id": "2529ad1a-6b97-49cd-8515-cbdcbe5e3daa", "ip_address": "10.0.1.254", "port_id": "0c52b15f-8fcc-4801-bf52-7dacc72a5201"}, {"subnet_id": "335552dd-b35b-456b-9df0-5aac36a3ca13", "ip_address": "10.0.2.254", "port_id": "92fa49b5-5406-499f-ab8d-ddf28cc1a76c"}] |
(overcloud) [stack@undercloud ~]$
ãã ãããã©ãã£ãã¯ãã©ã®ããã«æµãããã確èªããåã«ãå¶åŸ¡ããŒã (ãããã¯ãŒã¯ ããŒãã§ããããŸã) ãšèšç®ããŒãã«çŸåšäœãååšããããèŠãŠã¿ãŸãããã ã³ã³ãã¥ãŒãã£ã³ã° ããŒãããå§ããŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-vsctl show
[heat-admin@overcloud-novacompute-0 ~]$ sudo sudo ovs-appctl dpif/show
system@ovs-system: hit:3 missed:3
br-ex:
br-ex 65534/1: (internal)
phy-br-ex 1/none: (patch: peer=int-br-ex)
br-int:
br-int 65534/2: (internal)
int-br-ex 1/none: (patch: peer=phy-br-ex)
patch-tun 2/none: (patch: peer=patch-int)
br-tun:
br-tun 65534/3: (internal)
patch-int 1/none: (patch: peer=patch-tun)
vxlan-c0a8ff0f 3/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.15)
vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$
çŸæç¹ã§ã¯ãããŒãã«ã¯ br-intãbr-tunãbr-ex ã® XNUMX ã€ã® ovs ããªããžããããŸãã ã芧ã®ãšããããããã®éã«ã¯äžé£ã®ã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã ç解ã容æã«ããããã«ãããããã¹ãŠã®ã€ã³ã¿ãŒãã§ã€ã¹ãå³äžã«ããããããŠãäœãèµ·ããããèŠãŠã¿ãŸãããã
VxLAN ãã³ãã«ãçºçããã¢ãã¬ã¹ãèŠããšã1 ã€ã®ãã³ãã«ã compute-192.168.255.26 (1) ã«çºçãã192.168.255.15 çªç®ã®ãã³ãã«ã control-XNUMX (XNUMX) ã«åããããŠããããšãããããŸãã ããããæãèå³æ·±ãã®ã¯ãbr-ex ã«ã¯ç©çã€ã³ã¿ãŒãã§ã€ã¹ããªããã©ã®ãããªãããŒãèšå®ãããŠããããèŠããšããã®ããªããžã¯çŸæç¹ã§ã¯ãã©ãã£ãã¯ã®ã¿ãããããã§ããããšãããããŸãã
[heat-admin@overcloud-novacompute-0 ~]$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 192.168.255.19 netmask 255.255.255.0 broadcast 192.168.255.255
inet6 fe80::5054:ff:fe6a:eabe prefixlen 64 scopeid 0x20<link>
ether 52:54:00:6a:ea:be txqueuelen 1000 (Ethernet)
RX packets 2909669 bytes 4608201000 (4.2 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1821057 bytes 349198520 (333.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[heat-admin@overcloud-novacompute-0 ~]$
åºåãããããããã«ãã¢ãã¬ã¹ã¯ä»®æ³ããªããž ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªããç©çããŒãã«çŽæ¥åºå®ãããŠããŸãã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-ex
port VLAN MAC Age
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-ex
cookie=0x9169eae8f7fe5bb2, duration=216686.864s, table=0, n_packets=303, n_bytes=26035, priority=2,in_port="phy-br-ex" actions=drop
cookie=0x9169eae8f7fe5bb2, duration=216686.887s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL
[heat-admin@overcloud-novacompute-0 ~]$
æåã®ã«ãŒã«ã«ããã°ãphy-br-ex ããŒãããæ¥ããã®ã¯ãã¹ãŠç Žæ£ãããªããã°ãªããŸããã
å®éã«ã¯ãçŸæç¹ã§ã¯ããã®ã€ã³ã¿ãŒãã§ã€ã¹ (br-int ãšã®ã€ã³ã¿ãŒãã§ã€ã¹) 以å€ã«ãã©ãã£ãã¯ããã®ããªããžã«æµå
¥ããå Žæã¯ãããŸãããããããããå€æãããšãBUM ãã©ãã£ãã¯ã¯ãã§ã«ããªããžã«æµå
¥ããŠããŸãã
ã€ãŸãããã©ãã£ãã¯ã¯ VxLAN ãã³ãã«çµç±ã§ã®ã¿ãã®ããŒãããåºãããšãã§ããä»ã«ã¯äœãééã§ããŸããã ãã ããDVR ããªã³ã«ãããšç¶æ³ã¯å€ãããŸãããããã«ã€ããŠã¯å¥ã®æ©äŒã«èª¬æããŸãã VLAN ãªã©ã®ãããã¯ãŒã¯åé¢ã䜿çšããå ŽåãVLAN 3 ã«ã¯ 0 ã€ã® LXNUMX ã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªããè€æ°ã®ã€ã³ã¿ãŒãã§ã€ã¹ãååšããŸãã ãã ããVxLAN ãã©ãã£ãã¯ã¯åãããã«ããŒãããåºãŸãããããçš®ã®å°çš VLAN ã«ã«ãã»ã«åãããŸãã
ã³ã³ãã¥ãŒãã£ã³ã° ããŒããæŽçããŸãããå¶åŸ¡ããŒãã«ç§»ããŸãããã
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl dpif/show
system@ovs-system: hit:930491 missed:825
br-ex:
br-ex 65534/1: (internal)
eth0 1/2: (system)
phy-br-ex 2/none: (patch: peer=int-br-ex)
br-int:
br-int 65534/3: (internal)
int-br-ex 1/none: (patch: peer=phy-br-ex)
patch-tun 2/none: (patch: peer=patch-int)
br-tun:
br-tun 65534/4: (internal)
patch-int 1/none: (patch: peer=patch-tun)
vxlan-c0a8ff13 3/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.19)
vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$
å®éããã¹ãŠãåãã§ãããšèšããŸãããIP ã¢ãã¬ã¹ã¯ç©çã€ã³ã¿ãŒãã§ã€ã¹ã§ã¯ãªãä»®æ³ããªããžäžã«ãããŸãã ãããè¡ãããã®ã¯ããã®ããŒãããã©ãã£ãã¯ãå€éšã«åºåãããããŒãã§ããããã§ãã
[heat-admin@overcloud-controller-0 ~]$ ifconfig br-ex
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 192.168.255.15 netmask 255.255.255.0 broadcast 192.168.255.255
inet6 fe80::5054:ff:fe20:a22f prefixlen 64 scopeid 0x20<link>
ether 52:54:00:20:a2:2f txqueuelen 1000 (Ethernet)
RX packets 803859 bytes 1732616116 (1.6 GiB)
RX errors 0 dropped 63 overruns 0 frame 0
TX packets 808475 bytes 121652156 (116.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-ex
port VLAN MAC Age
3 100 28:c0:da:00:4d:d3 35
1 0 28:c0:da:00:4d:d3 35
1 0 52:54:00:98:e9:d6 0
LOCAL 0 52:54:00:20:a2:2f 0
1 0 52:54:00:2c:08:9e 0
3 100 52:54:00:20:a2:2f 0
1 0 52:54:00:6a:ea:be 0
[heat-admin@overcloud-controller-0 ~]$
ãã®ããŒã㯠br-ex ããªããžã«é¢é£ä»ããããŠããããã®äžã« vlan ã¿ã°ããªãããããã®ããŒãã¯ãã¹ãŠã® vlan ãèš±å¯ããããã©ã³ã¯ ããŒããšãªãããã©ãã£ãã¯ã¯ã¿ã°ãªãã§å€éšã«éä¿¡ãããŸããããã¯ãäžèšã®åºåã
çŸæç¹ã§ã¯ãä»ã®ãã¹ãŠã¯èšç®ããŒããšåæ§ã§ããåãããªããžãåããã³ãã«ã XNUMX ã€ã®èšç®ããŒãã«æ¥ç¶ãããŠããŸãã
ãã®èšäºã§ã¯ã¹ãã¬ãŒãž ããŒãã«ã€ããŠã¯èæ ®ããŸããããç解ããã«ã¯ããããã®ããŒãã®ãããã¯ãŒã¯éšåã¯æ¥ãã¹ãã»ã©å¹³å¡ã§ãããšèšãå¿ èŠããããŸãã ãã®äŸã§ã¯ãIP ã¢ãã¬ã¹ãå²ãåœãŠãããç©çããŒã (eth0) ã XNUMX ã€ã ããããŸãã VxLAN ãã³ãã«ããã³ãã« ããªããžãªã©ã¯ãããŸãããov ã«ã¯æå³ããªãã®ã§ãov ããŸã£ãããããŸããã ãããã¯ãŒã¯åé¢ã䜿çšããå Žåããã®ããŒãã«ã¯ XNUMX ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ (ç©çããŒããbodnyããŸã㯠XNUMX ã€ã® VLAN ã ã - ããã¯åé¡ã§ã¯ãããŸãã - å¿ èŠãªãã®ã«ãã£ãŠç°ãªããŸã) ããããXNUMX ã€ã¯ç®¡ççšãXNUMX ã€ç®ã¯ãã©ãã£ãã¯çš (VM ãã£ã¹ã¯ãžã®æžã蟌ã¿) ããã£ã¹ã¯ããã®èªã¿åããªã©ïŒ
ãµãŒãã¹ãååšããªãå Žåã«ããŒãäžã«äœãããããææ¡ããŸããã 次ã«ã4 ã€ã®ä»®æ³ãã·ã³ãèµ·åããŠãäžèšã®ã¹ããŒã ãã©ã®ããã«å€åããããèŠãŠã¿ãŸããããããŒããä»®æ³ã«ãŒã¿ãŒãªã©ãååšããã¯ãã§ãã
ãããŸã§ã®ãšããããããã¯ãŒã¯ã¯æ¬¡ã®ããã«ãªããŸãã
åã³ã³ãã¥ãŒã¿ãŒ ããŒãã«ã¯ 0 ã€ã®ä»®æ³ãã·ã³ããããŸãã compute-XNUMX ãäŸãšããŠäœ¿çšããŠããã¹ãŠãã©ã®ããã«å«ãŸããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh list
Id Name State
----------------------------------------------------
1 instance-00000001 running
3 instance-00000003 running
[heat-admin@overcloud-novacompute-0 ~]$
ãã·ã³ã«ã¯ä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹ã 95 ã€ã ããããŸã (tap96d75a0-aXNUMX)ã
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface Type Source Model MAC
-------------------------------------------------------
tap95d96a75-a0 bridge qbr95d96a75-a0 virtio fa:16:3e:44:98:20
[heat-admin@overcloud-novacompute-0 ~]$
ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯ Linux ããªããžå ã調ã¹ãŸãã
[heat-admin@overcloud-novacompute-0 ~]$ sudo brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242904c92a8 no
qbr5bd37136-47 8000.5e4e05841423 no qvb5bd37136-47
tap5bd37136-47
qbr95d96a75-a0 8000.de076cb850f6 no qvb95d96a75-a0
tap95d96a75-a0
[heat-admin@overcloud-novacompute-0 ~]$
åºåãããããããã«ãããªããžã«ã¯ 95 ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ (tap96d75a0-a95 ãš qvb96d75a0-aXNUMX) ã®ã¿ããããŸãã
ããã§ãOpenStack ã®ä»®æ³ãããã¯ãŒã¯ ããã€ã¹ã®çš®é¡ã«ã€ããŠå°ã詳ãã説æããŸãã
vtap - ã€ã³ã¹ã¿ã³ã¹ (VM) ã«æ¥ç¶ãããä»®æ³ã€ã³ã¿ãŒãã§ã€ã¹
qbr - Linux ããªããž
qvb ãš qvo - Linux ããªããžãš Open vSwitch ããªããžã«æ¥ç¶ããã vEth ãã¢
br-intãbr-tunãbr-vlan â ãªãŒãã³ vSwitch ããªããž
patch-ãint-br-ãphy-br- - ããªããžãæ¥ç¶ãã Open vSwitch ããã ã€ã³ã¿ãŒãã§ã€ã¹
qgãqrãhaãfgãsg - OVS ã«æ¥ç¶ããããã«ä»®æ³ããã€ã¹ã䜿çšãã vSwitch ããŒããéããŸãã
ãåç¥ã®ãšãããããªããžã« vEth ãã¢ã§ãã qvb95d96a75-a0 ããŒããããå Žåãã©ããã«å¯Ÿå¿ããããŒãããããè«ççã«ã¯ qvo95d96a75-a0 ãšåŒã°ããã¯ãã§ãã OVS ã«ã©ã®ãããªããŒããããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo sudo ovs-appctl dpif/show
system@ovs-system: hit:526 missed:91
br-ex:
br-ex 65534/1: (internal)
phy-br-ex 1/none: (patch: peer=int-br-ex)
br-int:
br-int 65534/2: (internal)
int-br-ex 1/none: (patch: peer=phy-br-ex)
patch-tun 2/none: (patch: peer=patch-int)
qvo5bd37136-47 6/6: (system)
qvo95d96a75-a0 3/5: (system)
br-tun:
br-tun 65534/3: (internal)
patch-int 1/none: (patch: peer=patch-tun)
vxlan-c0a8ff0f 3/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.15)
vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$
èŠãŠãããããã«ãããŒã㯠br-int ã«ãããŸãã Br-int ã¯ãä»®æ³ãã·ã³ã®ããŒããçµäºããã¹ã€ãããšããŠæ©èœããŸãã qvo95d96a75-a0 ã«å ããŠãããŒã qvo5bd37136-47 ãåºåã«è¡šç€ºãããŸãã ãã㯠XNUMX çªç®ã®ä»®æ³ãã·ã³ãžã®ããŒãã§ãã ãã®çµæãå³ã¯æ¬¡ã®ããã«ãªããŸãã
泚ææ·±ãèªè
ãªãããã«èå³ãæã€ã¯ãã®è³ªå - ä»®æ³ãã·ã³ ããŒããš OVS ããŒãéã® Linux ããªããžãšã¯äœã§ãã? å®éã«ã¯ããã·ã³ãä¿è·ããããã«ã»ãã¥ãªã㣠ã°ã«ãŒãã䜿çšãããŸããããã㯠iptables ã«ä»ãªããŸããã OVS 㯠iptables ã§ã¯åäœããªãããããã®ãæŸèæããçºæãããŸããã ãã ããããã¯å»æ¢ããã€ã€ãããæ°ãããªãªãŒã¹ã§ã¯ conntrack ã«çœ®ãæããããŠããŸãã
ã€ãŸããæçµçã«ã¹ããŒã ã¯æ¬¡ã®ããã«ãªããŸãã
2 ã€ã® LXNUMX ãããã¯ãŒã¯äžã® XNUMX ã€ã®ãã€ããŒãã€ã¶ãŒäžã® XNUMX å°ã®ãã·ã³
ããã 2 ã€ã® VM ã¯åã LXNUMX ãããã¯ãŒã¯ããã³åããã€ããŒãã€ã¶ãŒäžã«é 眮ãããŠãããäž¡æ¹ã®ãã·ã³ãåã VLAN äžã«ããããããããã®éã®ãã©ãã£ãã¯ã¯è«ççã« br-int ãä»ããŠããŒã«ã«ã«æµããŸãã
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface Type Source Model MAC
-------------------------------------------------------
tap95d96a75-a0 bridge qbr95d96a75-a0 virtio fa:16:3e:44:98:20
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000003
Interface Type Source Model MAC
-------------------------------------------------------
tap5bd37136-47 bridge qbr5bd37136-47 virtio fa:16:3e:83:ad:a4
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int
port VLAN MAC Age
6 1 fa:16:3e:83:ad:a4 0
3 1 fa:16:3e:44:98:20 0
[heat-admin@overcloud-novacompute-0 ~]$
åã L2 ãããã¯ãŒã¯äžã®ç°ãªããã€ããŒãã€ã¶ãŒäžã® XNUMX å°ã®ãã·ã³
次ã«ãåã L2 ãããã¯ãŒã¯äžã«ãããç°ãªããã€ããŒãã€ã¶ãŒäžã«ãã XNUMX ã€ã®ãã·ã³éã§ãã©ãã£ãã¯ãã©ã®ããã«æµããããèŠãŠã¿ãŸãããã æ£çŽã«èšããšããã€ããŒãã€ã¶ãŒéã®ãã©ãã£ãã¯ã vxlan ãã³ãã«ãééããã ãã§ã倧ããªå€åã¯ãããŸããã äŸãèŠãŠã¿ãŸãããã
ãã©ãã£ãã¯ãç£èŠããä»®æ³ãã·ã³ã®ã¢ãã¬ã¹:
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface Type Source Model MAC
-------------------------------------------------------
tap95d96a75-a0 bridge qbr95d96a75-a0 virtio fa:16:3e:44:98:20
[heat-admin@overcloud-novacompute-0 ~]$
[heat-admin@overcloud-novacompute-1 ~]$ sudo virsh domiflist instance-00000002
Interface Type Source Model MAC
-------------------------------------------------------
tape7e23f1b-07 bridge qbre7e23f1b-07 virtio fa:16:3e:72:ad:53
[heat-admin@overcloud-novacompute-1 ~]$
compute-0 äžã® br-int ã®è»¢éããŒãã«ã確èªããŸãã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:72:ad:53
2 1 fa:16:3e:72:ad:53 1
[heat-admin@overcloud-novacompute-0 ~]
ãã©ãã£ãã¯ã¯ããŒã 2 ã«éä¿¡ãããå¿ èŠããããŸããããŒãã®çš®é¡ãèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-int | grep addr
1(int-br-ex): addr:7e:7f:28:1f:bd:54
2(patch-tun): addr:0a:bd:07:69:58:d9
3(qvo95d96a75-a0): addr:ea:50:9a:3d:69:58
6(qvo5bd37136-47): addr:9a:d1:03:50:3d:96
LOCAL(br-int): addr:1a:0f:53:97:b1:49
[heat-admin@overcloud-novacompute-0 ~]$
ãã㯠patch-tunãã€ãŸã br-tun ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§ãã br-tun äžã®ããã±ãŒãžã«äœãèµ·ããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:72:ad:53
cookie=0x8759a56536b67a8e, duration=1387.959s, table=20, n_packets=1460, n_bytes=138880, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:72:ad:53 actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:2
[heat-admin@overcloud-novacompute-0 ~]$
ãã±ãã㯠VxLAN ã«ããã±ãŒãžåãããããŒã 2 ã«éä¿¡ãããŸããããŒã 2 ãã©ãã«åããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
1(patch-int): addr:b2:d1:f8:21:96:66
2(vxlan-c0a8ff1a): addr:be:64:1f:75:78:a7
3(vxlan-c0a8ff0f): addr:76:6f:b9:3c:3f:1c
LOCAL(br-tun): addr:a2:5b:6d:4f:94:47
[heat-admin@overcloud-novacompute-0 ~]$
ããã¯ãcompute-1 äžã® vxlan ãã³ãã«ã§ãã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl dpif/show | egrep vxlan-c0a8ff1a
vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$
compute-1 ã«ç§»åããŠãããã±ãŒãžã§æ¬¡ã«äœãèµ·ããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:44:98:20
2 1 fa:16:3e:44:98:20 1
[heat-admin@overcloud-novacompute-1 ~]$
Mac 㯠compute-1 ã® br-int 転éããŒãã«ã«ãããäžèšã®åºåãããããããã«ãbr-tun ãžã®ããŒãã§ããããŒã 2 ãä»ããŠèªèãããŸãã
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-ofctl show br-int | grep addr
1(int-br-ex): addr:8a:d7:f9:ad:8c:1d
2(patch-tun): addr:46:cc:40:bd:20:da
3(qvoe7e23f1b-07): addr:12:78:2e:34:6a:c7
4(qvo3210e8ec-c0): addr:7a:5f:59:75:40:85
LOCAL(br-int): addr:e2:27:b2:ed:14:46
ããŠãcompute-1 ã® br-int ã«å®å ãããŒãããããšãããããŸãã
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:72:ad:53
3 1 fa:16:3e:72:ad:53 0
[heat-admin@overcloud-novacompute-1 ~]$
ã€ãŸããåä¿¡ãããã±ããã¯ããŒã 3 ã«éä¿¡ããããã®åŸãã«ã¯ãã§ã«ä»®æ³ãã·ã³ ã€ã³ã¹ã¿ã³ã¹-00000003 ãååšããŸãã
ä»®æ³ã€ã³ãã©ã¹ãã©ã¯ãã£äžã§åŠç¿ããããã« Openstack ããããã€ããå©ç¹ã¯ããã€ããŒãã€ã¶ãŒéã®ãã©ãã£ãã¯ãç°¡åã«ãã£ããã£ããŠãããã§äœãèµ·ãã£ãŠãããã確èªã§ããããšã§ãã ãããããããè¡ãããšã§ããcompute-0 ã«åã㊠vnet ããŒã㧠tcpdump ãå®è¡ããŸãã
[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet3
tcpdump: listening on vnet3, link-type EN10MB (Ethernet), capture size 262144 bytes
*****************omitted*******************
04:39:04.583459 IP (tos 0x0, ttl 64, id 16868, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.19.39096 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 8012, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.1.85 > 10.0.1.88: ICMP echo request, id 5634, seq 16, length 64
04:39:04.584449 IP (tos 0x0, ttl 64, id 35181, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.26.speedtrace-disc > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 59124, offset 0, flags [none], proto ICMP (1), length 84)
10.0.1.88 > 10.0.1.85: ICMP echo reply, id 5634, seq 16, length 64
*****************omitted*******************
æåã®è¡ã¯ãã¢ãã¬ã¹ 10.0.1.85 ã® Patek ãã¢ãã¬ã¹ 10.0.1.88 (ICMP ãã©ãã£ãã¯) ã«éä¿¡ãããvni 22 ã® VxLAN ãã±ããã«ã©ããããããã±ããããã¹ã 192.168.255.19 (compute-0) ãããã¹ã 192.168.255.26 ã«éä¿¡ãããããšã瀺ããŠããŸãã .1 (èšç®-XNUMX)ã VNI ã ovs ã§æå®ããããã®ãšäžèŽããããšã確èªã§ããŸãã
ãã®è¡ãactions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:2 ã«æ»ããŸãããã 0x16 㯠16 é²æ°äœç³»ã® vni ã§ãã ãã®æ°å€ã 10 é²æ³ã«å€æããŠã¿ãŸãããã
16 = 6*16^0+1*16^1 = 6+16 = 22
ã€ãŸããvni ã¯çŸå®ã«å¯Ÿå¿ããŸãã
XNUMX è¡ç®ã¯ãªã¿ãŒã³ ãã©ãã£ãã¯ã瀺ããŠããŸãããŸãã説æããå¿ èŠã¯ãããŸãããããã§ãã¹ãŠãæããã§ãã
ç°ãªããããã¯ãŒã¯äžã® XNUMX å°ã®ãã·ã³ (ãããã¯ãŒã¯éã«ãŒãã£ã³ã°)
ä»æ¥ã®æåŸã®ã±ãŒã¹ã¯ãä»®æ³ã«ãŒã¿ãŒã䜿çšãã XNUMX ã€ã®ãããžã§ã¯ãå ã®ãããã¯ãŒã¯éã®ã«ãŒãã£ã³ã°ã§ãã DVR ã®ãªãã±ãŒã¹ãæ€èšããŠããŸã (ããã«ã€ããŠã¯å¥ã®èšäºã§èª¬æããŸã)ããã®ãããã«ãŒãã£ã³ã°ã¯ãããã¯ãŒã¯ ããŒãã§çºçããŸãã ãã®å Žåããããã¯ãŒã¯ ããŒãã¯å¥åã®ãšã³ãã£ãã£ã«é 眮ããããå¶åŸ¡ããŒãäžã«é 眮ãããŸãã
ãŸããã«ãŒãã£ã³ã°ãæ©èœããããšã確èªããŠã¿ãŸãããã
$ ping 10.0.2.8
PING 10.0.2.8 (10.0.2.8): 56 data bytes
64 bytes from 10.0.2.8: seq=0 ttl=63 time=7.727 ms
64 bytes from 10.0.2.8: seq=1 ttl=63 time=3.832 ms
^C
--- 10.0.2.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 3.832/5.779/7.727 ms
ãã®å Žåããã±ããã¯ã²ãŒããŠã§ã€ã«éä¿¡ãããããã§ã«ãŒãã£ã³ã°ãããå¿ èŠããããããã²ãŒããŠã§ã€ã®ãã㌠ã¢ãã¬ã¹ãèŠã€ããå¿ èŠããããã€ã³ã¹ã¿ã³ã¹å ã® ARP ããŒãã«ã調ã¹ãŸãã
$ arp
host-10-0-1-254.openstacklocal (10.0.1.254) at fa:16:3e:c4:64:70 [ether] on eth0
host-10-0-1-1.openstacklocal (10.0.1.1) at fa:16:3e:e6:2c:5c [ether] on eth0
host-10-0-1-90.openstacklocal (10.0.1.90) at fa:16:3e:83:ad:a4 [ether] on eth0
host-10-0-1-88.openstacklocal (10.0.1.88) at fa:16:3e:72:ad:53 [ether] on eth0
次ã«ãå®å (10.0.1.254) fa:16:3e:c4:64:70 ã®ãã©ãã£ãã¯ãã©ãã«éä¿¡ãããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:c4:64:70
2 1 fa:16:3e:c4:64:70 0
[heat-admin@overcloud-novacompute-0 ~]$
ããŒã 2 ãã©ãã«ã€ãªãã£ãŠããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-int | grep addr
1(int-br-ex): addr:7e:7f:28:1f:bd:54
2(patch-tun): addr:0a:bd:07:69:58:d9
3(qvo95d96a75-a0): addr:ea:50:9a:3d:69:58
6(qvo5bd37136-47): addr:9a:d1:03:50:3d:96
LOCAL(br-int): addr:1a:0f:53:97:b1:49
[heat-admin@overcloud-novacompute-0 ~]$
ãã¹ãŠãè«ççã§ããã©ãã£ãã¯ã¯ br-tun ã«éãããŸãã ã©ã® vxlan ãã³ãã«ã«ã©ãããããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:c4:64:70
cookie=0x8759a56536b67a8e, duration=3514.566s, table=20, n_packets=3368, n_bytes=317072, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:c4:64:70 actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:3
[heat-admin@overcloud-novacompute-0 ~]$
XNUMX çªç®ã®ããŒã㯠vxlan ãã³ãã«ã§ãã
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
1(patch-int): addr:a2:69:00:c5:fa:ba
2(vxlan-c0a8ff1a): addr:86:f0:ce:d0:e8:ea
3(vxlan-c0a8ff13): addr:72:aa:73:2c:2e:5b
LOCAL(br-tun): addr:a6:cb:cd:72:1c:45
[heat-admin@overcloud-controller-0 ~]$
ããã¯å¶åŸ¡ããŒãã調ã¹ãŸãã
[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$
ãã©ãã£ãã¯ã¯å¶åŸ¡ããŒãã«å°éããã®ã§ãããã«è¡ããã«ãŒãã£ã³ã°ãã©ã®ããã«è¡ããããã確èªããå¿ èŠããããŸãã
èŠããŠãããšãããå éšã®å¶åŸ¡ããŒãã¯èšç®ããŒããšãŸã£ããåãã«èŠããŸãããåã XNUMX ã€ã®ããªããžã§ãããŒããå€éšã«ãã©ãã£ãã¯ãéä¿¡ã§ããç©çããŒããæã£ãŠããã®ã¯ br-ex ã ãã§ããã ã€ã³ã¹ã¿ã³ã¹ã®äœæã«ãããã³ã³ãã¥ãŒãã£ã³ã° ããŒãã®æ§æãå€æŽãããLinux ããªããžãiptablesãããã³ã€ã³ã¿ãŒãã§ã€ã¹ãããŒãã«è¿œå ãããŸããã ãããã¯ãŒã¯ãšä»®æ³ã«ãŒã¿ãŒã®äœæããå¶åŸ¡ããŒãã®æ§æã«åœ±é¿ãäžããŸããã
ãããã£ãŠãã²ãŒããŠã§ã€ MAC ã¢ãã¬ã¹ãå¶åŸ¡ããŒãäžã® br-int 転éããŒãã«ã«ååšããå¿ èŠãããããšã¯æããã§ãã ãããååšããã©ããæ¢ããŠãããã確èªããŠã¿ãŸãããã
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:c4:64:70
5 1 fa:16:3e:c4:64:70 1
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-int | grep addr
1(int-br-ex): addr:2e:58:b6:db:d5:de
2(patch-tun): addr:06:41:90:f0:9e:56
3(tapca25a97e-64): addr:fa:16:3e:e6:2c:5c
4(tap22015e46-0b): addr:fa:16:3e:76:c2:11
5(qr-0c52b15f-8f): addr:fa:16:3e:c4:64:70
6(qr-92fa49b5-54): addr:fa:16:3e:80:13:72
LOCAL(br-int): addr:06:de:5d:ed:44:44
[heat-admin@overcloud-controller-0 ~]$
Mac ã¯ããŒã qr-0c52b15f-8f ãã衚瀺ãããŸãã Openstack ã®ä»®æ³ããŒãã®ãªã¹ãã«æ»ããšããã®ã¿ã€ãã®ããŒãã¯ããŸããŸãªä»®æ³ããã€ã¹ã OVS ã«æ¥ç¶ããããã«äœ¿çšãããŸãã ããæ£ç¢ºã«ã¯ãqr ã¯ä»®æ³ã«ãŒã¿ãŒãžã®ããŒãã§ãããåå空éãšããŠè¡šãããŸãã
ãµãŒããŒäžã«ã©ã®ãããªåå空éãããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns
qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe (id: 2)
qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 (id: 1)
qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 (id: 0)
[heat-admin@overcloud-controller-0 ~]$
0éšãŸã§ã ããããååããå€æãããšãããããã®ç®çãæšæž¬ã§ããŸãã åŸã§ ID 1 ãš 0 ã®ã€ã³ã¹ã¿ã³ã¹ã«æ»ããŸãããããã§ã¯åå空é qrouter-4a2420d4-9b46c-1bd-aec86-1a299efXNUMXabe ã«èå³ããããŸãã
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ip route
10.0.1.0/24 dev qr-0c52b15f-8f proto kernel scope link src 10.0.1.254
10.0.2.0/24 dev qr-92fa49b5-54 proto kernel scope link src 10.0.2.254
[heat-admin@overcloud-controller-0 ~]$
ãã®åå空éã«ã¯ã以åã«äœæãã 0 ã€ã®å éšåå空éãå«ãŸããŠããŸãã äž¡æ¹ã®ä»®æ³ããŒãã br-int ã«è¿œå ãããŸããã å®å MAC ã¢ãã¬ã¹ããå€æãããšããã©ãã£ãã¯ã¯ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã«éä¿¡ããããããããŒã qr-52c15b8f-XNUMXf ã® MAC ã¢ãã¬ã¹ã確èªããŠã¿ãŸãããã
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ifconfig qr-0c52b15f-8f
qr-0c52b15f-8f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 10.0.1.254 netmask 255.255.255.0 broadcast 10.0.1.255
inet6 fe80::f816:3eff:fec4:6470 prefixlen 64 scopeid 0x20<link>
ether fa:16:3e:c4:64:70 txqueuelen 1000 (Ethernet)
RX packets 5356 bytes 427305 (417.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5195 bytes 490603 (479.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[heat-admin@overcloud-controller-0 ~]$
ã€ãŸãããã®å Žåããã¹ãŠãæšæºã«ãŒãã£ã³ã°ã®æ³åã«åŸã£ãŠæ©èœããŸãã ãã©ãã£ãã¯ã¯ãã¹ã 10.0.2.8 å®ãŠã§ããããã92 çªç®ã®ã€ã³ã¿ãŒãã§ã€ã¹ qr-49fa5b54-XNUMX ãéã£ãŠåºãŠãvxlan ãã³ãã«ãéã£ãŠã³ã³ãã¥ãŒãã£ã³ã° ããŒãã«å°éããå¿ èŠããããŸãã
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe arp
Address HWtype HWaddress Flags Mask Iface
10.0.1.88 ether fa:16:3e:72:ad:53 C qr-0c52b15f-8f
10.0.1.90 ether fa:16:3e:83:ad:a4 C qr-0c52b15f-8f
10.0.2.8 ether fa:16:3e:6c:ad:9c C qr-92fa49b5-54
10.0.2.42 ether fa:16:3e:f5:0b:29 C qr-92fa49b5-54
10.0.1.85 ether fa:16:3e:44:98:20 C qr-0c52b15f-8f
[heat-admin@overcloud-controller-0 ~]$
ãã¹ãŠã¯è«ççã§ãããé©ãã¹ãããšã§ã¯ãããŸããã ãã¹ã 10.0.2.8 ã®ãã㌠ã¢ãã¬ã¹ã br-int ã®ã©ãã«è¡šç€ºãããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:6c:ad:9c
2 2 fa:16:3e:6c:ad:9c 1
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-int | grep addr
1(int-br-ex): addr:2e:58:b6:db:d5:de
2(patch-tun): addr:06:41:90:f0:9e:56
3(tapca25a97e-64): addr:fa:16:3e:e6:2c:5c
4(tap22015e46-0b): addr:fa:16:3e:76:c2:11
5(qr-0c52b15f-8f): addr:fa:16:3e:c4:64:70
6(qr-92fa49b5-54): addr:fa:16:3e:80:13:72
LOCAL(br-int): addr:06:de:5d:ed:44:44
[heat-admin@overcloud-controller-0 ~]$
äºæ³ã©ããããã©ãã£ãã¯ã¯ br-tun ã«éä¿¡ãããŸãããã©ãã£ãã¯ã次ã«ã©ã®ãã³ãã«ã«éä¿¡ãããããèŠãŠã¿ãŸãããã
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:6c:ad:9c
cookie=0x2ab04bf27114410e, duration=5346.829s, table=20, n_packets=5248, n_bytes=498512, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0002/0x0fff,dl_dst=fa:16:3e:6c:ad:9c actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
1(patch-int): addr:a2:69:00:c5:fa:ba
2(vxlan-c0a8ff1a): addr:86:f0:ce:d0:e8:ea
3(vxlan-c0a8ff13): addr:72:aa:73:2c:2e:5b
LOCAL(br-tun): addr:a6:cb:cd:72:1c:45
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$
ãã©ãã£ãã¯ã¯ãã³ãã«ã«å ¥ããcompute-1 ã«å°éããŸãã ããŠãcompute-1 ã§ã¯ãã¹ãŠãåçŽã§ããããã±ãŒãžã¯ br-tun ãã br-int ã«é²ã¿ãããããä»®æ³ãã·ã³ ã€ã³ã¿ãŒãã§ã€ã¹ã«é²ã¿ãŸãã
[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:6c:ad:9c
4 2 fa:16:3e:6c:ad:9c 1
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-ofctl show br-int | grep addr
1(int-br-ex): addr:8a:d7:f9:ad:8c:1d
2(patch-tun): addr:46:cc:40:bd:20:da
3(qvoe7e23f1b-07): addr:12:78:2e:34:6a:c7
4(qvo3210e8ec-c0): addr:7a:5f:59:75:40:85
LOCAL(br-int): addr:e2:27:b2:ed:14:46
[heat-admin@overcloud-novacompute-1 ~]$
ãããæ¬åœã«æ£ããã€ã³ã¿ãŒãã§ãŒã¹ã§ããããšã確èªããŠã¿ãŸãããã
[heat-admin@overcloud-novacompute-1 ~]$ brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.02429c001e1c no
qbr3210e8ec-c0 8000.ea27f45358be no qvb3210e8ec-c0
tap3210e8ec-c0
qbre7e23f1b-07 8000.b26ac0eded8a no qvbe7e23f1b-07
tape7e23f1b-07
[heat-admin@overcloud-novacompute-1 ~]$
[heat-admin@overcloud-novacompute-1 ~]$ sudo virsh domiflist instance-00000004
Interface Type Source Model MAC
-------------------------------------------------------
tap3210e8ec-c0 bridge qbr3210e8ec-c0 virtio fa:16:3e:6c:ad:9c
[heat-admin@overcloud-novacompute-1 ~]$
å®éãç§ãã¡ã¯ããã±ãŒãžãé
ã
ãŸã§èª¿ã¹ãŸããã ãã©ãã£ãã¯ãç°ãªã vxlan ãã³ãã«ãééããç°ãªã VNI ã§çµäºããããšã«æ°ã¥ãããšæããŸãã ããããã©ã®ãã㪠VNI ã§ããããèŠãŠã¿ãŸãããããã®åŸãããŒãã®å¶åŸ¡ããŒãã§ãã³ããåéãããã©ãã£ãã¯ãäžã§èª¬æãããšããã«æ£ç¢ºã«æµããããšã確èªããŸãã
ãããã£ãŠãcompute-0 ãžã®ãã³ãã«ã«ã¯ãactions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:3 ããããŸãã 0x16 ã XNUMX é²æ°ã«å€æããŠã¿ãŸãããã
0x16 = 6*16^0+1*16^1 = 6+16 = 22
compute-1 ãžã®ãã³ãã«ã«ã¯ã次㮠VNI:actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2 ããããŸãã 0x63 ã XNUMX é²æ°ã«å€æããŠã¿ãŸãããã
0x63 = 3*16^0+6*16^1 = 3+96 = 99
ããŠããã³ããèŠãŠã¿ãŸããã:
[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet4
tcpdump: listening on vnet4, link-type EN10MB (Ethernet), capture size 262144 bytes
*****************omitted*******************
04:35:18.709949 IP (tos 0x0, ttl 64, id 48650, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.19.41591 > 192.168.255.15.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 49042, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.1.85 > 10.0.2.8: ICMP echo request, id 5378, seq 9, length 64
04:35:18.710159 IP (tos 0x0, ttl 64, id 23360, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.15.38983 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 99
IP (tos 0x0, ttl 63, id 49042, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.1.85 > 10.0.2.8: ICMP echo request, id 5378, seq 9, length 64
04:35:18.711292 IP (tos 0x0, ttl 64, id 43596, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.26.42588 > 192.168.255.15.4789: [no cksum] VXLAN, flags [I] (0x08), vni 99
IP (tos 0x0, ttl 64, id 55103, offset 0, flags [none], proto ICMP (1), length 84)
10.0.2.8 > 10.0.1.85: ICMP echo reply, id 5378, seq 9, length 64
04:35:18.711531 IP (tos 0x0, ttl 64, id 8555, offset 0, flags [DF], proto UDP (17), length 134)
192.168.255.15.38983 > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 63, id 55103, offset 0, flags [none], proto ICMP (1), length 84)
10.0.2.8 > 10.0.1.85: ICMP echo reply, id 5378, seq 9, length 64
*****************omitted*******************
æåã®ãã±ããã¯ãvni 192.168.255.19 ã䜿çšãããã¹ã 0 (compute-192.168.255.15) ãããã¹ã 1 (control-22) ãžã® vxlan ãã±ããã§ããã®äžã«ã¯ãã¹ã 10.0.1.85 ãããã¹ã 10.0.2.8 ãžã® ICMP ãã±ãããããã±ãŒãžåãããŠããŸãã äžèšã§èšç®ããããã«ãvni ã¯åºåã«è¡šç€ºããããã®ãšäžèŽããŸãã
192.168.255.15 çªç®ã®ãã±ããã¯ãvni 1 ã䜿çšãããã¹ã 192.168.255.26 (control-1) ãããã¹ã 99 (compute-10.0.1.85) ãžã® vxlan ãã±ããã§ããã®äžã«ã¯ãã¹ã 10.0.2.8 ãããã¹ã XNUMX ãžã® ICMP ãã±ãããããã±ãŒãžåãããŠããŸãã äžèšã§èšç®ããããã«ãvni ã¯åºåã«è¡šç€ºããããã®ãšäžèŽããŸãã
次㮠10.0.2.8 ã€ã®ãã±ããã¯ã10.0.1.85 ã§ã¯ãªã XNUMX ããã®ãªã¿ãŒã³ ãã©ãã£ãã¯ã§ãã
ã€ãŸããæçµçã«æ¬¡ã®å¶åŸ¡ããŒã ã¹ããŒã ãåŸãããŸããã
ããã ãã®ããã§ããïŒ XNUMX ã€ã®åå空éãå¿ããŠããŸããã
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns
qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe (id: 2)
qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 (id: 1)
qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 (id: 0)
[heat-admin@overcloud-controller-0 ~]$
ã¯ã©ãŠã ãã©ãããã©ãŒã ã®ã¢ãŒããã¯ãã£ã«ã€ããŠèª¬æããããã«ããã·ã³ã DHCP ãµãŒããŒããã¢ãã¬ã¹ãèªåçã«åä¿¡ã§ããã°è¯ãã§ãããã ãããã¯ã10.0.1.0 ã€ã®ãããã¯ãŒã¯ 24/10.0.2.0 ããã³ 24/XNUMX çšã® XNUMX ã€ã® DHCP ãµãŒããŒã§ãã
ãããæ¬åœãã©ããã確èªããŠã¿ãŸãããã ãã®åå空éã«ã¯ã¢ãã¬ã¹ 10.0.1.1 ã XNUMX ã€ã ããããŸãããã㯠DHCP ãµãŒããŒèªäœã®ã¢ãã¬ã¹ã§ãããbr-int ã«ãå«ãŸããŠããŸãã
[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1 bytes 28 (28.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1 bytes 28 (28.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tapca25a97e-64: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255
inet6 fe80::f816:3eff:fee6:2c5c prefixlen 64 scopeid 0x20<link>
ether fa:16:3e:e6:2c:5c txqueuelen 1000 (Ethernet)
RX packets 129 bytes 9372 (9.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 49 bytes 6154 (6.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ååã« qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 ãå«ãããã»ã¹ãå¶åŸ¡ããŒãäžã«ãããã©ããã確èªããŠã¿ãŸãããã
[heat-admin@overcloud-controller-0 ~]$ ps -aux | egrep qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638
root 640420 0.0 0.0 4220 348 ? Ss 11:31 0:00 dumb-init --single-child -- ip netns exec qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 /usr/sbin/dnsmasq -k --no-hosts --no-resolv --pid-file=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/host --addn-hosts=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/opts --dhcp-leasefile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/leases --dhcp-match=set:ipxe,175 --local-service --bind-dynamic --dhcp-range=set:subnet-335552dd-b35b-456b-9df0-5aac36a3ca13,10.0.2.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
heat-ad+ 951620 0.0 0.0 112944 980 pts/0 S+ 18:50 0:00 grep -E --color=auto qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638
[heat-admin@overcloud-controller-0 ~]$
ãã®ãããªããã»ã¹ããããäžèšã®åºåã«è¡šç€ºãããæ å ±ã«åºã¥ããŠãããšãã°çŸåšã¬ã³ã¿ã«ããŠãããã®ã確èªã§ããŸãã
[heat-admin@overcloud-controller-0 ~]$ cat /var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/leases
1597492111 fa:16:3e:6c:ad:9c 10.0.2.8 host-10-0-2-8 01:fa:16:3e:6c:ad:9c
1597491115 fa:16:3e:76:c2:11 10.0.2.1 host-10-0-2-1 *
[heat-admin@overcloud-controller-0 ~]$
ãã®çµæãå¶åŸ¡ããŒãäžã«æ¬¡ã®ãµãŒãã¹ã®ã»ãããåŸãããŸãã
èŠããŠãããŠãã ãã - ãã㯠4 å°ã®ãã·ã³ã2 ã€ã®å
éšãããã¯ãŒã¯ãããã³ 3 ã€ã®ä»®æ³ã«ãŒã¿ãŒã ãã§ã... çŸåšãããã«ã¯å€éšãããã¯ãŒã¯ã¯ãããŸããããããããç¬èªã®ãããã¯ãŒã¯ (éè€) ãæã€ããŸããŸãªãããžã§ã¯ããå€æ°ãããŸããåæ£ã«ãŒã¿ãŒããªãã«ãªããçµå±ããã¹ããã³ãã«ã¯å¶åŸ¡ããŒãã 300 ã€ã ãã«ãªããŸãã (ãã©ãŒã«ã ãã¬ã©ã³ã¹ãå®çŸããã«ã¯ãXNUMX ã€ã®ããŒãã®ã¯ã©ãŒã©ã ãå¿
èŠã§ã)ã ã³ããŒã¹ã§ã¯ãã¹ãŠããããå°ããè€éã«ãªãã®ã¯åœç¶ã§ããããã®åçŽãªäŸã§ã¯ããããã©ã®ããã«æ©èœããããç解ããŠããŸããããŒã ã¹ããŒã¹ã XNUMX ã€ã§ããã XNUMX ã§ãããã¯ãã¡ããéèŠã§ãããå
šäœã®æ§é ã¯ãäœã倧ããå€ãããŸãã...ãã ãããã³ããŒã® SDN ããã©ã°ã€ã³ããããšã¯ãããŸããã ããããããã¯å
šãå¥ã®è©±ã§ãã
é¢çœãã£ãã幞ãã§ãã ã³ã¡ã³ã/è¿œå ãããå ŽåããŸãã¯ç§ãå®å šã«åãã€ããå Žå(ç§ã¯äººéã§ãããç§ã®æèŠã¯åžžã«äž»èŠ³çã§ã)ãä¿®æ£/è¿œå ãå¿ èŠãªãã®ãæžããŠãã ããããã¹ãŠä¿®æ£/è¿œå ããŸãã
çµè«ãšããŠãOpenstack (ããã©ãšãã³ããŒã®äž¡æ¹) ãš VMWare ã®ã¯ã©ãŠã ãœãªã¥ãŒã·ã§ã³ã®æ¯èŒã«ã€ããŠãããã€ãã®èšèãè¿°ã¹ãããšæããŸããç§ã¯éå» XNUMX 幎éããã®è³ªåãé »ç¹ã«èãããŠããŸããããççŽã«èšã£ãŠãç§ã¯æ¬¡ã®ããã«æã£ãŠããŸãããã飜ãããã©ãããã§ãã ç§ã®æèŠã§ã¯ãããã XNUMX ã€ã®ãœãªã¥ãŒã·ã§ã³ãæ¯èŒããã®ã¯éåžžã«å°é£ã§ãããã©ã¡ãã®ãœãªã¥ãŒã·ã§ã³ã«ãæ¬ ç¹ãããããšã¯ééããªãèšãããããã©ã¡ããã®ãœãªã¥ãŒã·ã§ã³ãéžæããå Žåã¯ãé·æãšçæãæ¯èŒæ€èšããå¿ èŠããããŸãã
OpenStack ãã³ãã¥ããã£äž»å°ã®ãœãªã¥ãŒã·ã§ã³ã§ããå ŽåãVMWare ã¯èªåãæãããš (ã€ãŸããäœãå©çã«ãªãã) ã ããå®è¡ããæš©å©ãæã¡ãŸããããã¯è«ççã§ãããªããªããVMWare ã¯ã¯ã©ã€ã¢ã³ããããéã皌ãããšã«æ £ããŠããå¶å©äŒæ¥ã ããã§ãã ãããã倧ãããŠéèŠãªç¹ã XNUMX ã€ãããŸããããšãã°ãNokia ãã OpenStack ãé¢ããŠãããããªè²»çšã§ãããšãã° Juniper (Contrail Cloud) ã®ãœãªã¥ãŒã·ã§ã³ã«åãæ¿ããããšã¯ã§ããŸãããVMWare ããæãåºãããšã¯ã§ãããã«ãããŸããã ã ç§ã«ãšã£ãŠãããã XNUMX ã€ã®ãœãªã¥ãŒã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸããOpenstack (ãã³ããŒ) ã¯ããŠãŒã¶ãŒãå ¥ããããåçŽãªæª»ã§ãããããŒãæã£ãŠããã®ã§ããã€ã§ãããããåºãããšãã§ããŸãã VMWare ã¯é»éã®æª»ã®ãããªãã®ã§ã檻ã®éµã¯ææè ãæã£ãŠããããã®éµã«ã¯å€é¡ã®è²»çšãããããŸãã
ç§ã¯æåã®è£œåãš 10 çªç®ã®è£œåã®ã©ã¡ããã宣äŒããŠããããã§ã¯ãããŸãããå¿ èŠãªãã®ãéžæããŠãã ããã ãããããããã®ãããªéžæè¢ããããšããããç§ã¯äž¡æ¹ã®ãœãªã¥ãŒã·ã§ã³ãéžæããŸããIT ã¯ã©ãŠãã«ã¯ VMWare (è² è·ãäœãã管çã容æ)ããã¬ã³ã ã¯ã©ãŠãã«ã¯äžéšã®ãã³ããŒã® OpenStack (Nokia ãš Juniper ãéåžžã«åªããã¿ãŒã³ã㌠ãœãªã¥ãŒã·ã§ã³ãæäŸããŸã) ã§ãã ç§ã¯çŽç²ãª IT ã«ã¯ Openstack ã䜿çšããŸãããå€§ç ²ã§ã¹ãºã¡ãæã€ãããªãã®ã§ãããåé·æ§ä»¥å€ã« Openstack ã䜿çšããããšã«çŠå¿ã¯ãããŸããã ãã ããéä¿¡åé㧠VMWare ã䜿çšããããšã¯ããã©ãŒã ã©ãã¿ãŒã§ç ç³ãéã¶ãããªãã®ã§ããå€ããèŠããšçŸããã§ããããã©ã€ããŒã¯ XNUMX åã§ã¯ãªã XNUMX ååŸåŸ©ããå¿ èŠããããŸãã
ç§ã®æèŠã§ã¯ãVMWare ã®æ倧ã®æ¬ ç¹ã¯ãã®å®å šãªééæ§ã§ããVMWare ã¯ãvSAN ããã€ããŒãã€ã¶ãŒ ã«ãŒãã«ã®å 容ãªã©ãVMWare ãã©ã®ããã«æ©èœãããã«é¢ããæ å ±ãäžåæäŸããŸãããåã« VMWare ã«ãšã£ãŠå©çããããŸããã VMWare ã®å°é家ã«ãªãããšã¯æ±ºããŠãããŸããããã³ããŒã®ãµããŒãããªããã°ãçµããã§ã (ã€ãŸããªã質åã«å°æãã VMWare ã®å°é家ã«ããäŒããŸã)ã ç§ã«ãšã£ãŠãVMWare ã¯ãã³ããããããã¯ãããè»ãè³Œå ¥ãããããªãã®ã§ããã¯ããã¿ã€ãã³ã° ãã«ãã亀æã§ããå°é家ããããããããŸãããããã³ããããéããããšãã§ããã®ã¯ããã®ãœãªã¥ãŒã·ã§ã³ã販売ãã人ã ãã§ãã å人çã«ãç§ã¯èªåãé©åã§ããªã解決çã¯å¥œãã§ã¯ãããŸããã ããªãã¯ããã³ãããã®äžã«å ¥ãå¿ èŠã¯ãªããããããªããšèšãã§ãããã ã¯ããå¯èœã§ããã20 ïœ 30 ã®ä»®æ³ãã·ã³ã40 ïœ 50 ã®ãããã¯ãŒã¯ããã¯ã©ãŠãå ã§å€§èŠæš¡ãªæ©èœãçµã¿ç«ãŠãå¿ èŠãããããã®ãã¡ã®ååã¯å€éšã«åºãå¿ èŠããããåŸåã¯SR-IOV ã®é«éåãå¿ èŠã§ããããã§ãªãå Žåã¯ãããã«æ°åå°ã®ãããã®è»äž¡ãå¿ èŠã«ãªããŸããããã§ãªããšãããã©ãŒãã³ã¹ãååã§ã¯ãããŸããã
ä»ã®èŠç¹ãããã®ã§ãäœãéžæãããã決ããã®ã¯ããªãã ãã§ãããæãéèŠãªããšã«ããã®éžæã«ã¯ããªãã責任ãè² ããŸãã ããã¯åãªãç§ã®æèŠã§ããNokiaãJuniperãRed HatãVMWare ãšããå°ãªããšã 4 ã€ã®è£œåãèŠãã觊ã£ããããããšãããè
ã§ãã ã€ãŸããæ¯èŒãããã®ãããã®ã§ãã
åºæïŒ habr.com