Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÍøÒ×OpenStack²¿ÊðÔËάʵս
 
»ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2014-08-27
  2032  次浏览      27
 

OpenStackÊÇÒ»¸ö¿ªÔ´µÄIaaSʵÏÖ£¬Ä¿Ç°ÔÚÆóÒµµÃµ½Ô½À´Ô½¶àµÄÓ¦Ó㬱¾ÎÄ·ÖÏíÁËÍøÒ×¹«Ë¾ÀûÓà OpenStack¿ª·¢µÄÒ»Ì×ÔÆ¼ÆËã¹ÜÀíÆ½Ì¨µÄʵս¾­Ñé£¬ÍøÒ×˽ÓÐÔÆÆ½Ì¨ÍŶÓÏ£Íûͨ¹ý±¾Îĺ͹ã´óµÄ OpenStackʹÓÃÕß½øÐÐÒ»¸ö½»Á÷¡£

OpenStack×Ô 2010 ÄêÏîÄ¿³ÉÁ¢ÒÔÀ´£¬ÒѾ­Óг¬¹ý 200 ¸ö¹«Ë¾¼ÓÈëÁË OpenStack ÏîÄ¿£¬Ä¿Ç°²ÎÓë OpenStack ÏîÄ¿µÄ¿ª·¢ÈËÔ±ÓÐ 17,000+£¬¶øÇÒÕâЩÊý×Ö»¹ÔÚÔö¼Ó£¬×÷Ϊһ¸ö¿ªÔ´µÄIaaSʵÏÖ£¬Ä¿Ç°ÔÚÆóÒµµÄÓ¦ÓÃÔ½À´Ô½ÆÕ±é£¬ÍøÒ×¹«Ë¾Ë½ÓÐÔÆÍŶӷÖÏíÁËËûÃÇÔÚ»ùÓÚOpenStack ¿ª·¢µÄÒ»Ì×ÔÆ¼ÆËã¹ÜÀíÆ½Ì¨µÄʵս¾­Ñ飬ÆÚ´ýºÍ¹ã´óµÄOpenStack ʹÓÃÕß½øÐн»Á÷¡£

ÒÔÏÂΪԭÎÄ£º

±¾ÎÄΪÄú½éÉÜÁËÍøÒ×¹«Ë¾»ùÓÚ OpenStack ¿ª·¢µÄÒ»Ì×ÔÆ¼ÆËã¹ÜÀíÆ½Ì¨£¬ÒÔ¼°ÔÚ¿ª·¢¡¢ÔËÓª¡¢Î¬»¤¹ý³ÌÖÐÓöµ½µÄÎÊÌâºÍ¾­Ñé·ÖÏí¡£ÍøÒ××÷Ϊ´óÐÍ»¥ÁªÍø¹«Ë¾£¬IT »ù´¡¼Ü¹¹ÐèÒªÖ§³Å°üÀ¨Éú²ú¡¢¿ª·¢¡¢²âÊÔ¡¢¹ÜÀíµÈ¶à·½ÃæµÄÐèÒª£¬¶øÇÒÐèÇóºÍÇëÇóµÄ±ä»¯¼¸ºõÿÌì¶¼´æÔÚ£¬Õâ¾ÍÐèÒªÄÚ²¿µÄ IT »ù´¡¼Ü¹¹Äܹ»×ã¹»Áé»îºÍ½¡×³À´Âú×ã¸÷²¿ÃźÍÍŶӵÄʵ¼ÊÐèÒª¡£ÍøÒ×˽ÓÐÔÆÆ½Ì¨ÍŶÓҲϣÍûͨ¹ý±¾Îĺ͹ã´óµÄ OpenStack ʹÓÃÕß½øÐÐÒ»¸ö½»Á÷£¬·ÖÏíËûÃÇÔÚʵ¼ÊÏîÄ¿ÖÐÊÕ»ñµÄ³É¹û¡£

OpenStack ¼ò½é

OpenStack ÊÇÒ»¸ö¿ªÔ´µÄ IaaS ʵÏÖ£¬ËüÓÉһЩÏ໥¹ØÁªµÄ×ÓÏîÄ¿×é³É£¬Ö÷Òª°üÀ¨¼ÆËã¡¢´æ´¢¡¢ÍøÂç¡£ÓÉÓÚÒÔ Apache ЭÒé·¢²¼£¬×Ô 2010 ÄêÏîÄ¿³ÉÁ¢ÒÔÀ´£¬³¬¹ý 200 ¸ö¹«Ë¾¼ÓÈëÁË OpenStack ÏîÄ¿£¬ÆäÖаüÀ¨ AT&T¡¢AMD¡¢Cisco¡¢Dell¡¢IBM¡¢Intel¡¢Red Hat µÈ¡£Ä¿Ç°²ÎÓë OpenStack ÏîÄ¿µÄ¿ª·¢ÈËÔ±ÓÐ 17,000+£¬À´×Ô 139 ¸ö¹ú¼Ò£¬ÕâÒ»Êý×Ö»¹ÔÚ²»¶ÏÔö³¤ÖС£

OpenStack ¼æÈÝÒ»²¿·Ö AWS ½Ó¿Ú£¬Í¬Ê±ÎªÁËÌṩ¸üÇ¿´óµÄ¹¦ÄÜ£¬Ò²Ìṩ OpenStack ·ç¸ñµÄ½Ó¿Ú£¨RESTFul API£©¡£ºÍÆäËû¿ªÔ´ IaaS Ïà±È£¬¼Ü¹¹ÉÏËÉñîºÏ¡¢¸ß¿ÉÀ©Õ¹¡¢·Ö²¼Ê½¡¢´¿ Python ʵÏÖ£¬ÒÔ¼°ÓѺûîÔ¾µÄÉçÇøÊ¹Æä´óÊÜ»¶Ó­£¬Ã¿°ëÄêÒ»´ÎµÄ¿ª·¢·å»áÒ²ÎüÒýÁËÀ´×ÔÈ«ÊÀ½çµÄ¿ª·¢Õß¡¢¹©Ó¦É̺Ϳͻ§¡£

OpenStack µÄÖ÷Òª×ÓÏîÄ¿ÓУº

ÍøÒ×˽ÓÐÔÆÊ¹ÓÃÁË Nova¡¢Glance¡¢Keystone¡¢Neutron Õâ 4 ¸ö×é¼þ¡£

Compute£¨Nova£©Ìṩ¼ÆËãÐéÄ⻯·þÎñ£¬ÊÇ OpenStack µÄºËÐÄ£¬¸ºÔð¹ÜÀíºÍ´´½¨ÐéÄâ»ú¡£Ëü±»Éè¼Æ³É·½±ãÀ©Õ¹£¬Ö§³Ö¶àÖÖÐéÄ⻯¼¼Êõ£¬²¢ÇÒ¿ÉÒÔ²¿ÊðÔÚ±ê×¼Ó²¼þÉÏ¡£

Object Storage£¨Swift£©Ìṩ¶ÔÏó´æ´¢·þÎñ£¬ÊÇÒ»¸ö·Ö²¼Ê½£¬¿ÉÀ©Õ¹£¬¶à¸±±¾µÄ´æ´¢ÏµÍ³¡£

Block Storage£¨Cinder£©£¬Ìṩ¿é´æ´¢·þÎñ£¬Îª OpenStack µÄÐéÄâ»úÌṩ³Ö¾ÃµÄ¿é¼¶´æ´¢É豸¡£Ö§³Ö¶àÖÖ´æ´¢ºó¶Ë£¬°üÀ¨ Ceph£¬EMC µÈ¡£

Networking£¨Neutron£©Ìá¹©ÍøÂçÐéÄ⻯·þÎñ£¬ÊÇÒ»¸ö¿É°Î²å£¬¿ÉÀ©Õ¹£¬API Çý¶¯µÄ·þÎñ¡£

Dashboard ÌṩÁËÒ»¸öͼÐοØÖÆÌ¨·þÎñ£¬ÈÃÓû§·½±ãµØ·ÃÎÊ£¬Ê¹ÓúÍά»¤ OpenStack ÖеÄ×ÊÔ´¡£

Image£¨glance£©Ìṩ¾µÏñ·þÎñ£¬ËüÖ¼ÔÚ·¢ÏÖ£¬×¢²áºÍ½»¸¶ÐéÄâ»ú´ÅÅ̺;µÏñ¡£Ö§³Ö¶àÖÖºó¶Ë¡£

Telemetry£¨Ceilometer£©ÌṩÓÃÁ¿Í³¼Æ·þÎñ£¬Í¨¹ýËü¿ÉÒÔ·½±ãµØÊµÏÖ OpenStack ¼Æ·Ñ¹¦ÄÜ¡£

Orchestration£¨Heat£©ÕûºÏÁË OpenStack ÖеÄÖÚ¶à×é¼þ£¬ÀàËÆ AWS µÄ CloudFormation£¬ÈÃÓû§Äܹ»Í¨¹ýÄ£°åÀ´¹ÜÀí×ÊÔ´¡£

Database£¨Trove£©»ùÓÚ OpenStack ¹¹½¨µÄ database-as-a-service¡£

ÍøÒ×˽ÓÐÔÆÆ½Ì¨¸Å¿ö

ͼ 1.ÍøÒ×˽ÓÐÔÆ¼Ü¹¹

ÍøÒ×˽ÓÐÔÆÆ½Ì¨ÓÉÍøÒ׺¼ÖÝÑо¿Ôº¸ºÔðÑз¢£¬Ö÷ÒªÌṩ»ù´¡ÉèÊ©×ÊÔ´¡¢Êý¾Ý´æ´¢´¦Àí¡¢Ó¦Óÿª·¢²¿Êð¡¢ÔËά¹ÜÀíµÈ¹¦ÄÜÒÔÂú×㹫˾²úÆ·²âÊÔ/ÉÏÏßµÄÐèÇó¡£

ͼ 1 չʾÁËÍøÒ×˽ÓÐÔÆÆ½Ì¨µÄÕûÌå¼Ü¹¹¡£Õû¸ö˽ÓÐÔÆÆ½Ì¨¿É·ÖΪÈý´óÀà·þÎñ£ººËÐÄ»ù´¡ÉèÊ©·þÎñ£¨IaaS£©¡¢»ù´¡Æ½Ì¨·þÎñ£¨PaaS£©ÒÔ¼°ÔËά¹ÜÀíÖ§³Å·þÎñ£¬Ä¿Ç°Ò»¹²°üÀ¨ÁË£ºÔÆÖ÷»ú£¨ÐéÄâ»ú£©¡¢ÔÆÍøÂç¡¢ÔÆÓ²ÅÌ¡¢¶ÔÏó´æ´¢¡¢¶ÔÏ󻺴桢¹ØÏµÐÍÊý¾Ý¿â¡¢·Ö²¼Ê½Êý¾Ý¿â¡¢È«ÎļìË÷¡¢ÏûÏ¢¶ÓÁС¢ÊÓÆµ×ªÂë¡¢¸ºÔؾùºâ¡¢ÈÝÆ÷ÒýÇæ¡¢ÔƼƷѡ¢ÔÆ¼à¿Ø¡¢¹ÜÀíÆ½Ì¨µÈ 15 ¸ö·þÎñ¡£ÍøÒ×˽ÓÐÔÆÆ½Ì¨³ä·ÖÀûÓÃÔÆ¼ÆË㿪ԴµÄ×îгɹû£¬ÎÒÃÇ»ùÓÚ OpenStack ÉçÇøµÄ keystone¡¢glance¡¢nova¡¢neutron ×é¼þÑз¢²¿ÊðÁËÔÆÖ÷»úºÍÔÆÍøÂç·þÎñ¡£

ΪÁËÓëÍøÒ×˽ÓÐÔÆÆ½Ì¨ÆäËû·þÎñ£¨ÔÆÓ²ÅÌ¡¢ÔÆ¼à¿Ø¡¢ÔƼƷѵȣ©Éî¶ÈÕûºÏÒÔ¼°Âú×㹫˾²úƷʹÓúÍÔËά¹ÜÀíµÄÌØ¶¨ÐèÇó£¬ÎÒÃÇÍŶÓÔÚÉçÇø OpenStack °æ±¾µÄ»ù´¡É϶ÀÁ¢Ñз¢Á˰üÀ¨£ºÔÆÖ÷»ú×ÊÔ´ÖÊÁ¿±£ÕÏ£¨¼ÆËã¡¢´æ´¢¡¢ÍøÂç QoS£©¡¢¾µÏñ·Ö¿é´æ´¢¡¢ÔÆÖ÷»úÐÄÌøÉϱ¨¡¢flat-dhcp ģʽÏÂ×â»§ÄÚÍø¸ôÀëµÈ 20 ¶à¸öй¦ÄÜ¡£Í¬Ê±£¬ÎÒÃÇÍŶÓÔÚÈÕ³£ÔËά OpenStack ÒÔ¼°Éý¼¶ÉçÇøÐ°汾ÖУ¬Ò²×ܽáÁËһЩ²¿Êð¡¢ÔËά¹æ·¶ÒÔ¼°Éý¼¶¾­Ñé¡£Á½Äê¶àÀ´£¬ÍøÒ×˽ÓÐÔÆÆ½Ì¨ OpenStack ÍŶӵÄÑз¢±ü³Ð¿ªÔ´¡¢¿ª·ÅµÄÀíÄʼÖÕ×ñÑ­"À´Ô´ÉçÇø£¬»ØÀ¡ÉçÇø"µÄÔ­Ôò¡£ÔÚÃâ·ÑÏíÊÜ OpenStack ÉçÇø²»¶ÏÑз¢Ð¹¦ÄÜÒÔ¼°ÐÞ¸´ bug µÄͬʱ£¬ÎÒÃÇÍŶÓÒ²»ý¼«ÏòÉçÇø×ö×Ô¼ºµÄ¹±Ï×£¬´Ó¶ø°ïÖú OpenStack ÉçÇøµÄ·¢Õ¹×³´ó¡£Á½ÄêÀ´£¬ÎÒÃÇÍŶÓÒ»¹²ÏòÉçÇøÌύй¦ÄÜ¿ª·¢/bug ÐÞ¸´µÄ commits ½ü 100 ¸ö£¬ÐÞ¸´ÉçÇø bug 50 ¶à¸ö£¬ÕâЩÉçÇø¹±Ï×Éæ¼° OpenStack µÄ Essex¡¢Folsom¡¢Havana¡¢Icehouse¡¢Juno µÈ°æ±¾¡£

µÃÒæÓÚ OpenStack µÄÈÕÒæÎȶ¨³ÉÊ죬˽ÓÐÔÆÆ½Ì¨Ä¿Ç°ÒѾ­Îȶ¨ÔËÐÐÁË 2 Äê¶àʱ¼ä£¬ÎªÍøÒ×¹«Ë¾¶à´ï 30 ¸ö»¥ÁªÍøºÍÓÎÏ·²úÆ·Ìṩ·þÎñ¡£´ÓÓ¦ÓõÄЧ¹ûÀ´¿´£¬»ùÓÚ OpenStack Ñз¢µÄÍøÒ×˽ÓÐÔÆÆ½Ì¨ÒѾ­´ïµ½ÁËÒÔÏÂÄ¿±ê£º

  1. Ìá¸ßÁ˹«Ë¾»ù´¡ÉèÊ©×ÊÔ´ÀûÓÃÂÊ£¬´Ó¶ø½µµÍÁËÓ²¼þ³É±¾¡£ÒÔÎïÀí·þÎñÆ÷ CPU ÀûÓÃÂÊΪÀý£¬Ë½ÓÐÔÆÆ½Ì¨½« CPU ƽ¾ùÀûÓÃÂÊ´Ó²»µ½ 10% ÌáÉýµ½ 50%¡£
  2. Ìá¸ßÁË»ù´¡ÉèÊ©×ÊÔ´¹ÜÀíÓëÔËά×Ô¶¯»¯Ë®Æ½£¬´Ó¶ø½µµÍÁËÔËά³É±¾¡£½èÖúÓÚ Web ×ÔÖúʽµÄ×ÊÔ´ÉêÇëºÍ·ÖÅ䷽ʽÒÔ¼°ÔÆÆ½Ì¨×Ô¶¯²¿Êð·þÎñ£¬ÏµÍ³ÔËάÈËÔ±¼õÉÙÁË 50%¡£
  3. Ìá¸ßÁË»ù´¡ÉèÊ©×ÊԴʹÓõ¯ÐÔ£¬´Ó¶øÔöÇ¿Á˲úÆ·ÒµÎñ²¨¶¯µÄÊÊÓ¦ÄÜÁ¦¡£ÀûÓÃÐéÄ⻯¼¼Êõ½«ÎïÀí»ù´¡ÉèÊ©×ö³ÉÐéÄâ×ÊÔ´³Ø£¬Í¨¹ýÓÐЧµÄÈÝÁ¿¹æ»®ÒÔ¼°°´ÐèʹÓã¬Ë½ÓÐÔÆÆ½Ì¨¿ÉÒԺܺÃÊÊÓ¦²úÆ·Í»·¢ÒµÎñ¡£

ÍøÒ× OpenStack ²¿Êð²Î¿¼·½°¸½éÉÜ

ÔÚ¾ßÌåµÄÉú²ú»·¾³ÖУ¬ÎÒÃÇΪÁ˼æ¹ËÐÔÄܺͿɿ¿ÐÔ£¬keystone ºó¶ËʹÓà Mysql ´æ´¢Óû§ÐÅÏ¢£¬Ê¹Óà memcache ´æ·Å token¡£ÎªÁ˼õÉÙ¶Ô keystone µÄ·ÃÎÊѹÁ¦£¬ËùÓзþÎñ£¨nova£¬glance£¬neutron£©µÄ keystoneclient ¾ùÅäÖÃʹÓà memcache ×÷Ϊ token µÄ»º´æ¡£

ÓÉÓÚÍøÒ×˽ÓÐÔÆÐèÒª²¿ÊðÔÚ¶à¸ö»ú·¿Ö®ÖУ¬Ã¿¸ö»ú·¿Ö®¼äÔÚµØÀíλÖÃÉÏ×ÔÈ»¸ôÀ룬Õâ¶ÔÉϲãµÄÓ¦ÓÃÀ´ËµÊÇÌìÈ»µÄÈÝÔÖ·½·¨¡£ÁíÍ⣬ΪÁËÂú×ã˽ÓÐÔÆµÄ¹¦ÄܺÍÔËάÐèÇó£¬ÍøÒ×˽ÓÐÔÆÐèҪͬʱ֧³ÖÁ½ÖÖÍøÂçģʽ£ºnova-network ºÍ neutron¡£Õë¶ÔÕâЩÐèÇó£¬ÎÒÃÇÌá³öÁËÒ»¸öÃæÏòÆóÒµ¼¶µÄ¶àÇøÓò²¿Êð·½°¸£¬Èçͼ 2 Ëùʾ¡£´ÓÕûÌåÉÏ¿´£¬¶à¸öÇøÓòÖ®¼äµÄ²¿ÊðÏà¶Ô¶ÀÁ¢£¬µ«¿Éͨ¹ýÄÚÍøÊµÏÖ»¥Í¨£¬Ã¿¸öÇøÓòÖаüÀ¨ÁËÒ»¸öÍêÕûµÄ OpenStack ²¿Êð£¬ËùÒÔ¿ÉÒÔʹÓöÀÁ¢µÄ¾µÏñ·þÎñºÍ¶ÀÁ¢µÄÍøÂçģʽ£¬ÀýÈçÇøÓò A ʹÓà nova-network£¬ÇøÓò B ʹÓà neutron£¬»¥²»Ó°Ï죬ÁíÍâΪÁËʵÏÖÓû§µÄµ¥µãµÇ¼£¬ÇøÓòÖ®¼ä¹²ÏíÁË keystone£¬ÇøÓòµÄ»®·ÖÒÀ¾ÝÖ÷ÒªÊÇÍøÂçģʽºÍµØÀíλÖá£

ͼ 2.¶àÇøÓò²¿Êð·½·¨

ºÍµäÐÍ OpenStack ²¿Êð½«Ó²¼þ»®·ÖΪ¼ÆËã½ÚµãºÍ¿ØÖƽڵ㲻ͬµÄÊÇ£¬ÎªÁ˳ä·ÖÀûÓÃÓ²¼þ×ÊÔ´£¬ÎÒÃÇŬÁ¦°Ñ²¿ÊðÉè¼Æ³É¶Ô³ÆµÄ£¬¼´ÈÎÒâÒ»¸ö½ÚµãÏÂÏß¶ÔÕûÌå·þÎñ²»»áÕÕ³ÉÓ°Ïì¡£Òò´ËÎÒÃǽ«Ó²¼þ·ÖΪÁ½Àࣺ¼ÆËã½Úµã£¬¿ØÖƼÆËã½Úµã¡£¼ÆËã½Úµã²¿Êð nova-network£¬nova-compute£¬nova-api-metadata£¬nova-api-os-compute¡£¿ØÖƼÆËã½Úµã³ýÁ˼ÆËã½ÚµãµÄ·þÎñÍ⻹²¿ÊðÁË nova-scheduler£¬nova-novncproxy£¬nova-consoleauth£¬glance-api£¬glance-registry ºÍ keystone£¬Èçͼ 3 Ëùʾ¡£

¶ÔÍâÌṩ API µÄ·þÎñÓÐ nova-api-os-compute£¬nova-novncproxy ,glance-api£¬keystone¡£ÕâÀà·þÎñµÄÌØµãÊÇÎÞ״̬£¬¿ÉÒÔ·½±ãµØºáÏòÀ©Õ¹£¬¹Ê´ËÀà·þÎñ¾ù²¿ÊðÔÚ¸ºÔؾùºâ HAProxy Ö®ºó£¬²¢ÇÒʹÓà Keepalived ×ö¸ß¿ÉÓá£ÎªÁ˱£Ö¤·þÎñÖÊÁ¿ºÍ±ãÓÚά»¤£¬ÎÒÃÇûÓÐʹÓà nova-api£¬¶øÊÇ·ÖΪ nova-api-os-compute ºÍ nova-api-metadata ·Ö±ð¹ÜÀí¡£ÍⲿÒÀÀµ·½Ãæ£¬ÍøÒ×˽ÓÐÔÆ²¿ÊðÁ˸߿ÉÓà RabbitMQ ¼¯ÈººÍÖ÷±¸ MySQL£¬ÒÔ¼° memcache ¼¯Èº¡£

ͼ 3.¼ÆËã½Úµã£¬¿ØÖƼÆËã½Úµã

ÍøÂç¹æ»®·½Ãæ£¬ÍøÒ×˽ÓÐÔÆÖ÷ҪʹÓà nova-network µÄ FlatDHCPManager+multi-host ÍøÂçģʽ£¬²¢»®·ÖÁ˶à¸ö Vlan£¬·Ö±ðÓÃÓÚÐéÄâ»ú fixed-ip ÍøÂç¡¢ÄÚÍø¸¡¶¯ IP ÍøÂç¡¢ÍâÍøÍøÂç¡£

ÔËάÉÏʹÓÃÍøÒ××ÔÖ÷Ñз¢µÄÔËάƽ̨×ö¼à¿ØºÍ±¨¾¯£¬¹¦ÄÜÀàËÆ Nagios£¬µ«ÊǸü¼ÓÇ¿´ó¡£ÆäÖнÏÖØÒªµÄ¼à¿Ø±¨¾¯°üÀ¨ÈÕÖ¾¼à¿ØºÍ½ø³Ì¼à¿Ø¡£ÈÕÖ¾¼à¿Ø±£Ö¤·þÎñ·¢ÉúÒ쳣ʱµÚһʱ¼ä·¢ÏÖ£¬½ø³Ì¼à¿Ø±£Ö¤·þÎñÕý³£ÔËÐС£ÁíÍâÍøÒ×˽ÓÐÔÆÊ¹Óà Puppet ×ö×Ô¶¯²¿Êð£¬ÒÔ¼°Ê¹Óà StackTach °ïÖú¶¨Î» bug¡£

OpenStack ¸÷×é¼þÅäÖÃ

OpenStack Havana µÄÅäÖÃÏî³É°ÙÉÏǧ£¬´ó²¿·ÖÅäÖÃÏî¶¼ÊÇ¿ÉÒÔʹÓÃĬÈÏÖµµÄ£¬·ñÔò¹âÊÇÀí½âÕâô¶àµÄÅäÖÃÏîµÄº¬Òå¾Í×ãÒÔÈÃÔËάÈËÔ±±ÀÀ££¬ÓÈÆäÊǶÔÄÇЩ²¢²»ÊìϤԴÂëµÄÔËάÈËÔ±À´Ëµ¸üÊÇÈç´Ë¡£ÏÂÎĽ«ÁоÙÈô¸ÉÍøÒ×˽ÓÐÔÆÖнϹؼüµÄÅäÖÃÏ²¢½âÊÍËüÃÇÈçºÎÓ°Ïìµ½·þÎñµÄ¹¦ÄÜ£¬°²È«ÐÔ£¬ÒÔ¼°ÐÔÄܵÈÎÊÌâ¡£

Nova ¹Ø¼üÅäÖÃ

my_ip = ÄÚÍøµØÖ·

´ËÏîÊÇÓÃÀ´Éú³ÉËÞÖ÷»úÉ쵀 nova metadata api ÇëÇóת·¢ iptables ¹æÔò£¬Èç¹ûÅäÖò»µ±£¬»áµ¼ÖÂÐéÄâ»úÄÚ²¿ÎÞ·¨Í¨¹ý 169.254.169.254 Õâ¸ö IP »ñÈ¡ ec2/OpenStack metadata ÐÅÏ¢£»Éú³ÉµÄ iptable ¹æÔòÐÎÈ磺

ËüÁíÍâµÄÓÃ;ÊÇÐéÄâ»úÔÚ resize¡¢cold migrate µÈ²Ù×÷ʱ£¬ÓëÄ¿µÄ¶ËËÞÖ÷»ú½øÐÐÊý¾ÝͨÐÅ¡£¸ÃÏîµÄĬÈÏֵΪËÞÖ÷»úµÄÍâÍø IP µØÖ·£¬½¨Òé¸ÄΪÄÚÍøµØÖ·ÒÔ±ÜÃâDZÔڵݲȫ·çÏÕ¡£

metadata_listen = ÄÚÍøµØÖ·

´ËÏîÊÇ nova-api-metadata ·þÎñ¼àÌýµÄ IP µØÖ·£¬¿ÉÒÔ´ÓÉÏÃæµÄ iptables ¹æÔòÀïÃæ¿´³öËüÓë my_ip µÄÅäÖÃÏîÓÐÒ»¶¨µÄ¹ØÁª£¬±£³ÖÒ»ÖÂÊÇ×îÃ÷ÖǵÄÑ¡Ôñ¡£

ÎÒÃǽöÔÚ²¿·Ö½ÚµãÉϲ¿Êð novncproxy ½ø³Ì£¬²¢°ÑÕâЩ½ø³Ì¼ÓÈëµ½ HAProxy ·þÎñÖÐʵÏÖ novnc ´úÀí½ø³ÌµÄ¸ß¿ÉÓ㬶à¸ö HAProxy ½ø³ÌʹÓà Keepalived ʵʩ HAProxy µÄ¸ß¿ÉÓ㬶ÔÍâÖ»ÐèÒª±©Â¶ Keepalived ¹ÜÀíµÄÐéÄâ IP µØÖ·¼´¿É£º

ÕâÖÖ²¿Êð·½Ê½ºÃ´¦ÊÇ£º

1£©ÊµÏÖ novnc ´úÀí·þÎñµÄ¸ß¿ÉÓÃ

2£©²»»á±©Â¶ÔÆÆ½Ì¨Ïà¹Ø½ÚµãµÄÍâÍøµØÖ·

3£©Ò×ÓÚ novnc ´úÀí·þÎñµÄÀ©ÈÝ

µ«Ò²Óв»×㣺

1£©ÐéÄâ»ú¶¼¼àÌýÔÚÆäËùÔڵļÆËã½ÚµãµÄÄÚÍø IP µØÖ·£¬Ò»µ©ÐéÄâ»úÓëËÞÖ÷»úµÄÍøÂç¸ôÀë³öÏÖÎÊÌ⣬»áµ¼ÖÂËùÓÐÐéÄâ»úµÄ VNC µØÖ·½Ó¿Ú±©Â¶³öÈ¥

2£©ÔÚÏßÇ¨ÒÆÊ±»áÓöµ½ÎÊÌ⣬ÒòΪ VNC ¼àÌýµÄÄÚÍø IP ÔÚÄ¿µÄ¶Ë¼ÆËã½ÚµãÊDz»´æÔڵ쬲»¹ýÕâ¸öÎÊÌâ nova ÉçÇøÒѾ­ÔÚ½â¾öÁË£¬ÏàÐźܿì¾Í»áºÏÈë J °æ±¾¡£

resume_guests_state_on_host_boot = true

ÔÚ nova-compute ½ø³ÌÆô¶¯Ê±£¬Æô¶¯Ó¦¸Ã´¦ÓÚÔËÐÐ״̬µÄÐéÄâ»ú£¬Ó¦¸Ã´¦ÓÚÔËÐÐ״̬µÄÒâ˼ÊÇ nova Êý¾Ý¿âÖеÄÐéÄâ»ú¼Ç¼ÊÇÔËÐÐ״̬£¬µ«ÔÚ Hypervisor ÉϸÃÐéÄâ»úûÓÐÔËÐУ¬ÔÚ¼ÆËã½ÚµãÖØÆôʱ£¬¸ÃÅäÖÃÏî¾ßÓкܴóµÄÓô¦£¬Ëü¿ÉÒÔÈýڵãÉÏËùÓÐÐéÄâ»ú¶¼×Ô¶¯ÔËÐÐÆðÀ´£¬½ÚÊ¡ÔËάÈËÔ±ÊÖ¹¤´¦ÀíµÄʱ¼ä¡£

api_rate_limit = false

²»ÏÞÖÆ API ·ÃÎÊÆµÂÊ£¬´ò¿ªÖ®ºó API µÄ²¢·¢·ÃÎÊÊýÁ¿»áÊܵ½ÏÞÖÆ£¬¿ÉÒÔ¸ù¾ÝÔÆÆ½Ì¨µÄ·ÃÎÊÁ¿¼° API ½ø³ÌµÄÊýÁ¿ºÍ³ÐÊÜÄÜÁ¦À´ÅжÏÊÇ·ñÐèÒª´ò¿ª£¬Èç¹û¹Ø±Õ¸ÃÑ¡ÏÔò´ó²¢·¢Çé¿öÏ API ÇëÇó´¦Àíʱ¼ä»á±È½Ï¾Ã¡£

osapi_max_limit = 5000

nova-api-os-compute api µÄ×î´ó·µ»ØÊý¾Ý³¤¶ÈÏÞÖÆ£¬Èç¹ûÉèÖùý¶Ì£¬»áµ¼Ö²¿·ÖÏìÓ¦Êý¾Ý±»½Ø¶Ï¡£

scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ImagePropertiesFilter, JsonFilter, EcuFilter, CoreFilter

nova-scheduler ¿ÉÓõĹýÂËÆ÷£¬Retry ÊÇÓÃÀ´Ìø¹ýÒѾ­³¢ÊÔ´´½¨µ«ÊÇʧ°ÜµÄ¼ÆËã½Úµã£¬·ÀÖ¹ÖØµ÷¶ÈËÀÑ­»·£»AvailabilityZone ÊǹýÂËÄÇЩÓû§Ö¸¶¨µÄ AZ µÄ£¬·ÀÖ¹Óû§µÄÐéÄâ»ú´´½¨µ½Î´Ö¸¶¨µÄ AZ ÀïÃæ£»Ram ÊǹýÂ˵ôÄÚ´æ²»×ãµÄ¼ÆËã½Úµã£»Core ÊǹýÂ˵ô VCPU ÊýÁ¿²»×ãµÄ¼ÆËã½Úµã£»Ecu ÊÇÎÒÃÇ×Ô¼º¿ª·¢µÄ¹ýÂËÆ÷£¬ÅäºÏÎÒÃÇµÄ CPU QoS ¹¦ÄÜ¿ª·¢µÄ£¬ÓÃÀ´¹ýÂ˵ô ecu ÊýÁ¿²»×ãµÄ¼ÆËã½Úµã£»ImageProperties ÊǹýÂ˵ô²»·ûºÏ¾µÏñÒªÇóµÄ¼ÆËã½Úµã£¬±ÈÈç QEMU ÐéÄâ»úËùÓõľµÏñ²»ÄÜÔÚ LXC ¼ÆËã½ÚµãÉÏʹÓã»Json ÊÇÆ¥Åä×Ô¶¨ÒåµÄ½ÚµãÑ¡Ôñ¹æÔò£¬±ÈÈç²»¿ÉÒÔ´´½¨µ½Ä³Ð© AZ£¬ÒªÓëÄÇЩÐéÄâ»ú´´½¨µ½Ïàͬ AZ µÈ¡£ÆäËû»¹ÓÐһЩ¹ýÂËÆ÷¿ÉÒÔ¸ù¾ÝÐèÇó½øÐÐÑ¡Ôñ¡£

running_deleted_instance_action = reap

nova-compute ¶¨Ê±ÈÎÎñ·¢ÏÖÔÚÊý¾Ý¿âÖÐÒѾ­É¾³ý£¬µ«¼ÆËã½ÚµãµÄ Hypervisor Öл¹´æÔÚµÄÐéÄâ»ú£¨Ò²¼´Ò°ÐéÄâ»úÉ󼯲Ù×÷·½Ê½£©ºóµÄ´¦Àí¶¯×÷£¬½¨ÒéÊÇÑ¡Ôñ log »òÕß reap¡£log ·½Ê½ÐèÒªÔËάÈËÔ±¸ù¾ÝÈÕÖ¾¼Ç¼ÕÒµ½ÄÇЩҰÐéÄâ»ú²¢ÊÖ¹¤Ö´ÐкóÐøµÄ¶¯×÷£¬ÕâÖÖ·½Ê½±È½Ï±£ÏÕ£¬·ÀÖ¹ÓÉÓÚ nova ·þÎñ³öÏÖδ֪Òì³£»òÕß bug ʱµ¼ÖÂÓû§ÐéÄâ»ú±»ÇåÀíµôµÈÎÊÌ⣬¶ø reap ·½Ê½Ôò¿ÉÒÔ½ÚÊ¡ÔËάÈËÔ±µÄÈ˹¤½éÈëʱ¼ä¡£

until_refresh = 5

Óû§Åä¶îÓë instances ±íÖÐʵ¼ÊʹÓÃÁ¿µÄͬ²½ãÐÖµ£¬Ò²¼´Óû§µÄÅä¶î±»Ð޸ĶàÉٴκóÇ¿ÖÆÍ¬²½Ò»´ÎʹÓÃÁ¿µ½Åä¶îÁ¿¼Ç¼

max_age = 86400

Óû§Åä¶îÓëʵ¼ÊʹÓÃÁ¿µÄͬ²½Ê±¼ä¼ä¸ô£¬Ò²¼´¾àÉÏ´ÎÅä¶î¼Ç¼¸üжàÉÙÃëºó£¬ÔٴθüÐÂʱ»á×Ô¶¯Óëʵ¼ÊʹÓÃÁ¿Í¬²½¡£

ÖÚËùÖÜÖª£¬¿ªÔ´µÄ nova ÏîĿĿǰÈÔÈ»ÓкܶàÅä¶î·½ÃæµÄ bug ûÓнâ¾ö£¬ÉÏÃæÁ½¸öÅäÖÃÏî¿ÉÒÔÔںܴó³Ì¶ÈÉϽâ¾öÓû§Åä¶îʹÓÃÇé¿öÓëʵ¼ÊʹÓÃÁ¿²»Æ¥ÅäµÄÎÊÌ⣬µ«Ò²»á´øÀ´Ò»¶¨µÄÊý¾Ý¿âÐÔÄÜ¿ªÏú£¬ÐèÒª¸ù¾Ýʵ¼Ê²¿ÊðÇé¿ö½øÐкÏÀíÉèÖá£

### ¼ÆËã½Úµã×ÊÔ´Ô¤Áô ###

vcpu_pin_set = 4-$

ÐéÄâ»ú vCPU µÄ°ó¶¨·¶Î§£¬¿ÉÒÔ·ÀÖ¹ÐéÄâ»úÕùÇÀËÞÖ÷»ú½ø³ÌµÄ CPU ×ÊÔ´£¬½¨ÒéÖµÊÇÔ¤Áôǰ¼¸¸öÎïÀí CPU£¬°ÑºóÃæµÄËùÓÐ CPU ·ÖÅ䏸ÐéÄâ»úʹÓ㬿ÉÒÔÅäºÏ cgroup »òÕßÄÚºËÆô¶¯²ÎÊýÀ´ÊµÏÖËÞÖ÷»ú½ø³Ì²»Õ¼ÓÃÐéÄâ»úʹÓõÄÄÇЩ CPU ×ÊÔ´¡£

cpu_allocation_ratio = 4.0

ÎïÀí CPU ³¬ÊÛ±ÈÀý£¬Ä¬ÈÏÊÇ 16 ±¶£¬³¬Ïß³ÌÒ²Ëã×÷Ò»¸öÎïÀí CPU£¬ÐèÒª¸ù¾Ý¾ßÌå¸ºÔØºÍÎïÀí CPU ÄÜÁ¦½øÐÐ×ÛºÏÅжϺóÈ·¶¨¾ßÌåµÄÅäÖá£

ram_allocation_ratio = 1.0

ÄÚ´æ·ÖÅ䳬ÊÛ±ÈÀý£¬Ä¬ÈÏÊÇ 1.5 ±¶£¬Éú²ú»·¾³²»½¨Ò鿪Æô³¬ÊÛ¡£

reserved_host_memory_mb = 4096

ÄÚ´æÔ¤ÁôÁ¿£¬Õⲿ·ÖÄÚ´æ²»Äܱ»ÐéÄâ»úʹÓÃ

reserved_host_disk_mb = 10240

´ÅÅÌÔ¤Áô¿Õ¼ä£¬Õⲿ·Ö¿Õ¼ä²»Äܱ»ÐéÄâ»úʹÓÃ

service_down_time = 120

·þÎñÏÂÏßʱ¼äãÐÖµ£¬Èç¹ûÒ»¸ö½ÚµãÉ쵀 nova ·þÎñ³¬¹ýÕâ¸öʱ¼äûÓÐÉϱ¨ÐÄÌøµ½Êý¾Ý¿â£¬api ·þÎñ»áÈÏΪ¸Ã·þÎñÒѾ­ÏÂÏߣ¬Èç¹ûÅäÖùý¶Ì»ò¹ý³¤£¬¶¼»áµ¼ÖÂÎóÅС£

rpc_response_timeout = 300

RPC µ÷Óó¬Ê±Ê±¼ä£¬ÓÉÓÚ Python µÄµ¥½ø³Ì²»ÄÜÕæÕýµÄ²¢·¢£¬ËùÒÔ RPC ÇëÇó¿ÉÄܲ»Äܼ°Ê±ÏìÓ¦£¬ÓÈÆäÊÇÄ¿±ê½ÚµãÔÚÖ´ÐкÄʱ½Ï³¤µÄ¶¨Ê±ÈÎÎñʱ£¬ËùÒÔÐèÒª×ۺϿ¼Âdz¬Ê±Ê±¼äºÍµÈ´ýÈÝÈÌʱ¼ä¡£

multi_host = True

ÊÇ·ñ¿ªÆô nova-network µÄ¶à½Úµãģʽ£¬Èç¹ûÐèÒª¶à½Úµã²¿Êð£¬Ôò¸ÃÏîÐèÒªÉèÖÃΪ True¡£

Keystone

ÅäÖÃÏî½ÏÉÙ£¬Ö÷ÒªÊÇҪȨºâÅäÖÃʲôÑùµÄºó¶ËÇý¶¯£¬À´´æ´¢ token£¬Ò»°ãÊÇ SQL Êý¾Ý¿â£¬Ò²¿ÉÒÔÊÇ memcache¡£sql ¿ÉÒԳ־û¯´æ´¢£¬¶ø memcache ÔòËٶȸü¿ì£¬ÓÈÆäÊǵ±Óû§Òª¸üÐÂÃÜÂëµÄʱºò£¬ÐèҪɾ³ýËùÓйýÆÚµÄ token£¬ÕâÖÖÇé¿öÏ SQL µÄËÙ¶ÈÓë memcache Ïà²îºÜ´óºÜ´ó¡£

glance

°üÀ¨Á½¸ö²¿·Ö£¬glance-api ºÍ glance-registry£¬£º

workers = 2

glance-api ´¦ÀíÇëÇóµÄ×Ó½ø³ÌÊýÁ¿£¬Èç¹ûÅäÖÃ³É 0£¬ÔòÖ»ÓÐÒ»¸öÖ÷½ø³Ì£¬ÏàÓ¦µÄÅäÖÃ³É 2£¬ÔòÓÐÒ»¸öÖ÷½ø³Ì¼Ó 2 ¸ö×Ó½ø³ÌÀ´²¢·¢´¦ÀíÇëÇó¡£½¨Òé¸ù¾Ý½ø³ÌËùÔÚµÄÎïÀí½Úµã¼ÆËãÄÜÁ¦ºÍÔÆÆ½Ì¨ÇëÇóÁ¿À´×ÛºÏÈ·¶¨¡£

api_limit_max = 1000

Óë nova ÖеÄÅäÖà osapi_max_limit ÒâÒåÏàͬ

limit_param_default = 1000

Ò»¸öÏìÓ¦ÖÐ×î´ó·µ»ØÏîÊý£¬¿ÉÒÔÔÚÇëÇó²ÎÊýÖÐÖ¸¶¨£¬Ä¬ÈÏÊÇ 25£¬Èç¹ûÉèÖùý¶Ì£¬¿ÉÄܵ¼ÖÂÏìÓ¦Êý¾Ý±»½Ø¶Ï¡£

OpenStack µ×²ãÒÀÀµÈí¼þ°æ±¾¡¢ÅäÖÃÒÔ¼°ÐÔÄܵ÷ÓÅ

ÐéÄ⻯¼¼ÊõÑ¡ÐÍ

ÔÚ˽ÓÐÔÆÆ½Ì¨µÄÌåϵ¼Ü¹¹ÖУ¬ OpenStack ÒÀÀµÒ»Ð©µ×²ãÈí¼þ£¬ÈçÐéÄ⻯Èí¼þ£¬ÐéÄ⻯¹ÜÀíÈí¼þºÍ Linux Äںˡ£ÕâЩÈí¼þµÄÎȶ¨ÐÔÒÔ¼°ÐÔÄܹØÏµ×ÅÕû¸öÔÆÆ½Ì¨µÄÎȶ¨ÐÔºÍÐÔÄÜ¡£Òò´Ë£¬ÕâЩÈí¼þµÄ°æ±¾Ñ¡ÔñºÍÅäÖõ÷ÓÅÒ²ÊÇÍøÒ×˽ÓÐÔÆ¿ª·¢ÖеÄÒ»¸öÖØÒªÒòËØ¡£

ÔÚÍøÒ×˽ÓÐÔÆÆ½Ì¨ÖУ¬ÎÒÃÇÑ¡ÓõÄÊÇ Linux Äں˼æÈÝ×îºÃµÄ KVM ÐéÄ⻯¼¼Êõ¡£Ïà¶ÔÓÚ Xen ÐéÄ⻯¼¼Êõ£¬KVM ÐéÄ⻯¼¼ÊõÓë Linux ÄÚºËÁªÏµ¸üΪ½ôÃÜ£¬¸üÈÝÒ×ά»¤¡£Ñ¡Ôñ KVM ÐéÄ⻯¼¼Êõºó£¬ÐéÄ⻯¹ÜÀíÇý¶¯²ÉÓÃÁË OpenStack ÉçÇøÎª KVM ÅäÖõļÆËãÇý¶¯ libvirt£¬ÕâÒ²ÊÇÒ»Ì×ʹÓ÷dz£¹ã·º£¬ÉçÇø»îÔ¾¶ÈºÜ¸ßµÄÒ»Ì׿ªÔ´ÐéÄ⻯¹ÜÀíÈí¼þ£¬Ö§³Ö KVM ÔÚÄڵĸ÷ÖÖÐéÄ⻯¹ÜÀí¡£

ÁíÒ»·½Ãæ£¬ÍøÒײÉÓÿªÔ´µÄ Debian ×÷Ϊ×Ô¼ºµÄËÞÖ÷»úÄںˣ¬Ô´Ê¹ÓõÄÊÇ Debian µÄ wheezy Îȶ¨·ÖÖ§£¬KVM ºÍ libvirt ²ÉÓõÄÒ²ÊÇ Debian ÉçÇø wheezy Ô´ÀïÃæµÄ°ü°æ±¾£º

ÄÚºËÑ¡ÐÍ

ÔÚÄں˵ÄÑ¡ÐÍ·½Ã棬ÎÒÃÇÖ÷Òª¿¼ÂÇÈçÏÂÁ½·½ÃæµÄÒòËØ£º

  • Îȶ¨ÐÔ£ºÔÚ¿ª·¢Ë½ÓÐÔÆÆ½Ì¨µÄÒ»¿ªÊ¼£¬Îȶ¨ÐÔ¾ÍÊÇÍøÒ×˽ÓÐÔÆ¿ª·¢µÄÒ»´ó»ù±¾Ô­Ôò¡£ÎÒÃDzÉÓà Debian Linux °æ±¾£¬Ïà¶ÔÀ´Ëµ£¬Debian µÄÔ­ÉúÄÚºËÎÞÒɸüΪÎȶ¨¡£ÕâÒ²ÊÇÎÒÃÇ×ʼµÄÒ»¸öÑ¡Ôñ¡£
  • ¹¦ÄÜÐèÇó£ºÔÚÍøÒ׵͍֯¿ª·¢ÖУ¬ÎªÁ˱£Ö¤ÐéÄâ»úµÄ·þÎñÐÔÄÜ£¬ÎÒÃÇ¿ª·¢ÁË CPU QoS ¼¼ÊõºÍ´ÅÅÌ QoS£¬ËüÒÀÀµµ×²ãµÄ CPU ºÍ blkio cgroup Ö§³Ö¡£Òò´Ë£¬ÎÒÃÇÐèÒª´ò¿ªÄÚºËÖÐµÄ cgroup ÅäÖÃÑ¡Ïî¡£ÁíÒ»·½Ãæ£¬ÍøÒ×˽ÓÐÔÆ×ۺϸ÷·½Ã濼ÂÇ£¬½«Ö§³Ö LXC ÕâÖÖÈÝÆ÷¼¶±ðµÄÐéÄ⻯£¬³ýÁË cgroup Í⣬LXC »¹ÒÀÀµ Linux ÄÚºËÖÐµÄ namespace ÌØÐÔ¡£
×ÛºÏÉÏÊöÒòËØµÄ¿¼ÂÇ£¬ÎÒÃÇÑ¡ÔñÁË Debian ÉçÇøµÄ Linux 3.10.40 ÄÚºËÔ´´úÂ룬²¢ÇÒ´ò¿ªÁË CPU/mem/blkio µÈ cgroup ÅäÖÃÑ¡ÏîÒÔ¼° user namespace µÈ namespace Ñ¡Ï×Ô¼º±àÒëÁËÒ»¸öÊÊÅäÍøÒ×˽ÓÐÔÆµÄ Linux Äںˡ£´ÓʹÓÃÇé¿öÀ´¿´£¬Ñ¡ÔñÉÏÊö°æ±¾µÄ OpenStack µ×²ãÒÀÀµÈí¼þºó£¬ÍøÒ×˽ÓÐÔÆÔËÐл¹±È½ÏÎȶ¨£¬ÎÒÃǺóÐø»¹»áÊÊʱµÄ¶ÔÕâЩÈí¼þ½øÐиüС£ 

ÅäÖÃÓÅ»¯

ÔÚÍøÒ×˽ÓÐÔÆµÄÎȶ¨ÐԵõ½Á˱£ÕÏÖ®ºó£¬ÎÒÃÇ¿ªÊ¼ÁËÐÔÄÜ·½ÃæµÄµ÷ÓŹ¤×÷¡£ÕâÒ»·½Ã棬ÎÒÃDzο¼ÁË IBM ¹«Ë¾µÄһЩ ÓÅÐãʵ¼ù£¬ÔÚ CPU¡¢ÄÚ´æ¡¢I/O µÈ·½Ãæ×öÁËһЩÅäÖ÷½ÃæµÄÓÅ»¯¡£ÕûÌå¶øÑÔ£¬ÍøÒ×˽ÓÐÔÆÔÚ×¢ÖØÎȶ¨ÐԵĻù´¡ÉÏ£¬Ò²»á»ý¼«½è¼øÒµ½çÓÅÐãʵ¼ùÀ´ÓÅ»¯Ë½ÓÐÔÆÆ½Ì¨µÄÕûÌåÐÔÄÜ¡£

CPU ÅäÖÃÓÅ»¯

ΪÁ˱£ÕÏÔÆÖ÷»úµÄ¼ÆËãÄÜÁ¦£¬ÍøÒ×˽ÓÐÔÆ¿ª·¢ÁË CPU QoS ¼¼Êõ£¬¾ßÌåÀ´Ëµ¾ÍÊDzÉÓà cfs µÄʱ¼äƬ¾ùÔȵ÷¶È£¬Íâ¼Ó process pinning µÄ°ó¶¨¼¼Êõ¡£

²Î¿¼ IBM µÄ·ÖÎö£¬ÎÒÃÇÁ˽⵽ÁË process pinning ¼¼ÊõµÄÓÅȱµã£¬²¢ÇÒ¾­¹ý²âÊÔÒ²ÑéÖ¤Á˲»Í¬°ó¶¨·½Ê½µÄÔÆÖ÷»ú¼äµÄÐÔÄÜ´æÔڽϴóµÄ²îÒì¡£±ÈÈ磬2 ¸ö VCPU ·Ö±ð°ó¶¨µ½²»Í¬ numa ½ÚµãµÄ·Ç³¬Ï̺߳ËÉϺͷÖÅäµ½Ò»¶ÔÏàÁڵij¬Ï̺߳ËÉϵÄÐÔÄÜÏà²îÓÐ 30%~40%(ͨ¹ý SPEC CPU2006 ¹¤¾ß²âÊÔ)¡£ÁíÒ»·½Ã棬CPU0 ÓÉÓÚ´¦ÀíÖжÏÇëÇ󣬱¾Éí¸ººÉ¾Í½ÏÖØ£¬²»ÒËÔÙÓÃÓÚÔÆÖ÷»ú¡£Òò´Ë£¬×ÛºÏÉÏÃæµÄÒòËØ¿¼ÂÇÒÔ¼°¶àÂֵIJâÊÔÑéÖ¤£¬ÎÒÃÇ×îÖÕ¾ö¶¨½« 0-3 ºÅ CPU Ô¤Áô³öÀ´£¬È»ºóÈÃÔÆÖ÷»úÔÚÊ£ÓàµÄ CPU ×ÊÔ´ÖÐÓÉËÞÖ÷»úÄÚºËÈ¥µ÷¶È¡£×îÖÕµÄ CPU ÅäÖÃÈçÏÂËùʾ£¨libvirt xml ÅäÖã©£º

ÄÚ´æÅäÖÃÓÅ»¯

ÄÚ´æÅäÖ÷½Ãæ£¬ÍøÒ×˽ÓÐÔÆµÄʵ¼ùÊÇ¹Ø±Õ KVM ÄÚ´æ¹²Ïí£¬´ò¿ªÍ¸Ã÷´óÒ³£º

¾­¹ý SPEC CPU2006 ²âÊÔ£¬ÕâЩÅäÖöÔÔÆÖ÷»ú CPU ÐÔÄÜ´ó¸ÅÓÐ 7%×óÓÒµÄÌáÉý¡£

I/O ÅäÖÃÓÅ»¯

1£©´ÅÅÌ I/O µÄÅäÖÃÓÅ»¯Ö÷Òª°üº¬ÈçÏ·½Ã棺

KVM µÄ disk cache ·½Ê½£º½è¼ø IBM µÄ·ÖÎö£¬ÍøÒ×˽ÓÐÔÆ²ÉÓà none ÕâÖÖ cache ·½Ê½¡£

disk io scheduler£ºÄ¿Ç°ÍøÒ×˽ÓÐÔÆµÄËÞÖ÷»ú´ÅÅ̵÷¶È²ßÂÔÑ¡ÓõÄÊÇ cfq¡£ÔÚʵ¼ÊʹÓùý³ÌÖУ¬ÎÒÃÇ·¢ÏÖ cfq µÄµ÷¶È²ßÂÔ£¬¶ÔÄÇЩµØµÍÅäÖôÅÅ̺ÜÈÝÒ׳öÏÖ I/O µ÷¶È¶ÓÁйý³¤£¬utils 100% µÄÎÊÌâ¡£ºóÐøÍøÒ×˽ÓÐÔÆÒ²»á½è¼ø IBM µÄʵ¼ù£¬¶Ô cfq ½øÐвÎÊýµ÷ÓÅ£¬ÒÔ¼°²âÊÔ deadline µ÷¶È²ßÂÔ¡£

´ÅÅÌ I/O QoS£ºÃæ¶ÔÈÕ½¥Í»³öµÄ´ÅÅÌ I/O ×ÊÔ´½ôȱÎÊÌâ£¬ÍøÒ×˽ÓÐÔÆ¿ª·¢ÁË´ÅÅÌ I/O QoS£¬Ö÷ÒªÊÇ»ùÓÚ blkio cgroup À´ÉèÖÃÆä throttle ²ÎÊýÀ´ÊµÏÖ¡£ÓÉÓÚ libvirt-0.9.12 °æ±¾ÊÇÔÚ QEMU ÖÐÏÞÖÆ´ÅÅÌ I/O£¬²¢ÇÒ´æÔÚ²¨¶¯ÎÊÌ⣬ËùÒÔÎÒÃǵÄʵÏÖÊÇͨ¹ý Nova Ö´ÐÐÃüÁʽдÈëµ½ cgroup ÖС£Í¬Ê±ÎÒÃÇÒ²¿ª·¢²¢Ïò libvirt ÉçÇøÌá½»ÁË blkiotune µÄ throttle ½Ó¿ÚÉèÖà patch£¨ÒÑÔÚ libvirt-1.2.2 °æ±¾ÖкÏÈ룩À´³¹µ×½â¾öÕâ¸öÎÊÌâ¡£

2£©ÍøÂç I/O µÄÅäÖÃÓÅ»¯

ÎÒÃÇÖ÷ÒªÊÇ¿ªÆôÁË vhost_net ģʽ£¬À´¼õÉÙÍøÂçÑÓʱºÍÔö¼ÓÍÌÍÂÁ¿¡£

ÔËά¾­Ñé

ʹÓþ­Ñé

¿ªÔ´Èí¼þ bug ÔÚËùÄÑÃ⣬µ«ÊÇа汾±È¾É°æ±¾»áºÃÓúܶ࣬ÓÈÆäÊǶÔÓÚ OpenStack ÕâÖÖÕýÔÚѸËٳɳ¤×³´óµÄ¿ªÔ´Èí¼þÀ´Ëµ¸üÊÇÈç´Ë£¬ÕâÒ»µãÔÚÎÒÃÇʹÓùý Essex¡¢Folsom ºÍ Havana °æ±¾ºóÉîÓÐÌå»á£¬ËùÒÔ½¨Òé¸÷ÖÖ OpenStack Óû§Äܼ°Ê±µÄ¸ú½øÉçÇø°æ±¾£¬ÓëÉçÇø±£³Öͬ²½¡£

²»ÒªÇáÒ׵ĶÔÉçÇø°æ±¾½øÐи÷ÀàËùνµÄ¹¦ÄÜÐÔÄÜ·½ÃæµÄ"ÓÅ»¯"£¬ÓÈÆäÊÇÔÚûÓÐÓëÉçÇø×¨¼Ò½»»»Òâ¼û֮ǰ£¬Ç§Íò²»ÒªÇáÒ×ÏÂÊÖ£¬·ñÔò´ËÀà"ÓÅ»¯"¼«ÓпÉÄÜÑݱä³É¹ÊÕϵã»òÕßÐÔÄÜÆ¿¾±µã£¬×îÖÕ¿ÉÄܵ¼ÖÂÎÞ·¨ÓëÉçÇøÍ¬²½£¬±Ï¾¹Ò»¸ö¹«Ë¾»òÍŶӣ¨ÓÈÆäÊÇС¹«Ë¾¡¢Ð¡ÍŶӣ©µÄÄÜÁ¦ºÍ֪ʶ´¢±¸£¬ÊǺÜÄÑÓëÉçÇø³É°ÙÉÏǧµÄ¸÷Ààר¼ÒÏàÌá²¢Â۵ġ£

¶à²Î¿¼¸÷Àà´óÐ͹«Ë¾·ÖÏíµÄ²¿Êð¼Ü¹¹·½°¸£¬¾¡Á¿²»Òª×Ô¼º±ÕÃÅÔì³µ£¬ÓÈÆäÊǶÔÓÚ¿ªÔ´Èí¼þÀ´Ëµ£¬¸÷À๫˾¡¢ÍŶӵÄʹÓ󡾰ǧ²îÍò±ð£¬¸÷ÖÖÖܱß×é¼þÒ²ÊÇÓ¦Óо¡ÓУ¬¶à²Î¿¼Òµ½çʵ¼ùÊÇ×îºÃµÄ·½Ê½¡£

һЩϸ½ÚʵÏÖ¿ÉÄÜÓкܶà;¾¶£¬µ«Ã¿ÖÖ·½Ê½¶¼ÓÐÓÅȱµã£¬ÐèÒª¾­¹ý³ä·ÖµÄÂÛÖ¤¡¢·ÖÎö¡¢²âÊÔÑéÖ¤ºó£¬²ÅÄÜ¿¼ÂDz¿Êðµ½Éú²ú»·¾³Ê¹Óá£

ËùÓеIJ¿Êð·½°¸¡¢¹¦ÄÜÉè¼Æ¶¼Òª¿¼Âǵ½Æ½»¬Éý¼¶ÎÊÌ⣬¼´Ê¹ÄãµÃµ½µÄÐÅÏ¢ÊÇÉý¼¶Ê±¿ÉÒÔÍ£·þ£¬ÈÔȻҪ¾¡Á¿±ÜÃâÕâÖÖÇé¿ö£¬ÒòΪͣ·þµÄÓ°Ï췶ΧºÜÄѽ綨¡£

ÔËά׼Ôò

OpenStack Ò²ÊÇÒ»¸öºó¶Ëϵͳ·þÎñ£¬ËùÓÐϵͳÔËάÏà¹ØµÄ»ù±¾×¼Ôò¶¼ÊÊÓã¬ÕâÀï¼òµ¥µÄÌἸµãʵ¼ÊÔËά¹ý³ÌÖиù¾ÝÓöµ½µÄÎÊÌâ×ܽáµÄһЩ¾­Ñé:

    ÅäÖÃÏîĬÈÏÖµÓëʵ¼Ê»·¾³²»Æ¥Åä¿ÉÄܵ¼Ö¸÷ÖÖÎÊÌ⣬ÓÈÆäÊÇÍøÂçÏà¹ØÅäÖÃÓëÓ²¼þÓкÜÇ¿µÄ¹ØÁªÐÔ£¬Éú²ú»·¾³ºÍ¿ª·¢»·¾³Ó²¼þÒì¹¹£¬µ¼Ö²¿·ÖĬÈÏÖµÔÚÉú²ú»·¾³²»ÊÊÓá£Ó¦¶Ô×¼Ôò£ºÃ¿¸ö°æ±¾¶¼±ØÐëÔÚÓëÏßÉÏÓ²¼þÏàͬµÄ»·¾³²âÊÔ¹ý²ÅÄÜÉÏÏß¡£

    ×öºÃÈÝÁ¿¹æ»®£¬ÒÑ·ÖÅäµÄÅä¶îÁ¿ÒªÐ¡ÓÚÔÆÆ½Ì¨×ÜÈÝÁ¿£¬·ñÔò»á³öÏÖ¸÷ÖÖÎÊÌ⣬µ¼ÖÂÔËά¿ª·¢ºÄ·ÑºÜ¶à²»±ØÒªµÄ¾«Á¦È¥¶¨Î»·ÖÎöÎÊÌâ¡£

    ÅäÖÃÏî¹ý¶àÈÝÒ׳ö´í£¬ÐèÒªÓ뿪·¢ÈËÔ±Ò»Æð×ÐϸºË¶Ô£¬ÉÏÏßʱÊ×ÏÈҪͨ¹ý puppet µÄ noop ¹¦ÄÜÑéÖ¤¸Ä¶¯ÊÇ·ñÕýÈ·ºó£¬²ÅÄÜÕæÕýÉÏÏß¡£

    ÍøÂç¹æ»®ÒªÌáǰ×öºÃ£¬Èç¹Ì¶¨ IP¡¢¸¡¶¯ IP¡¢VLAN ÊýÁ¿µÈ£¬ÍøÂçÀ©ÈÝÄѶȺͷçÏÕ¶¼±È½Ï´ó£¬ËùÒÔÌáǰ¹æ»®ºÃÊÇ×î±£Ïյģ¬Ò»¸öÔ­ÔòÊÇ´ó±ÈСºÃ£¬¶à±ÈÉٺá£

    ÍøÂç¸ôÀëÒª×öºÃ£¬·ñÔòÓû§ÍøÂ簲ȫû°ì·¨±£Ö¤¡£

    ÐÅÏ¢°²È«ÎÊÌâÒªÖØÊÓ£¬Õâ¸öÊÇÀÏÉú³£Ì¸µÄÎÊÌâÁË£¬Ã¿¸öƽ̨¶¼ÓÐÏàͬÎÊÌ⣬µ«»¹ÊÇÒªÖØÊÓÔÙÖØÊÓ£¬Ò»µ©³öÏÖ°²È«Â©¶´£¬ËùÓÐÐéÄâ»ú¶¼ÃæÁÙÑÏÖØÍþв¡£

   
2032 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
Èí¼þ¼Ü¹¹Éè¼Æ
ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
¼Ü¹¹¸¯»¯Ö®ÃÕ
̸ƽ̨¼´·þÎñPaaS
Ïà¹ØÅàѵ¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

ÉϺ£ »¥ÁªÍø¼Ü¹¹Éè¼ÆÊµ¼ù
ÉϺ£ Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸Àý
µçÑлªÔ´ Éè¼ÆÔ­Àí¡¢½¨Ä£ÓëÖØ¹¹
±±¾© Èí¼þ¼Ü¹¹Éè¼Æ°¸ÀýÓëʵ¼ù
¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
ÑÇÐÅ UI½çÃæÉè¼Æ
±±¾© UI½çÃæÉè¼Æ