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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
OpenStack ´æ´¢ÆÊÎö
 
×÷Õߣº³Âº£Ñó À´Ô´£ºIBM ·¢²¼ÓÚ 2016-1-27
  3886  次浏览      27
 

Openstack ͨ¹ý 3 Äê¶àµÄ·¢Õ¹£¬±äµÃÔ½À´Ô½ÅÓ´ó¡£ÕâÒ²ÊÇΪÁËÂú×ã¸ü¶à²»Í¬µÄÐèÇó£¬ÌåÏÖ³ö¿ªÔ´ÏîÄ¿Áé»î¿ìËÙµÄÌØÐÔ¡£±¾ÎIJ»ÊǹØÓÚ Openstack ´æ´¢Ïà¹Ø×é¼þµÄÅäÖ㬶øÊǽéÉÜ 0penstack ´æ´¢ÈëÃŵÄһЩ±ØÒªÀíÂÛ֪ʶ¡£

OpenStack ´æ´¢¼¼Êõ

OpenStack ÆäʵÓÐÈý¸öÓë´æ´¢Ïà¹ØµÄ×é¼þ£¬ÕâÈý¸ö×é¼þ±»ÈËÊìÖªµÄ³Ì¶ÈºÍ×é¼þ±¾Éí³öÏÖʱ¼äµÄÔçÍíÊÇÏà·ûµÄ£¬°´ÊìϤ³Ì¶ÈÅÅÁÐÈçÏ£º

Swift¡ªÌṩ¶ÔÏó´æ´¢£¨Object Storage£©£¬ÔÚ¸ÅÄîÉÏÀàËÆÓÚ Amazon S3 ·þÎñ£¬²»¹ý swift ¾ßÓкÜÇ¿µÄÀ©Õ¹ÐÔ¡¢ÈßÓàºÍ³Ö¾ÃÐÔ£¬Ò²¼æÈÝ S3 API¡£¶ÔÏó´æ´¢Ö§³Ö¶àÖÖÓ¦Ó㬱ÈÈç¸´ÖÆºÍ´æµµÊý¾Ý¡¢Í¼Ïñ»òÊÓÆµ·þÎñ£¬´æ´¢´Î¼¶¾²Ì¬Êý¾Ý£¬¿ª·¢Êý¾Ý´æ´¢ÕûºÏµÄÐÂÓ¦Ó㬴洢ÈÝÁ¿ÄÑÒÔ¹À¼ÆµÄÊý¾Ý£¬Îª Web Ó¦Óô´½¨»ùÓÚÔÆµÄµ¯ÐÔ´æ´¢¡£

Glance¡ªÌṩÐé»ú¾µÏñ£¨Image£©´æ´¢ºÍ¹ÜÀí£¬ËüÄܹ»ÒÔÈýÖÖÐÎʽ¼ÓÒÔÅäÖãºÀûÓà OpenStack ¶ÔÏó´æ´¢»úÖÆÀ´´æ´¢¾µÏñ£»ÀûÓà Amazon µÄ¼òµ¥´æ´¢½â¾ö·½°¸£¨¼ò³Æ S3£©Ö±½Ó´æ´¢ÐÅÏ¢£»»òÕß½« S3 ´æ´¢Óë¶ÔÏó´æ´¢½áºÏÆðÀ´£¬×÷Ϊ S3 ·ÃÎʵÄÁ¬½ÓÆ÷¡£OpenStack ¾µÏñ·þÎñÖ§³Ö¶àÖÖÐéÄâ»ú¾µÏñ¸ñʽ£¬°üÀ¨ VMware£¨VMDK£©¡¢Amazon ¾µÏñ£¨AKI¡¢ARI¡¢AMI£©ÒÔ¼° VirtualBox ËùÖ§³ÖµÄ¸÷ÖÖ´ÅÅ̸ñʽ¡£¾µÏñÔªÊý¾ÝµÄÈÝÆ÷¸ñʽ°üÀ¨ Amazon µÄ AKI¡¢ARI ÒÔ¼° AMI ÐÅÏ¢£¬±ê×¼ OVF ¸ñʽÒÔ¼°¶þ½øÖÆ´óÐÍÊý¾Ý¡£

Cinder--Ìṩ¿é´æ´¢£¨Block Storage£©£¬ÀàËÆÓÚ Amazon µÄ EBS ¿é´æ´¢·þÎñ£¬OpenStack ÖеÄʵÀýÊDz»Äܳ־û¯µÄ£¬ÐèÒª¹ÒÔØ volume£¬ÔÚ volume ÖÐʵÏֳ־û¯¡£Cinder ¾ÍÊÇÌṩ¶Ô volume ʵ¼ÊÐèÒªµÄ´æ´¢¿éµ¥ÔªµÄʵÏÖ¹ÜÀí¹¦ÄÜ¡£

Amazon Ò»Ö±ÊÇ OpenStack Éè¼ÆÖ®³õµÄ¼ÙÏë¶ÔÊÖºÍÌôÕ½¶ÔÏó£¬ËùÒÔ»ù±¾ÉϹؼüµÄ¹¦ÄÜÄ£¿é¶¼ÓжÔÓ¦ÏîÄ¿¡£³ýÁËÉÏÃæÌáµ½µÄÈý¸ö×é¼þ£¬¶ÔÓÚ AWS ÖеÄÖØÒªµÄ EC2 ·þÎñ£¬OpenStack ÖÐÊÇ Nova À´¶ÔÓ¦£¬²¢ÇÒ±£³ÖºÍ EC2 API µÄ¼æÈÝÐÔ£¬Óв»Í¬µÄ·½·¨¿ÉÒÔʵÏÖ¡£

Èý¸ö×é¼þÖУ¬Glance Ö÷ÒªÊÇÐé»ú¾µÏñµÄ¹ÜÀí£¬ËùÒÔÏà¶Ô¼òµ¥£»Swift ×÷Ϊ¶ÔÏó´æ´¢ÒѾ­ºÜ³ÉÊ죬Á¬ CloudStack Ò²Ö§³ÖËü¡£Cinder ÊDZȽÏгöÏÖµÄ¿é´æ´¢£¬Éè¼ÆÀíÄî²»´í£¬²¢ÇÒºÍÉÌÒµ´æ´¢ÓнáºÏµÄ»ú»á£¬ËùÒÔ³§É̱Ƚϻý¼«¡£

´æ´¢ÏîÄ¿ºÍ×é¼þ¶ÔÓ¦¹ØÏµÈçÏÂÃæ±í¸ñ£º

±í 1.¶ÔÓ¦¹ØÏµ

OpenStack ¶ÔÏó´æ´¢¡ªSwift

OpenStack Object Storage£¨Swift£©ÊÇ OpenStack ¿ªÔ´ÔƼÆËãÏîÄ¿µÄ×ÓÏîĿ֮һ,±»³ÆÎª¶ÔÏó´æ´¢£¬ÌṩÁËÇ¿´óµÄÀ©Õ¹ÐÔ¡¢ÈßÓàºÍ³Ö¾ÃÐÔ¡£ Swift ²¢²»ÊÇÎļþϵͳ»òÕßʵʱµÄÊý¾Ý´æ´¢ÏµÍ³£¬Ëü³ÆÎª¶ÔÏó´æ´¢£¬ÓÃÓÚÓÀ¾ÃÀàÐ͵ľ²Ì¬Êý¾ÝµÄ³¤ÆÚ´æ´¢£¬ÕâЩÊý¾Ý¿ÉÒÔ¼ìË÷¡¢µ÷Õû£¬±ØÒªÊ±½øÐиüС£Swift ǰÉíÊÇ Rackspace Cloud Files ÏîÄ¿£¬Ëæ×Å Rackspace ¼ÓÈëµ½ OpenStack ÉçÇø£¬ÓÚ 2010 Äê 7 Ô¹±Ï׸ø OpenStack£¬×÷Ϊ¸Ã¿ªÔ´ÏîÄ¿µÄÒ»²¿·Ö¡£Swift ĿǰµÄ×îа汾ÊÇOpenStack Havana¡£Havana °æ±¾ÖÐ Swift ÐÂÔöÌØÐÔÈçÏ£º

Multiple-Region-Replication£ºÖ§³Ö¶ÔÏóÒìµØ¸´ÖÆÈÝÔÖ¡£

Memcache£ºÔö¼Ó¶ÔÂÖѯ Memcache Á¬½ÓµÄÖ§³Ö¡£

More-Optimization£º²¢·¢ IO Ö§³Ö£¬¶àÍø¶Î·ÖÁ÷Ö§³Ö£¬ÔÚ¶àµØ¸´ÖÆÇé¿öϼÓÇ¿²»Í¬ Proxy-Server µÄÇ׺Ͷȡ£

Swift ÌØÐÔ

ÔÚ OpenStack ¹ÙÍøÖУ¬ÁоÙÁ˺ܶà Swift ÌØÐÔ£¬ÆäÖÐ×îÒýÈ˹Ø×¢µÄÊÇÒÔϼ¸µã¡£

¼«¸ßµÄÊý¾Ý³Ö¾ÃÐÔ

һЩÅóÓѾ­³£½«Êý¾Ý³Ö¾ÃÐÔ£¨Durability£©Óëϵͳ¿ÉÓÃÐÔ£¨Availability£©Á½¸ö¸ÅÄî»ìÏý£¬Ç°ÕßÒ²Àí½âΪÊý¾ÝµÄ¿É¿¿ÐÔ£¬ÊÇÖ¸Êý¾Ý´æ´¢µ½ÏµÍ³Öк󣬵½Ä³Ò»ÌìÊý¾Ý¶ªÊ§µÄ¿ÉÄÜÐÔ¡£ÀýÈç Amazon S3 µÄÊý¾Ý³Ö¾ÃÐÔÊÇ 11 ¸ö 9£¬¼´Èç¹û´æ´¢ 1 Íò£¨4 ¸ö 0£©¸öÎļþµ½ S3 ÖУ¬1 ǧÍò£¨7 ¸ö 0£©ÄêÖ®ºó£¬¿ÉÄܻᶪʧÆäÖÐ 1 ¸öÎļþ¡£ÄÇô Swift ÄÜÌṩ¶àÉÙ¸ö 9 µÄ SLA ÄØ£¿ÏÂÎÄ»á¸ø³ö´ð°¸¡£Õë¶Ô Swift ÔÚÐÂÀ˲âÊÔ»·¾³ÖеIJ¿Êð£¬ËûÃÇ´ÓÀíÂÛÉϲâËã¹ý£¬Swift ÔÚ 5 ¸ö Zone¡¢5¡Á10 ¸ö´æ´¢½ÚµãµÄ»·¾³Ï£¬Êý¾Ý¸´ÖÆ·ÝÊÇΪ 3£¬Êý¾Ý³Ö¾ÃÐ﵀ SLA ÄÜ´ïµ½ 10 ¸ö 9¡£

ÍêÈ«¶Ô³ÆµÄϵͳ¼Ü¹¹

¡°¶Ô³Æ¡±Òâζ×Å Swift Öи÷½Úµã¿ÉÒÔÍêÈ«¶ÔµÈ£¬Äܼ«´óµØ½µµÍϵͳά»¤³É±¾¡£

ÎÞÏ޵ĿÉÀ©Õ¹ÐÔ

ÕâÀïµÄÀ©Õ¹ÐÔ·ÖÁ½·½Ã棬һÊÇÊý¾Ý´æ´¢ÈÝÁ¿ÎÞÏÞ¿ÉÀ©Õ¹£»¶þÊÇ Swift ÐÔÄÜ£¨Èç QPS¡¢ÍÌÍÂÁ¿µÈ£©¿ÉÏßÐÔÌáÉý¡£ÒòΪ Swift ÊÇÍêÈ«¶Ô³ÆµÄ¼Ü¹¹£¬À©ÈÝÖ»Ðè¼òµ¥µØÐÂÔö»úÆ÷£¬ÏµÍ³»á×Ô¶¯Íê³ÉÊý¾ÝÇ¨ÒÆµÈ¹¤×÷£¬Ê¹¸÷´æ´¢½ÚµãÖØÐ´ﵽƽºâ״̬¡£

ÎÞµ¥µã¹ÊÕÏ

ÔÚ»¥ÁªÍøÒµÎñ´ó¹æÄ£Ó¦Óõij¡¾°ÖУ¬´æ´¢µÄµ¥µãÒ»Ö±ÊǸöÄÑÌâ¡£ÀýÈçÊý¾Ý¿â£¬Ò»°ãµÄ HA ·½·¨Ö»ÄÜ×öÖ÷´Ó£¬²¢ÇÒ¡°Ö÷¡±Ò»°ãÖ»ÓÐÒ»¸ö£»»¹ÓÐһЩÆäËû¿ªÔ´´æ´¢ÏµÍ³µÄʵÏÖÖУ¬ÔªÊý¾ÝÐÅÏ¢µÄ´æ´¢Ò»Ö±ÒÔÀ´ÊǸöÍ·Í´µÄµØ·½£¬Ò»°ãÖ»Äܵ¥µã´æ´¢£¬¶øÕâ¸öµ¥µãºÜÈÝÒ׳ÉΪƿ¾±£¬²¢ÇÒÒ»µ©Õâ¸öµã³öÏÖ²îÒ죬ÍùÍùÄÜÓ°Ïìµ½Õû¸ö¼¯Èº£¬µäÐ͵ÄÈç HDFS¡£¶ø Swift µÄÔªÊý¾Ý´æ´¢ÊÇÍêÈ«¾ùÔÈËæ»ú·Ö²¼µÄ£¬²¢ÇÒÓë¶ÔÏóÎļþ´æ´¢Ò»Ñù£¬ÔªÊý¾ÝÒ²»á´æ´¢¶à·Ý¡£Õû¸ö Swift ¼¯ÈºÖУ¬Ò²Ã»ÓÐÒ»¸ö½ÇÉ«Êǵ¥µãµÄ£¬²¢ÇÒÔڼܹ¹ºÍÉè¼ÆÉϱ£Ö¤ÎÞµ¥µãÒµÎñÊÇÓÐЧµÄ¡£

¼òµ¥¡¢¿ÉÒÀÀµ

¼òµ¥ÌåÏÖÔڼܹ¹ÓÅÃÀ¡¢´úÂëÕû½à¡¢ÊµÏÖÒ×¶®£¬Ã»ÓÐÓõ½Ò»Ð©¸ßÉîµÄ·Ö²¼Ê½´æ´¢ÀíÂÛ£¬¶øÊǺܼòµ¥µÄÔ­Ôò¡£¿ÉÒÀÀµÊÇÖ¸ Swift ¾­²âÊÔ¡¢·ÖÎöÖ®ºó£¬¿ÉÒÔ·ÅÐĴ󵨵ؽ« Swift ÓÃÓÚ×îºËÐĵĴ洢ҵÎñÉÏ£¬¶ø²»Óõ£ÐÄ Swift ͱ¨×Ó£¬ÒòΪ²»¹Ü³öÏÖÈκÎÎÊÌ⣬¶¼ÄÜͨ¹ýÈÕÖ¾¡¢ÔĶÁ´úÂëѸËÙ½â¾ö¡£

Swift ¼Ü¹¹¸ÅÊö

Swift ArchitecturalÖ÷ÒªÓÐÈý¸ö×é³É²¿·Ö£ºProxy Server¡¢Storage Server ºÍ Consistency Server¡£Æä¼Ü¹¹Èçͼ 1 Ëùʾ£¬ÆäÖÐ Storage ºÍ Consistency ·þÎñ¾ùÔÊÐíÔÚ Storage Node ÉÏ¡£Auth ÈÏÖ¤·þÎñĿǰÒÑ´Ó Swift ÖаþÀë³öÀ´£¬Ê¹Óà OpenStack µÄÈÏÖ¤·þÎñ Keystone£¬Ä¿µÄÔÚÓÚʵÏÖͳһ OpenStack ¸÷¸öÏîÄ¿¼äµÄÈÏÖ¤¹ÜÀí¡£

ͼ 1. Swift ¼Ü¹¹

Ö÷Òª×é¼þ

Proxy Server

Proxy Server ÊÇÌṩ Swift API µÄ·þÎñÆ÷½ø³Ì£¬¸ºÔð Swift ÆäÓà×é¼þ¼äµÄÏ໥ͨÐÅ¡£¶ÔÓÚÿ¸ö¿Í»§¶ËµÄÇëÇó£¬Ëü½«ÔÚ Ring Öвéѯ Account¡¢Container »ò Object µÄλÖ㬲¢ÇÒÏàÓ¦µØ×ª·¢ÇëÇó¡£Proxy ÌṩÁË REST API£¬²¢ÇÒ·ûºÏ±ê×¼µÄ HTTP ЭÒ鹿·¶£¬ÕâʹµÃ¿ª·¢Õß¿ÉÒÔ¿ì½Ý¹¹½¨¶¨ÖÆµÄ Client Óë Swift ½»»¥¡£

Storage Server

Storage Server ÌṩÁË´ÅÅÌÉ豸ÉϵĴ洢·þÎñ¡£ÔÚ Swift ÖÐÓÐÈýÀà´æ´¢·þÎñÆ÷£ºAccount¡¢Container ºÍ Object¡£ÆäÖÐ Container ·þÎñÆ÷¸ºÔð´¦Àí Object µÄÁÐ±í£¬Container ·þÎñÆ÷²¢²»ÖªµÀ¶ÔÏó´æ·ÅλÖã¬Ö»ÖªµÀÖ¸¶¨ Container Àï´æµÄÄÄЩ Object¡£ÕâЩ Object ÐÅÏ¢ÒÔ sqlite Êý¾Ý¿âÎļþµÄÐÎʽ´æ´¢¡£Container ·þÎñÆ÷Ò²×öһЩ¸ú×Ùͳ¼Æ£¬ÀýÈç Object µÄ×ÜÊý¡¢Container µÄʹÓÃÇé¿ö¡£

Consistency Server

ÔÚ´ÅÅÌÉÏ´æ´¢Êý¾Ý²¢ÏòÍâÌṩ REST API ²¢²»ÊÇÄÑÒÔ½â¾öµÄÎÊÌ⣬×îÖ÷ÒªµÄÎÊÌâÔÚÓÚ¹ÊÕÏ´¦Àí¡£Swift µÄ Consistency Servers µÄÄ¿µÄÊDzéÕÒ²¢½â¾öÓÉÊý¾ÝË𻵺ÍÓ²¼þ¹ÊÕÏÒýÆðµÄ´íÎó¡£Ö÷Òª´æÔÚÈý¸ö Server£ºAuditor¡¢Updater ºÍ Replicator¡£ Auditor ÔÚÿ¸ö Swift ·þÎñÆ÷µÄºǫ́³ÖÐøµØÉ¨Ãè´ÅÅÌÀ´¼ì²â¶ÔÏó¡¢Container ºÍÕ˺ŵÄÍêÕûÐÔ¡£Èç¹û·¢ÏÖÊý¾ÝË𻵣¬Auditor ¾Í»á½«¸ÃÎļþÒÆ¶¯µ½¸ôÀëÇøÓò£¬È»ºóÓÉ Replicator ¸ºÔðÓÃÒ»¸öÍêºÃµÄ¿½±´À´Ìæ´ú¸ÃÊý¾Ý¡£Í¼ 2 ¸ø³öÁ˸ôÀë¶ÔÏóµÄ´¦ÀíÁ÷ͼ¡£ ÔÚϵͳ¸ß¸ººÉ»òÕß·¢Éú¹ÊÕϵÄÇé¿öÏ£¬Container »òÕ˺ÅÖеÄÊý¾Ý²»»á±»Á¢¼´¸üС£Èç¹û¸üÐÂʧ°Ü£¬¸Ã´Î¸üÐÂÔÚ±¾µØÎļþϵͳÉϻᱻ¼ÓÈë¶ÓÁУ¬È»ºó Updaters »á¼ÌÐø´¦ÀíÕâЩʧ°ÜÁ˵ĸüй¤×÷£¬ÆäÖÐÓÉ Account Updater ºÍ Container Updater ·Ö±ð¸ºÔð Account ºÍ Object ÁбíµÄ¸üС£ Replicator µÄ¹¦ÄÜÊÇ´¦ÀíÊý¾ÝµÄ´æ·ÅλÖÃÊÇ·ñÕýÈ·²¢ÇÒ±£³ÖÊý¾ÝµÄºÏÀí¿½±´Êý£¬ËüµÄÉè¼ÆÄ¿µÄÊÇ Swift ·þÎñÆ÷ÔÚÃæÁÙÈçÍøÂçÖжϻòÕßÇý¶¯Æ÷¹ÊÕϵÈÁÙʱÐÔ¹ÊÕÏÇé¿öʱ¿ÉÒÔ±£³ÖϵͳµÄÒ»ÖÂÐÔ¡£

ͼ 2. ¸ôÀë¶ÔÏóµÄ´¦ÀíÁ÷

Ring

Ring ÊÇ Swift ×îÖØÒªµÄ×é¼þ£¬ÓÃÓڼǼ´æ´¢¶ÔÏóÓëÎïÀíλÖüäµÄÓ³Éä¹ØÏµ¡£ÔÚÉæ¼°²éѯ Account¡¢Container¡¢Object ÐÅϢʱ£¬¾ÍÐèÒª²éѯ¼¯ÈºµÄ Ring ÐÅÏ¢¡£ Ring ʹÓà Zone¡¢Device¡¢Partition ºÍ Replica À´Î¬»¤ÕâЩӳÉäÐÅÏ¢¡£Ring ÖÐÿ¸ö Partition ÔÚ¼¯ÈºÖж¼£¨Ä¬ÈÏ£©ÓÐ 3 ¸ö Replica¡£Ã¿¸ö Partition µÄλÖÃÓÉ Ring À´Î¬»¤£¬²¢´æ´¢ÔÚÓ³ÉäÖС£Ring ÎļþÔÚϵͳ³õʼ»¯Ê±´´½¨£¬Ö®ºóÿ´ÎÔö¼õ´æ´¢½Úµãʱ£¬ÐèÒªÖØÐÂÆ½ºâһϠRing ÎļþÖеÄÏîÄ¿£¬ÒÔ±£Ö¤Ôö¼õ½Úµãʱ£¬ÏµÍ³Òò´Ë¶ø·¢ÉúÇ¨ÒÆµÄÎļþÊýÁ¿×îÉÙ¡£

Ó¦Óó¡¾°

Swift ÌṩµÄ·þÎñÓëAmazon S3Ïàͬ£¬ÊÊÓÃÓÚÐí¶àÓ¦Óó¡¾°¡£

1.ÍøÅÌ

Swift µÄ¶Ô³Æ·Ö²¼Ê½¼Ü¹¹ºÍ¶à proxy ¶à½ÚµãµÄÉè¼Æµ¼ÖÂËü´Ó»ùÒòÀï¾ÍÊʺÏÓÚ¶àÓû§´ó²¢·¢µÄÓ¦ÓÃģʽ£¬×îµäÐ͵ÄÓ¦ÓÃιýÓÚÀàËÆ Dropbox µÄÍøÅÌÓ¦Óã¬Dropbox È¥Äêµ×ÒѾ­Í»ÆÆÒ»ÒÚÓû§Êý£¬¶ÔÓÚÕâÖÖ¹æÄ£µÄ·ÃÎÊ£¬Á¼ºÃµÄ¼Ü¹¹Éè¼ÆÊÇÄܹ»Ö§³ÅµÄ¸ù±¾Ô­Òò¡£

Swift µÄ¶Ô³Æ¼Ü¹¹Ê¹µÃÊý¾Ý½Úµã´ÓÂß¼­ÉÏ¿´´¦ÓÚͬ¼¶±ð£¬Ã¿Ì¨½ÚµãÉÏͬʱ¶¼¾ßÓÐÊý¾ÝºÍÏà¹ØµÄÔªÊý¾Ý¡£²¢ÇÒÔªÊý¾ÝµÄºËÐÄÊý¾Ý½á¹¹Ê¹ÓõÄÊǹþÏ£»·£¬Ò»ÖÂÐÔ¹þÏ£Ëã·¨¶ÔÓÚ½ÚµãµÄÔö¼õ¶¼Ö»ÐèÖØ¶¨Î»»·¿Õ¼äÖеÄһС²¿·ÖÊý¾Ý,¾ßÓнϺõÄÈÝ´íÐԺͿÉÀ©Õ¹ÐÔ¡£ÁíÍâÊý¾ÝÊÇÎÞ״̬µÄ£¬Ã¿¸öÊý¾ÝÔÚ´ÅÅÌÉ϶¼ÊÇÍêÕûµÄ´æ´¢¡£Õ⼸µã×ÛºÏÆðÀ´±£Ö¤ÁË´æ´¢µÄ±¾ÉíµÄÁ¼ºÃµÄÀ©Õ¹ÐÔ¡£

ÁíÍâºÍÓ¦ÓõĽáºÏÉÏ£¬Swift ÊÇ×ñÑ­ HTTP ЭÒéµÄ£¬ÕâʹµÃÓ¦Óúʹ洢µÄ½»»¥±äµÃ¼òµ¥£¬²»ÐèÒª¿¼Âǵײã»ù´¡¹¹¼ÜµÄϸ½Ú£¬Ó¦ÓÃÈí¼þ²»ÐèÒª½øÐÐÈκεÄÐ޸ľͿÉÒÔÈÃϵͳÕûÌåÀ©Õ¹µ½·Ç³£´óµÄ³Ì¶È¡£

2.Iaas ¹«ÓÐÔÆ

Swift ÔÚÉè¼ÆÖеÄÏßÐÔÀ©Õ¹£¬¸ß²¢·¢ºÍ¶à×â»§Ö§³ÖµÈÌØÐÔ£¬Ê¹µÃËüÒ²·Ç³£ÊʺÏ×öΪ IaaS µÄÑ¡Ôñ£¬¹«ÓÐÔÆ¹æÄ£½Ï´ó£¬¸ü¶àµÄÓöµ½´óÁ¿Ðé»ú²¢·¢Æô¶¯ÕâÖÖÇé¿ö£¬ËùÒÔ¶ÔÓÚÐé»ú¾µÏñµÄºǫ́´æ´¢¾ßÌåÀ´Ëµ£¬Êµ¼ÊÉϵÄÌôÕ½ÔÚÓÚ´óÊý¾Ý£¨³¬¹ý G£©µÄ²¢·¢¶ÁÐÔÄÜ£¬Swift ÔÚ OpenStack ÖÐÒ»¿ªÊ¼¾ÍÊÇ×÷Ϊ¾µÏñ¿âµÄºǫ́´æ´¢£¬¾­¹ý Rackspace ÉÏǧ̨»úÆ÷µÄ²¿Êð¹æÄ£ÏµÄÊýÄêʵ¼ù£¬Swift ÒѾ­±»Ö¤Ã÷ÊÇÒ»¸ö³ÉÊìµÄÑ¡Ôñ¡£

ÁíÍâÈç¹û»ùÓÚ IaaS ÒªÌṩÉϲãµÄ SaaS ·þÎñ£¬¶à×â»§ÊÇÒ»¸ö²»¿É±ÜÃâµÄÎÊÌ⣬Swift µÄ¼Ü¹¹Éè¼Æ±¾Éí¾ÍÊÇÖ§³Ö¶à×â»§µÄ£¬ÕâÑù¶Ô½ÓÆðÀ´¸ü·½±ã¡£

3.±¸·ÝÎĵµ

Rackspace µÄÖ÷ÓªÒµÎñ¾ÍÊÇÊý¾ÝµÄ±¸·Ý¹éµµ£¬ËùÒÔ Swift ÔÚÕâ¸öÁìÓòÒ²ÊǾþ­¿¼Ñ飬ͬʱËûÃÇ»¹ÑÓÕ¹³öÒ»ÖÖÐÂÒµÎñ--¡°Èȹ鵵¡±¡£ÓÉÓÚ³¤Î²Ð§Ó¦£¬Êý¾Ý¿ÉÄܱ»µ÷ÓõÄʱ¼ä´°Ô½À´Ô½³¤£¬Èȹ鵵Äܹ»±£Ö¤Ó¦Óù鵵Êý¾ÝÄܹ»ÔÚ·ÖÖÓ¼¶±ðÖØÐ»ñÈ¡£¬ºÍ´«Í³´Å´ø»ú¹éµµ·½°¸ÖеÄÊýСʱ¶øÑÔ£¬ÊÇÒ»¸öºÜ´óµÄ½ø²½¡£

4.ÒÆ¶¯»¥ÁªÍøºÍ CDN

ÒÆ¶¯»¥ÁªÍøºÍÊÖ»úÓÎÏ·µÈ²úÉú´óÁ¿µÄÓû§Êý¾Ý£¬Êý¾ÝÁ¿²»ÊǺܴóµ«ÊÇÓû§ÊýºÜ¶à£¬ÕâÒ²ÊÇ Swift Äܹ»´¦ÀíµÄÁìÓò¡£

ÖÁÓÚ¼ÓÉÏ CDN£¬Èç¹ûʹÓà Swift£¬ÔÆ´æ´¢¾Í¿ÉÒÔÖ±½ÓÏìÓ¦ÒÆ¶¯É豸£¬²»ÐèҪרÃŵķþÎñÆ÷È¥ÏìÓ¦Õâ¸ö HTTP µÄÇëÇó£¬Ò²²»ÐèÒªÔÚÊý¾Ý´«ÊäÖÐÔÙ¾­¹ýÒÆ¶¯É豸ÉϵÄÎļþϵͳ£¬Ö±½ÓÊÇÓà HTTP ЭÒéÉÏ´«Ôƶˡ£Èç¹û°Ñ¾­³£±»Æ½Ì¨·ÃÎʵÄÊý¾Ý»º´æÆðÀ´£¬ÀûÓÃÒ»¶¨µÄÓÅ»¯»úÖÆ£¬Êý¾Ý¿ÉÒÔ´Ó²»Í¬µÄµØµã·Ö·¢µ½ÄúµÄÓû§ÄÇÀÕâÑù¾ÍÄÜÌá¸ß·ÃÎʵÄËÙ¶È£¬Swift µÄ¿ª·¢ÉçÇøÓÐÈËÔÚÌÖÂÛÊÓÆµÍøÕ¾Ó¦ÓÃºÍ Swift µÄ½áºÏ£¬ÇÔÒÔΪÊÇÖµµÃ¹Ø×¢µÄ·½Ïò¡£

OpenStack ¾µÏñ´æ´¢¡ªGlance

Glance ÏîÄ¿ÌṩÐéÄâ»ú¾µÏñµÄ·¢ÏÖ¡¢×¢²á¡¢È¡µÃ·þÎñ¡£Glance Ìṩ REST API ¿ÉÒÔ²éѯÐéÄâ»ú¾µÏñµÄ metadata£¬²¢ÇÒ¿ÉÒÔ»ñµÃ¾µÏñ¡£

ͨ¹ý Glance£¬ÐéÄâ»ú¾µÏñ¿ÉÒÔ±»´æ´¢µ½¶àÖÖ´æ´¢ÉÏ£¬±ÈÈç¼òµ¥µÄÎļþ´æ´¢»òÕß¶ÔÏó´æ´¢(±ÈÈç OpenStack ÖÐ swift ÏîÄ¿)£¬Havana °æ±¾ÖÐ Glance ÐÂÔöÌØÐÔÈçÏ£º

Multiple-Image-Location£ºÖ§³Ö¾µÏñ´æ´¢µ½¶àÖÖ²»Í¬ÀàÐ͵Ĵ洢³Ø¡£

More-Drivers£º¼ÓÈëÁË Sheepdog Ö§³Ö£¬²¢ÇÒ Cinder Ò²¿ÉÒÔ×÷Ϊºó¶Ë´æ´¢Çý¶¯Ö®Ò»¡£

Glance µÄ¼¸¸öÖØÒª¸ÅÄ

1.Image identifiers£ºImage ʹÓà URI ×÷ΪΨһ±êʶ£¬URL ·ûºÏÒÔϸñʽ£º

<Glance Server Location>/images/<ID>

Glance Server Location ÊǾµÏñµÄËùÔÚλÖã¬ID ÊǾµÏñÔÚ Glance µÄΨһ±êʶ¡£

2.Image Statuses ¹²ËÄÖÖ״̬¡£

queued          ±êʶ¸Ã¾µÏñ ID ÒѾ­±»±£Áô£¬µ«ÊǾµÏñ»¹Î´ÉÏ´«¡£
saving ±êʶ¾µÏñÕýÔÚ±»ÉÏ´«¡£
active ±êʶ¾µÏñÔÚ Glance ÖÐÍêÈ«¿ÉÓá£
killed ±êʶ¾µÏñÉÏ´«¹ý³ÌÖгö´í£¬¾µÏñÍêÈ«²»¿ÉÓá£

3.Disk and Container format

Disk Format£ºraw vhd vmdk vdi iso qcow2 aki ari ami

Container Format: ovf bare aki ari ami

µ± disk format Ϊ aki ari ami ʱ£¬disk format ºÍ container format Ò»Ö¡£

4.Image Registries

ʹÓà Glance£¬¾µÏñ metadata ¿ÉÒÔ×¢²áÖÁ image registries¡£

ֻҪΪ image metadata ÌṩÁË rest like API£¬ÈκΠweb ³ÌÐò¿ÉÒÔ×÷Ϊ image registries Óë Glance ¶Ô½Ó¡£

µ±È»£¬Glance Ò²ÌṩÁ˲ο¼ÊµÏÖ¡£

¸ü¶àÐÅÏ¢¿ÉÒԲο¼on Controlling Servers£¬À´×ÔÓÚ Glance ÌṩµÄ Glance registry server¡£

Glance µÄ¼Ü¹¹£º

ͼ 3. GlanceµÄ¼Ü¹¹

Glance ±»Éè¼ÆÎª¿ÉÒÔʹÓöàÖÖºó¶Ë´æ´¢¡£Ç°¶Ëͨ¹ý API Server Ïò¶à¸ö Client Ìṩ·þÎñ¡£

Glance ĿǰÌṩµÄ²Î¿¼ÊµÏÖÖÐ Registry Server ½öÊÇʹÓà Sql Êý¾Ý¿â´æ´¢ metadata£¬Glance Ö§³Ö S3¡¢Swift£¬¼òµ¥µÄÎļþ´æ´¢¼°Ö»¶ÁµÄ HTTPS ´æ´¢¡£Ò²Ö§³ÖÆäËûºó¶Ë£¬Èç·Ö²¼Ê½´æ´¢ÏµÍ³£¨SheepDog »ò Ceph£©¡£

OpenStack ¿é´æ´¢¡ªCinder

OpenStack µ½ Folsom °æ±¾ÓбȽϴóµÄ¸Ä±ä£¬ÆäÖÐÖ®Ò»¾ÍÊǽ«Ö®Ç°ÔÚ Nova ÖеIJ¿·Ö³Ö¾ÃÐÔ¿é´æ´¢¹¦ÄÜ£¨Nova-Volume£©·ÖÀëÁ˳öÀ´£¬¶ÀÁ¢ÎªÐµÄ×é¼þ Cinder¡£Ö÷ÒªºËÐÄÊǶԾíµÄ¹ÜÀí£¬ÔÊÐí¶Ô¾í¡¢¾íµÄÀàÐÍ¡¢¾íµÄ¿ìÕÕ½øÐд¦Àí¡£Ëü²¢Ã»ÓÐʵÏÖ¶Ô¿éÉ豸µÄ¹ÜÀíºÍʵ¼Ê·þÎñ£¬¶øÊÇΪºó¶Ë²»Í¬µÄ´æ´¢½á¹¹ÌṩÁËͳһµÄ½Ó¿Ú£¬²»Í¬µÄ¿éÉ豸·þÎñ³§ÉÌÔÚ Cinder ÖÐʵÏÖÆäÇý¶¯Ö§³ÖÒÔÓë OpenStack ½øÐÐÕûºÏ¡£ÔÚCinderSupportMatrixÖпÉÒÔ¿´µ½ÖÚ¶à´æ´¢³§ÉÌÈç NetAPP¡¢IBM¡¢SolidFire¡¢EMC ºÍÖڶ࿪Դ¿é´æ´¢ÏµÍ³¶Ô Cinder µÄÖ§³Ö¡£Havana °æ±¾ÖÐ Cinder ÐÂÔöÌØÐÔÈçÏ£º

Volume-Resize£ºÔÚ¿ÉÓÃÇé¿öϵ÷Õû¾í´óС¡£

Volume-Backup-To-Ceph£ºÏÖÔÚ¾í¿ÉÒÔ±¸·Ýµ½ Ceph ¼¯ÈºÖС£

Volume-Migration£ºÏÖÔÚ²»Í¬Óû§¼ä¿ÉÒÔ͸Ã÷µØ×ªÒƺͽ»»»¾í¡£

QoS£ºÔö¼ÓÏÞËÙÏà¹ØµÄÔªÐÅÏ¢¹© Nova ºÍÆä Hypervisor ʹÓá£

More-Drivers£º¸ü¶àµÄ´æ´¢³§É̼ÓÈëºÍÍêÉÆÁË×Ô¼ºµÄ Cinder Çý¶¯£¬Èç Huawei¡¢Vmware¡¢Zadara¡£

Cinder ¼Ü¹¹Í¼

ͼ 4. CinderµÄ¼Ü¹¹

Cinder ·þÎñ

API service£º¸ºÔð½ÓÊܺʹ¦Àí Rest ÇëÇ󣬲¢½«ÇëÇó·ÅÈë RabbitMQ¶ÓÁС£

Scheduler service: ´¦ÀíÈÎÎñ¶ÓÁеÄÈÎÎñ£¬²¢¸ù¾ÝÔ¤¶¨²ßÂÔÑ¡ÔñºÏÊ浀 Volume Service ½ÚµãÀ´Ö´ÐÐÈÎÎñ¡£Ä¿Ç°°æ±¾µÄ cinder ½ö½öÌṩÁËÒ»¸ö Simple Scheduler, ¸Ãµ÷¶ÈÆ÷Ñ¡Ôñ¾íÊýÁ¿×îÉÙµÄÒ»¸ö»îÔ¾½ÚµãÀ´´´½¨¾í¡£

Volume service: ¸Ã·þÎñÔËÐÐÔÚ´æ´¢½ÚµãÉÏ£¬¹ÜÀí´æ´¢¿Õ¼ä¡£Ã¿¸ö´æ´¢½Úµã¶¼ÓÐÒ»¸ö Volume Service£¬Èô¸É¸öÕâÑùµÄ´æ´¢½ÚµãÁªºÏÆðÀ´¿ÉÒÔ¹¹³ÉÒ»¸ö´æ´¢×ÊÔ´³Ø¡£ÎªÁËÖ§³Ö²»Í¬ÀàÐͺÍÐͺŵĴ洢£¬µ±Ç°°æ±¾µÄ Cinder Ϊ Volume Service Ìí¼ÓÈçÏ drivers¡£µ±È»ÔÚ Cinder µÄ blueprints µ±Öл¹ÓÐһЩÆäËüµÄ drivers£¬ÒÔºóµÄ°æ±¾¿ÉÄÜ»áÌí¼Ó½øÀ´¡£

±¾µØ´æ´¢£ºLVM(iSCSI), Sheepdog(sheepdog)

ÍøÂç´æ´¢£º NFS, RBD(Ceph)

IBM: Storwize family/SVC (iSCSI/FC)£¬XIV (iSCSI)£¬GPFS£¬zVM

Netapp: NetApp(iSCSI/NFS)

EMC: VMAX/VNX (iSCSI)£¬Isilon(iSCSI)

Solidfire: Solidfire cluster(iSCSI)

HP:3PAR (iSCSI/FC),LeftHand (iSCSI)

Cinder ÈçºÎÖ§³ÖµäÐÍ´æ´¢

´ÓĿǰµÄʵÏÖÀ´¿´£¬Cinder ¶Ô±¾µØ´æ´¢ºÍ NAS µÄÖ§³Ö±È½Ï²»´í£¬¿ÉÒÔÌṩÍêÕûµÄ Cinder API V2 Ö§³Ö£¬¶ø¶ÔÓÚÆäËüÀàÐ͵Ĵ洢É豸£¬Cinder µÄÖ§³Ö»á»ò¶à»òÉÙµÄÊܵ½ÏÞÖÆ£¬ÏÂÃæÊÇ Rackspace ¶ÔÓÚ Private Cloud ´æ´¢¸ø³öµÄµäÐÍÅäÖãº

1.±¾µØ´æ´¢

¶ÔÓÚ±¾µØ´æ´¢£¬cinder-volume ¿ÉÒÔʹÓà LVM Çý¶¯£¬¸ÃÇý¶¯µ±Ç°µÄʵÏÖÐèÒªÔÚÖ÷»úÉÏÊÂÏÈÓà LVM ÃüÁî´´½¨Ò»¸ö cinder-volumes µÄ¾í×é , µ±¸ÃÖ÷»ú½ÓÊܵ½´´½¨¾íÇëÇóµÄʱºò£¬cinder-volume Ôڸþí×é ÉÏ´´½¨Ò»¸öÂß¼­¾í, ²¢ÇÒÓà openiscsi ½«Õâ¸ö¾íµ±×÷Ò»¸ö iscsi tgt ¸øÊä³ö.µ±È»»¹¿ÉÒÔ½«Èô¸ÉÖ÷»úµÄ±¾µØ´æ´¢Óà sheepdog ÐéÄâ³ÉÒ»¸ö¹²Ïí´æ´¢£¬È»ºóʹÓà sheepdog Çý¶¯¡£

2.EMC

ͼ 5. EMC ¿é´æ´¢¼Ü¹¹

3.Netapp

ͼ 6. Netapp ¿é´æ´¢¼Ü¹¹

HuaWei

ͼ 7. HuaWei ¿é´æ´¢¼Ü¹¹

HuaWei ¿é´æ´¢¼Ü¹¹

´«Í³´æ´¢Óë OpenStack ÔÆ´æ´¢¶Ô±È

±í 2.¶Ô±È

½áÊøÓï

OpenStack ÊÇÉè¼ÆÓÃÀ´¹ÜÀí¹²ÓÐÔÆºÍ˽ÓÐÔÆµÄ¡£ºÜ¶à¹«Ë¾ÈÏΪ OpenStack ÓÐÏ£ÍûÈÃËûÃÇÄÜÓµÓÐһЩµ¥Ò»×¨ÓÐÔÆµÄ¹¦ÄÜ£¬Ò»Ð©Èç¹È¸è¡¢ÑÇÂíÑ·¼°Î¢Èí¾­ÓªµÄÔÆÄÇÑùµÄ¹¦ÄÜ¡£Í¬Ê± OpenStack ÊÇ»ùÓÚÓÑºÃµÄ Apache 2 ¿ªÔ´Ð­Ò飬ÈκÎÈ˶¼ÄܲÎÓëÉè¼ÆºÍ¿ª·¢£¬ÉõÖÁÌá³ö´´Á¢×Ô¼ºµÄÏîÄ¿¡£Ö»Òª¾­¹ýÉçÇøÌÖÂÛ£¬²¢´ï³ÉÒ»Ö£¬¾Í¿ÉÒÔ°´ÕÕÄúµÄ±ê×¼¡£¿ªÔ´µÄÁ¦Á¿ÊÇÇ¿´óµÄ£¬Ëæ×ÅÉçÇø°ëÄêÒ»´ÎµÄ·¢²¼£¬Swift©p Glance ºÍ Cinder ½«»áÔ½À´Ô½ºÃ¡£±¾ÎÄÖ»ÊÇ OpenStack ´æ´¢³õ¼¶ÐÔµÄÒ»´Îµ÷²é±¨¸æ£¬½øÒ»²½ÉîÈë̽Ë÷¿ÉÒԲ鿴²Î¿¼×ÊÁÏÁ˽âÓÐ¹Ø OpenStack ´æ´¢µÄ¸ü¶àÏà¹ØÐÅÏ¢¡£

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

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

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

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

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

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

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