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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
OpenStackÔÆ¶ËµÄ×ÊÔ´µ÷¶ÈºÍÓÅ»¯ÆÊÎö
 
  À´Ô´;CSDN ·¢²¼ÓÚ 2016-9-29
  2791  次浏览      27
 

OpenStack¼ò½é£ºOpenStackÊÇÖ¼ÔÚΪ¹«Óм°Ë½ÓÐÔÆµÄ½¨ÉèÓë¹ÜÀíÌṩÈí¼þµÄÒ»¸ö¿ªÔ´ÏîÄ¿£¬²ÉÓÃApacheÊÚȨЭÒ飬ËüµÄºËÐÄÈÎÎñÊǼò»¯ÔÆÏµÍ³µÄ²¿Êð¹ý³Ì£¬²¢ÇÒ¸³ÓèÆäÁ¼ºÃµÄ¿ÉÀ©Õ¹ÐԺͿɹÜÀíÐÔ¡£ËüÒѾ­ÔÚµ±Ç°µÄ»ù´¡ÉèÊ©¼´·þÎñ(IaaS)×ÊÔ´¹ÜÀíÁìÓòÕ¼¾ÝÁìµ¼µØÎ»£¬³ÉΪ¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆ¼°»ìºÏÔÆ¹ÜÀíµÄ¡°ÔƲÙ×÷ϵͳ¡±ÊÂʵÉϵıê×¼£¬ÔÚÕþ¸®¡¢µçÐÅ¡¢½ðÈÚ¡¢ÖÆÔì¡¢ÄÜÔ´¡¢ÁãÊÛ¡¢Ò½ÁÆ¡¢½»Í¨µÈÐÐÒµ³ÉΪÆóÒµ´´ÐµÄÀûÆ÷¡£OpenStack»ùÓÚ¿ª·ÅµÄ¼Ü¹¹£¬Ö§³Ö¶àÖÖÖ÷Á÷µÄÐéÄ⻯¼¼Êõ£¬Ðí¶àÖØÁ¿¼¶µÄ¿Æ¼¼¹«Ë¾ÈçRedHat£¬AT&T£¬IBM£¬HP£¬SUSE£¬Intel£¬AMD£¬Cisco£¬Microsoft£¬Citrix£¬DellµÈ²ÎÓë¹±Ï×Éè¼ÆºÍʵÏÖ£¬¸ü¼ÓÍÆ¶¯ÁËOpenStackµÄ¸ßËٳɳ¤£¬ ´òÆÆÁËAmazonµÈÉÙÊý¹«Ë¾ÔÚÊг¡ÉÏ¢¶ÏµÄ¾ÖÃæ£¬½â¾öÁËÔÆ·þÎñ±»µ¥Ò»³§Ḛ́󶨵ÄÎÊÌâ²¢½µµÍÁËÔÆÆ½Ì¨²¿Êð³É±¾¡£

OpenStack×ÊÔ´µ÷¶ÈºÍÓÅ»¯ÏÖ×´

OpenStackµÄÐéÄâ»úµ÷¶È²ßÂÔÖ÷ÒªÊÇÓÉFilterSchedulerºÍChanceSchedulerʵÏֵ쬯äÖÐFilterScheduler×÷ΪĬÈϵĵ÷¶ÈÒýÇæÊµÏÖÁË»ùÓÚÖ÷»ú¹ýÂË(filtering)ºÍȨֵ¼ÆËã(weighing)µÄµ÷¶ÈËã·¨£¬¶øChanceSchedulerÔòÊÇ»ùÓÚËæ»úËã·¨À´Ñ¡Ôñ¿ÉÓÃÖ÷»úµÄ¼òµ¥µ÷¶ÈÒýÇæ¡£Èçͼ1ÊÇFilterSchedulerµÄÐéÄâ»úµ÷¶È¹ý³Ì£¬ËüÖ§³Ö¶àÖÖbuilt-inµÄfilterºÍweigherÀ´Âú×ãһЩ³£¼ûµÄÒµÎñ³¡¾°¡£ÔÚÉè¼ÆÉÏ£¬OpenStack»ùÓÚfilterºÍweigherÖ§³ÖµÚÈý·½À©Õ¹£¬Òò´ËÓû§¿ÉÒÔͨ¹ý×Ô¶¨ÒåfilterºÍweigher£¬»òÕßʹÓÃjson×ÊÔ´Ñ¡Ôñ±í´ïʽÀ´Ó°ÏìÐéÄâ»úµÄµ÷¶È²ßÂÔ´Ó¶øÂú×㲻ͬµÄÒµÎñÐèÇó¡£

¡¡¡¡Í¼ 1£ºOpenStackµ÷¶Èworkflow

Built-inµÄfilter(²¿·Ö)£º

ComputeFilter¹ýÂ˼ÆËã½Úµãdown»úµÄÖ÷»ú

CoreFilter¹ýÂËvcpu²»Âú×ãÐéÄâ»úÇëÇóµÄÖ÷»ú

DiskFilter¹ýÂËdisk²»Âú×ãÐéÄâ»úÇëÇóµÄÖ÷»ú

RamFilter¹ýÂËram²»Âú×ãÐéÄâ»úÇëÇóµÄÖ÷»ú

ImagePropertiesFilter¹ýÂË architecture, hypervisor type²»Âú×ãÐéÄâ»úÇëÇóµÄÖ÷»ú

SameHostFilter¹ýÂ˺ÍÖ¸¶¨ÐéÄâ»ú²»ÔÚͬһ¸öÖ÷»úÉϵÄÖ÷»ú

DifferentHostFilter¹ýÂ˺ÍÖ¸¶¨ÐéÄâ»úÔÚͬһ¸öÖ÷»úÉϵÄÖ÷»ú

JsonFilter¹ýÂ˲»Âú×ãOpenStack×Ô¶¨ÒåµÄjson×ÊÔ´Ñ¡Ôñ±í´ïʽµÄÖ÷»ú£ºjson×ÊÔ´Ñ¡Ôñ±í´ïʽÐÎÈç query=¡¯[¡°>¡±, ¡°$cpus¡±,4]¡¯±íʾ¹ýÂ˵ôcpusСÓÚµÈÓÚ4µÄÖ÷»ú

Built-inµÄweigher(²¿·Ö)£º

RAMWeigher¸ù¾ÝÖ÷»úµÄ¿ÉÓÃramÅÅÐò

IoOpsWeigher¸ù¾ÝÖ÷»úµÄio¸ºÔØÅÅÐò

ÔÚÒ»¸ö¸´ÔÓµÄÔÆÏµÍ³ÖУ¬¶ÔÔÆ¼ÆËã×ÊÔ´µÄ¼à¿ØºÍÓÅ»¯¶ÔÓÚ±£Ö¤ÔÆÏµÍ³µÄ½¡¿µÔËÐУ¬Ìá¸ßIT¹ÜÀíµÄЧÂÊÓÐÖØÒªµÄ×÷Óá£×îа汾µÄOpenStackҲûÓÐÌṩÀàËÆµÄ¹¦ÄÜ£¬Õâ¿ÉÄÜÊÇÓÉÓÚÔÆÏµÍ³µÄ¼à¿ØµÄ¶ÔÏóºÍÓÅ»¯Ä¿±ê¶ÔÓÚ²»Í¬µÄÓû§Óв»Í¬µÄÒªÇó£¬ÄÑÓÚÐγÉͳһʵÏֺͼܹ¹£¬µ«ÊÇOpenStackÒѾ­Òâʶµ½Õⲿ·ÖµÄÖØÒªÐÔ²¢ÇÒÆô¶¯ÁË2¸öÏîÄ¿À´ÃÖ²¹Õâ¸ö¶Ì°å£¬µ±Ç°ËüÃǶ¼´¦ÓÚ·õ»¯½×¶Î£º

Watcher(https://github.com/openstack/watcher)£ºÒ»¸öÁé»îµÄ¡¢¿ÉÉìËõµÄ¶à×â»§OpenStack-basedÔÆ×ÊÔ´ÓÅ»¯·þÎñ£¬Í¨¹ýÖÇÄܵÄÐéÄâ»úÇ¨ÒÆ²ßÂÔÀ´¼õÉÙÊý¾ÝÖÐÐĵÄÔËÓª³É±¾ºÍÔö¼ÓÄÜÔ´µÄÀûÓÃÂÊ¡£

Congress(https://github.com/openstack/congress)£ºÒ»¸ö»ùÓÚÒì¹¹ÔÆ»·¾³µÄ²ßÂÔÉùÃ÷¡¢¼à¿Ø£¬ÊµÊ©£¬Éó¼ÆµÄ¿ò¼Ü¡£

PRS¼ò½é

ÓÉÓÚOpenStack¿ªÔ´µÄÌØÐÔ£¬Ö±½ÓͶÈëÉÌҵʹÓÿÉÄÜÃæÁÙºóÆÚÉý¼¶£¬Î¬»¤£¬¶¨ÖÆ»¯ÐèÇóÎÞ·¨ÍƽøµÄÎÊÌ⣬Òò´ËһЩÓм¼ÊõʵÁ¦µÄ¹«Ë¾¶¼»ùÓÚOpenStack¿ª·¢ÁË×Ô¼ºÉÌÒµ»¯µÄ°æ±¾£¬ÕâЩÉÌÒµ»¯°æ±¾µÄOpenStack¶¼°üº¬ÁËһЩ¶ÀÓеÄÌØÐÔ²¢ºÍÉçÇø¿ªÔ´µÄOpenStackÐγÉÁ˲îÒ컯, ±ÈÈçÍêÉÆÁËOpenStackÐéÄâ»úµÄµ÷¶ÈºÍ±àÅŹ¦ÄÜ£¬¼ÓÇ¿ÁËÔÆÏµÍ³µÄÔËÐÐʱ¼à¿ØºÍÓÅ»¯£¬ÃÖ²¹ÁËÔÆÏµÍ³×Ô¶¯»¯ÔÖÄѻָ´µÄ¿Õȱ£¬¼ò»¯ÁËÔÆÏµÍ³µÄ°²×°ºÍ²¿Êð£¬ÒýÈëÁË»ùÓÚ×ÊԴʹÓÃʱ³¤µÄÕÊÎñ·ÑÓÃϵͳµÈµÈ¡£PRS(Platform Resource Scheduler)ÊÇIBM Platform Computing¹«Ë¾µÄ»ùÓÚOpenStackµÄÉÌÒµ»¯×ÊÔ´µ÷¶È£¬±àÅźÍÓÅ»¯µÄÒýÇæ£¬Ëü»ùÓÚ¶ÔÔÆ¼ÆËã×ÊÔ´µÄ³éÏóºÍÔ¤Ïȶ¨ÒåµÄµ÷¶ÈºÍÓÅ»¯²ßÂÔ£¬ÎªÐéÄâ»úµÄ·ÅÖö¯Ì¬µØ·ÖÅäºÍƽºâ¼ÆËãÈÝÁ¿£¬²¢ÇÒ²»¼ä¶ÏµØ¼à¿ØÖ÷»úµÄ½¡¿µ×´¿ö£¬Ìá¸ßÁËÖ÷»úµÄÀûÓÃÂʲ¢±£³ÖÓû§ÒµÎñµÄ³ÖÐøÐÔºÍÎȶ¨ÐÔ£¬½µµÍIT¹ÜÀí³É±¾¡£PRS²ÉÓÿɲå°ÎʽµÄÎÞÇÖÈëÉè¼Æ,100%¼æÈÝOpenStack API, ²¢ÇÒ¶ÔÍâÌṩ±ê×¼µÄ½Ó¿Ú£¬·½±ãÓû§½øÐжþ´Î¿ª·¢£¬ÒÔÂú×㲻ͬÓû§µÄÒµÎñÐèÇó¡£±¾ÎĽ«»á´ÓÐéÄâ»ú³õʼµ÷¶È²ßÂÔ£¬ÊµÊ±¼à¿ØºÍÓÅ»¯²ßÂÔ£¬Óû§×Ô¶¨ÒåOpenStack Filter£¬ÐéÄâ»úµ÷¶Èʧ°ÜµÄTrouble Shooting ReportºÍ»ùÓÚÍØÆË½á¹¹µ÷¶ÈµÈ·½Ãæ¸ÅÀ¨½éÉÜPRSµÄÖ÷Òª¹¦ÄܺÍʹÓó¡¾°£¬Ö®ºó½«ÓÐһϵÁÐÎÄÕ¶Ôÿ¸öÖ÷ÌâÕ¹¿ªÉîÈë½éÉÜ¡£

ÐéÄâ»ú³õʼµ÷¶È²ßÂÔ

ÐéÄâ»úµÄ³õʼ·ÅÖòßÂÔÖ¸µÄÊÇÓû§¸ù¾ÝÐéÄâ»ú¶Ô×ÊÔ´µÄÒªÇó¾ö¶¨ÐéÄâ»ú¾¿¾¹Ó¦¸Ã´´½¨ÔÚÄÄÖÖÀàÐ͵ÄÖ÷»úÉÏ£¬ÕâÖÖ×ÊÔ´ÒªÇó¾ÍÊÇÒ»Ð©Ô¼ÊøÌõ¼þ»òÕß²ßÂÔ¡£ÀýÈ磬Óû§µÄÐéÄâ»úÐèҪѡÔñCPU»òÕßÄÚ´æ´óСÂú×ãÒ»¶¨ÒªÇóµÄÖ÷»úÈ¥·ÅÖã¬ÐéÄâ»úÊÇÐèÒª·ÅÖÃÔÚ±±¾©µÄÊý¾ÝÖÐÐÄ»¹ÊÇÎ÷°²µÄÊý¾ÝÖÐÐÄ£¬¼¸¸öÐéÄâ»úÊÇ·ÅÔÚÏàͬµÄÖ÷»úÉÏ»¹ÊÇ·ÅÖÃÔÚ²»Í¬µÄÖ÷»úÉϵȵȡ£Ô­ÉúOpenStackµ÷¶È¿ò¼ÜÔÚÁé»îµÄÖ§³ÖµÚÈý·½µÄfilterºÍweigherµÄͬʱҲɥʧÁ˶Ե÷¶È²ßÂÔµÄͳһÅäÖú͹ÜÀí£¬µ±Ç°PRSÖ§³ÖÈçͼ2µÄ³õʼ·ÅÖòßÂÔ£¬²¢ÇÒ¿ÉÒÔÔÚÔËÐÐʱ¶¯Ì¬µÄÐ޸ķÅÖòßÂÔ¡£

ͼ2£ºÐéÄâ»ú³õʼ·ÅÖòßÂÔ

Packing£º ÐéÄâ»ú¾¡Á¿·ÅÖÃÔÚº¬ÓÐÐéÄâ»úÊýÁ¿×î¶àµÄÖ÷»úÉÏ

Stripping: ÐéÄâ»ú¾¡Á¿·ÅÖÃÔÚº¬ÓÐÐéÄâ»úÊýÁ¿×îÉÙµÄÖ÷»úÉÏ

CPU load balance£ºÐéÄâ»ú¾¡Á¿·ÅÔÚ¿ÉÓÃcore×î¶àµÄÖ÷»úÉÏ

Memory load balance£ºÐéÄâ»ú¾¡Á¿·ÅÔÚ¿ÉÓÃmemory ×î¶àµÄÖ÷»úÉÏ

Affinity : ¶à¸öÐéÄâ»úÐèÒª·ÅÖÃÔÚÏàͬµÄÖ÷»úÉÏ

AntiAffinity: ¶à¸öÐéÄâ»úÐèÒª·ÅÔÚÔÚ²»Í¬µÄÖ÷»úÉÏ

CPU Utilization load balance£ºÐéÄâ»ú¾¡Á¿·ÅÔÚCPUÀûÓÃÂÊ×îµÍµÄÖ÷»úÉÏ

ʵʱ¼à¿ØºÍÓÅ»¯²ßÂÔ

Ëæ×ÅOpenStackÔÆÏµÍ³µÄ³ÖÐøÔËÐУ¬ÔÆÏµÍ³ÖеļÆËã×ÊÔ´ÓÉÓÚÐéÄâ»úµÄ·ÅÖûá²úÉúË鯬»ò·ÖÅä²»¾ù£¬ÐéÄâ»úµÄÔËÐÐЧÂÊÓÉÓÚÖ÷»úload¹ýÔØ¶ø½µµÍ£¬Ö÷»úµÄdown»ú»áÔì³ÉÓû§Ó¦ÓóÌÐòÎÞ·¨Ê¹ÓõÈһϵÁÐÎÊÌâ¡£ Óû§¿ÉÒÔͨ¹ýÈ˹¤¸ÉÔ¤µÄ·½Ê½À´ÅųýÕâЩÎÊÌâ. ÀýÈçÓû§¿ÉÒÔ½«load±È½Ï¸ßµÄÖ÷»úÉϵÄÐéÄâ»úmigrateµ½ÆäËûÖ÷»úÉÏÀ´½µµÍ¸ÃÖ÷»úµÄload£¬Í¨¹ýrebuildÐéÄâ»ú´ÓdownµôµÄÖ÷»úÉϵ½ÆäËü¿ÉÓÃÖ÷»úÉϽâ¾öÓû§Ó¦ÓóÌÐò¸ß¿ÉÓÃÐÔµÄÎÊÌ⣬µ«ÕâÐèÒªÏûºÄ´óÁ¿µÄITά»¤³É±¾£¬²¢ÇÒÒýÈë¸ü¶àµÄÈËΪµÄ·çÏÕ¡£PRSÕë¶ÔÕâЩÎÊÌâÌṩÁËÈçͼ3µÄÁ½ÖÖÀàÐ͵ÄÔËÐÐʱ²ßÂÔÀ´³ÖÐøµÄ¼à¿ØºÍÓÅ»¯ÔÆÏµÍ³¡£

ͼ 3£º¼à¿ØºÍÓÅ»¯²ßÂÔ

»ùÓÚÐéÄâ»úµÄHA²ßÂÔ£ºµ±Ö÷»údown»úºó£¬Ö÷»úÉÏÔËÐеÄÐéÄâ»ú»á×Ô¶¯rebuildµ½ÐµĿÉÓÃÖ÷»úÉÏ

»ùÓÚÖ÷»úµÄLoad Balance²ßÂÔ £ºÖ§³ÖPacking/Stripping/CPU load balance/Memory load balance/CPU Utilization load balance²ßÂÔ£¬¸ù¾ÝÓû§ÉèÖõÄãÐÖµ³ÖÐø²»¶ÏµÄƽºâϵͳÖÐÖ÷»úÉϵļÆËã×ÊÔ´

Óû§¿ÉÒÔ¸ù¾ÝÒµÎñÐèÒª¶¨ÒåÏàÓ¦µÄÓÅ»¯²ßÂÔ¼à¿ØÖ÷»úµÄ½¡¿µ×´¿ö²¢½øÐгÖÐø²»¶ÏµÄÓÅ»¯¡£ÀýÈ磬Óû§¶¨ÒåµÄ¼¯ÈºÖÐÖ÷»úÔËÐÐʱ¼à¿ØLoad Balance²ßÂÔÊÇ CPU Utilization Load Balance£¬²¢ÇÒãÐÖµÊÇ70%£¬ Õâ¾ÍÒâζ×ŵ±Ö÷»úµÄCPUÀûÓÃÂʳ¬¹ý70%µÄʱºò£¬Õâ¸öÖ÷»úÉϵÄÐéÄâ»ú»á±»PRSÔÚÏßÇ¨ÒÆµ½±ðµÄCPU ÀûÓÃÂÊСÓÚ70%µÄÖ÷»úÉÏ£¬´Ó¶ø±£Ö¤¸ÃÖ÷»úʼÖÕ´¦ÓÚ½¡¿µµÄ״̬£¬²¢ÇÒÆ½ºâÁ˼¯ÈºÖÐÖ÷»úµÄ¼ÆËã×ÊÔ´¡£ÕâÁ½ÖÖÔËÐÐʱ¼à¿Ø²ßÂÔ¿ÉÒÔͬʱÔËÐв¢ÇÒ¿ÉÒÔÖ¸¶¨¼à¿ØµÄ·¶Î§£º

Õû¸ö¼¯Èº£º¼à¿ØµÄ²ßÂÔ×÷ÓÃÓÚÕû¸ö¼¯ÈºÖÐËùÓеÄÖ÷»ú

Host aggregation£ºhost aggregationÊÇOpenStack¶ÔһȺ¾ßÓÐÏàͬÖ÷»úÊôÐÔµÄÒ»¸öÂß¼­»®·Ö£¬ÕâÑùÓû§¿ÉÒÔ¸ù¾ÝÒµÎñÐèÇó¶Ô²»Í¬µÄhost aggregation¶¨Ò岻ͬLoad Balance²ßÂÔ£¬ÀýÈç¶Ô aggregation 1 Ó¦ÓÃPacking²ßÂÔ£¬ ¶Ô aggregation 2Ó¦ÓÃStripping²ßÂÔ¡£

Óû§×Ô¶¨ÒåOpenStack Filter

OpenStack¶ÔÐéÄâ»úµÄµ÷¶ÈÊÇ»ùÓÚ¶ÔÖ÷»úµÄ¹ýÂ˺ÍȨֵ¼ÆË㣬PRSҲʵÏÖÁËÏàͬµÄ¹¦ÄÜ£¬²¢ÇÒΪÌṩÁ˸ü¼ÓÓÅÑŵĽӿڷ½±ãÓû§¶¨Òå³ö¸´ÔÓµÄfilterÁ´£¬²¢ÇÒÅäºÏʹÓÃÐéÄâ»ú³õʼµ÷¶È²ßÂÔ´Ó¶ø¶¯Ì¬µÄ½«Óû§×Ô¶¨ÒåµÄÐéÄâ»ú·ÅÖòßÂÔ²åÈëµ½ÐéÄâ»úµÄµ÷¶È¹ý³ÌÖÐÈ¥Âú×ãÒµÎñµÄÐèÇó£º

PRS filterÖ§³Ö¶¨Òåworking scope£ºOpenStackÔ­ÉúµÄfilter»áĬÈÏ×÷ÓÃÓÚÐéÄâ»úµ÷¶ÈµÄÕû¸öÉúÃüÖÜÆÚ£¬±ÈÈç create, live migrate, cold migrate, resizeµÈ¡£¶øPRSΪfilter¶¨ÒåÁËworking scope, ÕâÑù¿ÉÒÔʵÏÖÈÃijЩfilterÔÚcreateÐéÄâ»úµÄʱºòÉúЧ£¬Ä³Ð©filterÔÚÐéÄâ»úmigrateµÄʱºòÉúЧ£¬²¢ÇÒ»¹Ö§³ÖÈÃÒ»¸öfilter¹¤×÷ÔÚ¶à¸öworking scope.

PRS filterÖ§³Ö¶¨Òåinclude hostsºÍexclude hosts£ºÓû§¿ÉÒÔÖ±½ÓÔÚfilterÖÐΪÐéÄâ»úÖ¸¶¨ÐèÒªÅųýµÄÖ÷»úÁбí»òÕßÐèÒª·ÅÖõÄÖ÷»úÁбí

PRS filterÖ§³Ö¶¨ÒåPRS×ÊÔ´²éѯÌõ¼þ£ºÓû§Ò²¿ÉÒÔÔÚfilterÖж¨ÒåPRS×ÊÔ´²éѯÌõ¼þ£¬Ö±½ÓÑ¡ÔñÌõ¼þ¾ß±¸×¡Ö÷»úÁÐ±í£¬ÀýÈç select(vcpu>2 && memSize>1024)

ͼ 4£ºPRS filter workflow

ÐéÄâ»úµ÷¶Èʧ°ÜTrouble Shooting Report

µ±ÐéÄâ»ú´´½¨Ê§°Ü´¦ÓÚErrorµÄʱºò£¬ÔÆÏµÍ³Ó¦¸ÃÌṩ×ã¹»µÄÄÜÁ¦·½±ã¹ÜÀíÔ±trouble shooting£¬´Ó¶ø¾¡¿ìÅųý´íÎó²¢±£Ö¤ÔÆÏµÍ³Õý³£ÔËÐС£Ôì³ÉÐéÄâ»ú²¿Êðʧ°ÜµÄÔ­ÒòÖ÷ÒªÓÐ2ÖÖ£ºµÚÒ»ÖÖÊǵ÷¶Èʧ°Ü£¬Ã»ÓÐ×ã¹»µÄ¼ÆËã×ÊÔ´»òÕߺÏÊʵÄÖ÷»úÂú×ãÐéÄâ»úÐéÄâ»úµÄÇëÇó¡£ µÚ¶þÖÖÊǵ÷¶È³É¹¦£¬µ«ÊÇÔÚ¼ÆËã½ÚµãÉϲ¿ÊðÐéÄâ»úµÄʱºòʧ°Ü£¬Ô­ÒòÊǶàÖÖ¶àÑùµÄ£¬±ÈÈçLibvirt´íÎó£¬imageÀàÐÍ´íÎó, ´´½¨ÐéÄâ»úÍøÂçʧ°ÜµÈ¡£µ±Ç°µÄOpenStackÐéÄâ»úµÄTrouble Shooting»úÖÆ²»Äܹ»ÇåÎú·´Ó³ÎÊÌâµÄÔ­Òò£¬ÐèÒª¹ÜÀíÔ±´óÁ¿µÄ·ÖÎö¹¤×÷£¬ÕâÎÞÒÉÔö¼ÓÁËÅųýÎÊÌâµÄÄѶȺÍʱ¼ä£º

¶ÔÓÚÐéÄâ»úµ÷¶Èʧ°Ü£¬OpenStackÖ»Ìṩ NoValidHostµÄ´íÎóÒì³£À´±íÃ÷ûÓпÉÓõÄ×ÊÔ´£¬Óû§ÎÞ·¨Í¨¹ýCLI(nova show $vm_uuid) µÃµ½ÊÇÄĸöfilterµÄÔ¼ÊøÌõ¼þÔì³Éµ÷¶Èʧ°Ü¡£

¶ÔÓÚ²¿Êðʧ°Ü£¬¹ÜÀíÔ±ÐèÒªSSHµ½Ê§°ÜµÄ¼ÆËã½ÚµãÈ¥¼ì²éÈÕÖ¾Îļþ·ÖÎöʧ°ÜÔ­Òò

PRSÌṩÁËtrouble shooting report ͳһµÄÊÓͼÏÔʾÐéÄâ»úÕû¸öÉúÃüÖÜÆÚ(create/migrate/resize/µÈ)²Ù×÷ʧ°ÜµÄÔ­ÒòÈçͼ5£¬ÐéÄâ»útest_vmÔÚµÚÒ»´Î´´½¨µÄʱºòÓÉÓÚûÓÐ×ã¹»µÄ¼ÆËã×ÊÔ´»òÕߺÏÊʵÄÖ÷»ú¶øÊ§°Ü(¡°Error Message¡±Ñ¡ÏîÓÐʧ°ÜÔ­Òò£¬¡±Deployed Host¡±Îª¿ÕµÄÁбí)¡£ÓÉtrouble shooting reportµÄ¡°Available Hosts¡±Ñ¡Ïî¿ÉÒÔÖªµÀϵͳÖÐÓÐ4̨Ö÷»ú£¬ÂÌÉ«µÄ·½¿ò±íʾϵͳÖÐÿһ¸öfillterµÄ×ÊÔ´ÒªÇóºÍÂú×ã×ÊÔ´ÒªÇóµÄÖ÷»úÁÐ±í¡£×îÖÕÑ¡ÔñµÄÖ÷»úÓ¦¸Ã±»°üº¬ÔÚËùÓÐfilterÖ÷»úÁбíÖС£ÓÉComputeFilterÑ¡ÔñµÄÖ÷»úÁÐ±í²»°üº¬Ö÷»ú¡°my-comp3¡±£¬¿ÉÒԵôËÖ÷»úµÄnov-compute service¿ÉÄܱ»¹Ø±Õ£¬ÓÉDiskFilterµÄÖ÷»úÁÐ±í²»°üº¬¡°my-comp1¡±ºÍÖ÷»ú¡°my-comp2¡±¿ÉÒÔµÃÖªÕâЩÖ÷»úµÄ¿ÉÓÃdisk×ÊÔ´²»×ã(<1024MB)£¬²¢ÇÒÕâÁ½¸öfilterÑ¡ÔñµÄÖ÷»úûÓн»¼¯£¬Òò´Ëµ÷¶Èʧ°Ü£¬¹ÜÀíÔ±¿ÉÒÔ¸ù¾ÝÕâЩÐÅÏ¢ÄÜÃ÷È·µÄÖªµÀµ÷¶Èʧ°ÜµÄÔ­Òò´Ó¶øÇáÒ×µÄÅųý´íÎó¡£

ͼ 5£ºTrouble Shooting Report

»ùÓÚÍØÆË½á¹¹µÄµ÷¶È

OpenStack HeatÊÇÐéÄâ»ú×éµÄ±àÅÅ×é¼þ£¬Ëü±¾ÉíûÓе÷¶ÈÄ£¿é£¬Ëü»ùÓÚNovaµÄFilterScheduler×÷Ϊµ÷¶ÈµÄÒýÇæ¶ÔÒ»×é»ò¶à×éÐéÄâ»ú½øÐÐÖ÷»ú¼¶±ðµÄ±âƽ»¯µ÷¶ÈºÍ±àÅÅ£¬µ«ÕâÖÖµ÷¶ÈÄ£ÐÍÿ´ÎÖ»ÄÜ´¦ÀíÒ»¸öÐéÄâ»úÇëÇ󣬵±²¿Êð¶à¸öÐéÄâ»úµÄʱºò£¬Ëü²»Äܸù¾Ý×ÊÔ´ÇëÇó½øÐÐͳһµÄµ÷¶ÈºÍ»ØËÝ£¬½«»áÔì³Éµ÷¶È½á¹û²»×¼È·¡£ PRS²»µ«Ö§³ÖÖ÷»ú¼¶±ðµÄ±âƽ»¯µ÷¶È£¬»¹Ö§³Ö¶ÔÒ»×éͬ¹¹ÐéÄâ»úÄÚ²¿»òÕßÒ»×éÐéÄâ»úºÍÁíÒ»×éÐéÄâ»úÔÚÒ»¸öÊ÷ÐÎÍØÆË½á¹¹ÉÏ(Region£¬Zone£¬Rack£¬Host)ÉϽøÐÐÕûÌåµ÷¶È¡£»ùÓÚÍØÆË½á¹¹µÄ¶à¸öÐéÄâÕûÌåµ÷¶È¿ÉÒԵõ½Ò»Ð©ÏÔ¶øÒ×¼ûµÄºÃ´¦£¬±ÈÈçÔÚ²¿ÊðµÄʱºòΪÁËÍØÆË½á¹¹Éϲ㼶֮¼ä»òÐéÄâ»úÖ®¼ä»ñµÃ¸üºÃµÄͨÐÅÐÔÄÜ¿ÉÒÔÑ¡ÔñAffinityµÄ²ßÂÔ,ΪÁË»ñµÃÍØÆË½á¹¹Éϲ㼶֮¼ä»òÐéÄâ»úÖ®¼äµÄ¸ß¿ÉÓÃÐÔ£¬¿ÉÒÔÑ¡ÔñAnti-Affinity²ßÂÔ¡£PRSͨ¹ýºÍHeatµÄÉî¶È¼¯³ÉʵÏÖÁË»ùÓÚÍØÆË½á¹¹µÄÕûÌåµ÷¶È¡£ÐµÄHeat×ÊÔ´ÀàÐÍIBM::Policy::GroupÓÃÀ´ÃèÊöÕâÖÖÒ»×é»ò¶à×éÐéÄâ»úÔÚÒ»¸öÊ÷ÐεÄÍØÆË½á¹¹ÉϵIJ¿ÊðÐèÇó¡£

Affinity£ºÓÃÀ´ÃèÊöÒ»×éÐéÄâ»úÄÚ²¿µÄÔÚÖ¸¶¨µÄÍØÆË½á¹¹²ã¼¶ÉÏÊÇAffinityµÄ»òÕßÒ»×éÐéÄâ»úºÍÁíÒ»×éÐéÄâ»úÔÚÖ¸¶¨µÄÍØÆË½á¹¹²ã¼¶ÉÏÊÇAffinityµÄ¡£

Anti-Affinity£ºÓÃÀ´ÃèÊöÒ»×éÐéÄâ»úÄÚ²¿µÄÔÚÖ¸¶¨µÄÍØÆË½á¹¹²ã¼¶ÉÏÊÇAnti-AffinityµÄ»òÕßÒ»×éÐéÄâ»úºÍÁíÒ»×éÐéÄâ»úÔÚÖ¸¶¨µÄÍØÆË½á¹¹²ã¼¶ÉÏÊÇAnti-AffinityµÄ¡£

MaxResourceLostPerNodeFailure£ºÓÃÀ´ÃèÊöµ±ÍØÆË½á¹¹Ö¸¶¨²ã¼¶·¢Éúµ¥µã¹ÊÕÏʱ£¬Óû§µÄÒ»×éÐéÄâ»úÔÚÕâ¸ö²ã¼¶ÉϵÄËðʧÂʲ»ÄܸßÓÚÒ»¸öãÐÖµ

°¸Àý1£ºÈçͼ6£¬Óû§¶¨ÒåÁË2¸öauto scaling group tier1ºÍtier2, ÿ¸ötier¶¼ÐèÒª2¸öÐéÄâ»ú£¬ÆäÖÐtier1ÐèÒªÐéÄâ»úÔÚrack½ÚµãÉÏAnti-Affinity£¬tier2ÐèÒªÐéÄâ»úÔÚrack½ÚµãÉÏAffinity£¬²¢ÇÒtier1ºÍtier2ÉϵÄÐéÄâ»úÖ®¼äÐèÒªÂú×ãAffinity. Õâ¸ö³¡¾°ÀàËÆÓÚÔÚÉú²ú»·¾³Éϲ¿Êð2×éweb application, ÒªÇóÔËÐÐdatabaseµÄÐéÄâ»ú(tier1)ºÍÔËÐÐwebµÄÐéÄâ»ú(tier2)ÔÚÏàͬµÄÖ÷»úÉÏ(·½±ãweb·þÎñÆ÷ºÍdatabase·þÎñÆ÷ͨÐÅ)£¬²¢ÇÒ2¸öÔËÐÐdatabaseµÄÐéÄâ»ú(tier1)ºÍ2ÔËÐÐwebµÄÐéÄâ»ú(tier2)²»ÄÜͬʱÔËÐÐÔÚһ̨Ö÷»úÉÏ(rack¼¶±ðÉÏAnti-Affinity,µ£Ðĵ¥rackµ¥µã¹ÊÕÏÔì³ÉËùÓеÄdatabase·þÎñÆ÷»òÕßweb·þÎñÆ÷¶¼²»¿ÉÓÃ)¡£Í¼µÄ×ó±ßÊÇÒ»¸ö²¿ÊðµÄ½á¹û£¬ºìÉ«µÄÐéÄâ»úµÄÊÇweb·þÎñÆ÷tier1£¬»ÆÉ«µÄÐéÄâ»úÊÇdatabase·þÎñÆ÷(tier2), ÕâÑùhost1ÉϵÄdatabase·þÎñÆ÷Ö±½ÓΪhost1ÉϵÄweb·þÎñÆ÷Ìṩ·þÎñ£¬ host6ÉϵÄdatabase·þÎñÆ÷Ö±½ÓΪhost6ÉϵÄweb·þÎñÆ÷Ìṩ£¬²¢ÇÒrack1»òÕßrack3µÄµ¥µã¹ÊÕÏ£¬²»»áÔì³ÉÓû§web·þÎñµÄÖжϡ£

ͼ6: Affinity/Anti-Affinity²ßÂÔ

°¸Àý2£ºÈçͼ7£¬Óû§¶¨ÒåÁË1¸öauto scaling group tier1£¬ Õâ¸ötier1ÐèÒª4¸öÐéÄâ»ú£¬ÒªÇóµ±zone·¢Éúµ¥µã¹ÊÕϵÄʱºò£¬Óû§µÄ4¸öÐéÄâ»úµÄËðʧÂʲ»ÄÜ´óÓÚ50%¡£Õâ¸ö³¡¾°ÀàËÆÓÚÔÚÉú²ú»·¾³Éϲ¿ÊðÒ»¸öNginx ·þÎñÆ÷¼¯Èº£¬µ±·¢Éú¹ÊÕÏʱ£¬×ÜÓÐÒ»°ëµÄNginx·þÎñÆ÷Äܹ»Õý³£¹¤×÷¡£Í¼µÄ×ó±ßÊÇÒ»¸ö²¿ÊðµÄ½á¹û£¬µ±zon1»òÕßzone2ÖÐÈËÈκÎÒ»¸ö·¢Éú¹ÊÕÏ£¬Óû§µÄÓ¦ÓóÌÐò×î¶àËðʧ2¸öNginx·þÎñÆ÷£¬Âú×ãÓû§µÄÒµÎñÒªÇó£¬ÕâÑùÓû§ÔÚ²¿ÊðµÄʱºò¾Íͨ¹ýÕûÌåÓÅ»¯µÄÐéÄâ»ú·ÅÖòßÂÔʵÏÖÓ¦ÓóÌÐòµÄ¸ß¿ÉÓÃÐÔ¶ø²»±ØµÈ½Úµãʧ°ÜµÄʱºòͨ¹ýPRS HA²ßÂÔµÄ¼à¿Ø²ßÂÔÍöÑò²¹ÀΡ£

ͼ7: MaxResourceLostPerNodeFailure²ßÂÔ

   
2791 ´Îä¯ÀÀ       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 ÔÆ¼ÆËãÓ¦ÓÃ

ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
ijÑз¢ÖÐÐÄ Openstackʵ¼ù
ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
ÔÆ¼ÆËãÓëWindows AzureÅàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ