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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
OpenStack Swift´æ´¢²ßÂÔ
 
×÷Õß ÀîÃ÷Óî À´Ô´£ºIBM »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2014-12-01
  2902  次浏览      28
 

ÔÚSwift2.0ÖÐÍÆ³öµÄ´æ´¢²ßÂÔ¹¦ÄÜ£¬Äܹ»ÈùÜÀíÔ±¸ù¾Ý×Ô¼ºÏµÍ³µÄÌØµãÖÆ¶¨²»Í¬µÄ´æ´¢²ßÂÔ£»Óû§»ò×â»§¸ù¾Ý×Ô¼ºÊý¾ÝµÄÌØµãºÍÒµÎñÐèÒª£¬ÒÔContainerΪÁ£¶ÈÑ¡Ôñ´æ´¢²ßÂÔ¡£ÎÄÖжԴ洢²ßÂÔ×öÁ˼òÒª½éÉÜ£¬ÈöÁÕßÌå»áÆäÓÃ;¡£

OpenStack ObjectStorage£¨Swift£©Ç°ÉíÊÇRackspace CloudFilesÏîÄ¿£¬ÓÚ2010Äê¹±Ï׸øOpenStackÉçÇø£¬ÊÇOpenStack×îÔçµÄÁ½¸öÏîĿ֮һ¡£Swift¿ÉÔڱȽϱãÒ˵ÄͨÓÃÓ²¼þÉϹ¹Öþ¾ßÓм«Ç¿¿ÉÀ©Õ¹ÐÔºÍÊý¾Ý³Ö¾ÃÐԵĴ洢ϵͳ£¬Ö§³Ö¶à×â»§£¬Í¨¹ýRESTfulAPIÌṩ¶ÔÈÝÆ÷£¨Container£©ºÍ¶ÔÏóµÄCRUD²Ù×÷¡£

OpenStackSwift¶ÔÏó´æ´¢¼°Æä´æ´¢²ßÂÔ¼ò½é

Swift2.0ÓÚ2014Äê7ÔÂ8ÈÕ·¢²¼£¬ÆäÖÐ×îÖØÒªµÄÐÂÌØÐÔÊÇ´æ´¢²ßÂÔ£¨StoragePolicy£©£¬¸ÃÌØÐԸıäÁËÒÔÍù´æ´¢ÏµÍ³Öд洢²ßÂÔÓÉÉè¼ÆÓëʵʩ·½¾ö¶¨µÄ×ö·¨£¬ÈÃÓû§Äܹ»ÒÔContainerΪÁ£¶È£¬Îª²»Í¬ÐèÇóµÄÊý¾ÝÖ¸¶¨²»Í¬µÄ¸±±¾ÊýÁ¿¡¢²»Í¬²ÎÊýµÄ¾ÀɾÂë¡¢²»Í¬ÐÔÄܵĴ洢½éÖÊ¡¢²»Í¬µØÀíλÖᢲ»Í¬µÄºó¶Ë´æ´¢É豸¡£´æ´¢²ßÂÔ³ä·ÖÌåÏÖÁËSwift"Èí¼þ¶¨Òå´æ´¢"£¨SoftwareDefinedStorage£©µÄÌØµã¡£

ΪÁËʵÏÖ´æ´¢²ßÂÔ£¬SwiftÔÚÔ­ÏÈÈý¸ö»·£¨Ring£©µÄ¼Ü¹¹»ù´¡ÉϽøÐÐÁ˸Ľø¡£SwiftΪÕË»§¡¢ÈÝÆ÷ºÍ¶ÔÏó·Ö±ð¶¨ÒåÁ˵Ļ·£¬Í¨¹ý»·½«ÐéÄâ½Úµã£¨·ÖÇø£©Ó³Éäµ½Ò»×éÎïÀí´æ´¢É豸ÉÏ¡£ÔÚSwift2.0ÖУ¬Ã¿¸ö´æ´¢²ßÂÔ¶ÔÓ¦Ò»¸öObjectRing¡£

Swift´æ´¢²ßÂÔµÄÅäÖÃÓëʹÓÃ

ÅäÖô洢²ßÂÔ

ÉèÖô洢²ßÂÔ·ÖΪÁ½²½£º±à¼­ÅäÖÃÎļþswift.confÎļþ£¬´´½¨ÏàÓ¦µÄObjectRing¡£ÔÚÅäÖÃÎļþÖÐÿ¸ö´æ´¢²ßÂÔÒÔ[storage-policy:N]¿ªÍ·£¬ÆäÖÐNÊDzßÂԵıàºÅ¡£¶ÔÓÚ¸ÃÎļþµÄ½âÎö×ñÑ­ÒÔϹæÔò£º

  1. Èç¹û¸ÃÎļþÖÐûÓÐÉùÃ÷ÈκβßÂÔ£¬Swift»á×Ô¼º´´½¨Ò»¸ö£»
  2. ²ßÂÔ±àºÅÓ¦µ±Î»·Ç¸ºÕûÊý£»
  3. Èç¹ûûÓÐÉùÃ÷ĬÈϲßÂÔ£¬Swift»á°Ñ±àºÅΪ0µÄ²ßÂÔÉèΪĬÈϲßÂÔ£»
  4. ²ßÂÔ±àºÅ±ØÐëΨһ£»
  5. ²ßÂÔÓ¦µ±¾ßÓÐÃû×Ö£¬²ßÂÔÃüÃûÇø·Ö´óСÇÒ±ØÐëΨһ£»
  6. ²ßÂÔÃû³ÆÖ»Äܰüº¬×Öĸ¡¢Êý×ÖºÍÁ¬×Ö·û£¬"Policy-0"Ö»ÄÜÓÃÓÚ±àºÅΪ0µÄ²ßÂÔ£»
  7. ¶¨Òå²ßÂÔÖ®ºó£¬Ó¦µ±ÓÐÒ»¸öÇÒ½öÓÐÒ»¸ö²ßÂÔ±»Ö¸¶¨ÎªÄ¬ÈϲßÂÔ£»
  8. "·ÏÆú"£¨Deprecated£©²ßÂÔ²»ÄÜͬʱΪĬÈϲßÂÔ¡£

ÏÂÃæÊÇÒ»¸öswift.confÎļþµÄʾÀý£º

Íê³Éswift.conf ÎļþµÄ±à¼­£¬ÏÂÒ»²½ÊÇΪÿ¸ö´æ´¢²ßÂÔ´´½¨ÏàÓ¦µÄObject Ring£¬·½·¨ºÍ´´½¨Àϰ汾 Object RingÀàËÆ£¬Ö»ÊÇÒªÔÚobject ºóÃæ¼ÓÉÏ"-N"£¬ÕâÀïµÄ N ÊÇ´æ´¢²ßÂԵıàºÅ¡£ÀýÈ磬ΪÉÏÊö±àºÅΪ 0ºÍ1µÄ´æ´¢²ßÂÔ´´½¨Object Ring£º

ʹÓô洢²ßÂÔ

´æ´¢²ßÂÔµÄʹÓ÷dz£¼òµ¥£¬Ö»ÐèÒªÔÚ´´½¨ container ÊÇÖ¸¶¨´æ´¢²ßÂÔ¼´¿É£¬ÏÂÃæÒÔ SAIO ²¿ÊðΪÀý¼ÓÒÔ˵Ã÷£º

È»ºóÖ´ÐУº

ÀýÈ磬»á¿´µ½ÈçϽá¹û£º

˵Ã÷ Storage Policy ÒѾ­³É¹¦·¢»Ó×÷Óá£

´æ´¢²ßÂÔµÄÓ¦ÓÃģʽ

ÉÏÊöÌáµ½¸±±¾ÊýÁ¿µÄ¸Ä±ä£¬Ö»ÊÇ´æ´¢²ßÂÔµÄÓ¦ÓÃģʽµÄÒ»ÖÖ£¬ÔÚʵ¼ÊÓ¦ÓÃÖУ¬¿ÉÒÔÓÐÒÔϼ¸ÖÖģʽ£º

1. Ëõ¼õ»òÔö¼ÓÈßÓà

¶ÔÓÚһЩÊý¾Ý£¬ËüÃDz»ÐèÒª±£Ö¤ºÜ¸ßµÄÊý¾Ý³Ö¾ÃÐԺͿɿ¿ÐÔ£¬±È½ÏµäÐ͵ÄÊÇͼÏñµÄËõÂÔͼ£¬ËüÃÇ¿ÉÒÔÓÉԭͼ½µ²ÉÑùµÃµ½£¬ÔÚÕâÖÖÇé¿öÏ£¬¿ÉÒÔ¶Ôԭͼ²ÉÓÃÈý¸±±¾·½°¸£¬¶ÔËõÂÔͼ²ÉÓÃË«¸±±¾·½°¸£¬½µµÍ´æ´¢ÏµÍ³µÄ¿ªÏú¡£ 

ͼ 1.Ϊ²»Í¬µÄ Container Ö¸¶¨²»Í¬µÄ¸±±¾ÊýÁ¿ 

2. ÐÔÄÜ·Ö²ã

ÀýÈ磬¶ÔÓÚһЩÊý¾ÝÓà HDD ±£´æ£¬ÁíһЩÓà SSD ±£´æ¡£Ò²¿ÉÒÔÓ¦ÓÃÓÚÆäËû´æ´¢½éÖÊ£¬ÉõÖÁÊDz»Í¬µÄ´æ´¢É豸¡£

ͼ 2.Ϊ²»Í¬µÄ Container Ö¸¶¨²»Í¬µÄ´æ´¢½éÖÊ

3. µØÀíλÖÃÔ¼Êø

ÔÚijЩ³¡¾°Ï£¬ÒòΪ¹«Ë¾»òÕß¹ú¼ÒµÄÕþ²ßµÄÔ¼Êø£¬Ä³Ð©Êý¾Ý±ØÐë´æ´¢ÔÚÖ¸¶¨µÄµØÀíλÖã¬ÀýÈç»ìºÏÔÆ³¡¾°¡£ÓÐЩ³¡¾°Ï£¬Óû§Ï£ÍûÖ¸¶¨Êý¾Ý´æ·ÅÔÚ¾àÀë·ÃÎʿͻ§¶Ë±È½Ï½üµÄµØ·½¡£

ͼ 3.Ϊ²»Í¬µÄ Container Ö¸¶¨²»Í¬µÄ´æ´¢Î»ÖÃ

4. Ó¦ÓþÀɾÂ루Erasure Codes£©

¶ÔÓÚÐÔÄÜÒªÇ󲻸ߵij¡ºÏ£¬Ó¦ÓþÀɾÂë¡£¾ÀɾÂ룬ÓÖ³ÆÎªÉ¾³ýÂ룬½«¶ÔÏó·Ö¸îΪ m ¸ö·ÖƬ£¨fragments£©£¬²¢Í¨¹ý±àÂëÉú³É k ¸öУÑé·ÖƬ£¬×îºó½«Õâ n=m+k ¸ö·ÖƬ·Åµ½ Swift ¶ÔÏó´æ´¢ÏµÍ³µÄ²»Í¬Î»Öã¨Í¨³£ÊÇ swift µÄ²»Í¬ zone ÖУ©¡£¶ÔÓÚ½« m ¸ö·ÖƬ±àÂëΪ n ¸ö·ÖƬµÄ¾ÀɾÂ룬¼ÇΪEC(m, n)¡£¾ÀɾÂëµÄʾÒâͼÈçÏ£º

ͼ 4.¾ÀɾÂëʾÒâͼ

¾ÀɾÂëÔÚÌá¸ß´æ´¢¿Õ¼äÀûÓÃÂʵÄͬʱ£¬±£³Ö»òÔö¼ÓÊý¾ÝµÄ³Ö¾ÃÐÔ£¨durability£©ºÍ¿É¿¿ÐÔ¡£µ«ÊÇÓÉÓÚ±àÂë¡¢½âÂëºÍ»Ö¸´Êý¾ÝÍùÍùÐèÒª½Ï´óµÄ¼ÆËãÁ¿£¬¿ÉÄܵ¼ÖÂÐÔÄܵĽµµÍ£¬ËùÒԱȽÏÊÊÓÃÓÚ¶Ô³Ö¾ÃÐԺͿɿ¿ÐÔÒªÇó±È½Ï¸ß£¬µ«ÊÇ·ÃÎÊÁ¿²¢²»´óµÄÊý¾Ý´æ´¢¡£

ͼ 5 .Ó¦ÓþÀɾÂë±£»¤Êý¾Ý

ÔÚijÊÓÆµÍøÕ¾ÖеÄÓ¦Óð¸Àý

ÔÚijÊÓÆµÍøÕ¾ÖУ¬²ÉÓà Swift ´æ´¢ÊÓÆµÎļþ£¬²¢¶ÔÆä²¿·ÖÎļþ¸ù¾ÝÊÓÆµÀàÐ͵IJ»Í¬Ó¦Óò»Í¬µÄ´æ´¢²ßÂÔ¡£

ÊÓÆµÊý¾Ý·ÖΪÈýÀࣺ1£©Ô´Æ¬£»2£©³¬ÇåÊÓÆµÎļþ£»3£©ÆäËû²»Í¬ÇåÎú¶ÈµÄÊÓÆµÎļþ¡£Ô´Æ¬Ìå»ý½Ï´ó£¬¶Ô³Ö¾ÃÐÔÒªÇó¸ß£¬µ«ÊǶԷÃÎÊËÙ¶ÈÒªÇó½ÏµÍ£¬²¢·¢·ÃÎÊÊýÁ¿ºÍ·ÃÎÊÆµÂʽϵͣ»ÇåÎú¶È½ÏµÍµÄÊÓÆµÓɳ¬ÇåÊÓÆµ×ªÂëµÃµ½£¬Õë¶ÔÉÏÊöÐèÇó£¬Éè¼Æ´æ´¢²ßÂÔÈçÏ£º

  1. ԴƬ²ÉÓþÀɾÂë²ßÂÔ£¬±àÂë²ÎÊýΪEC(7, 4)£¬¼´°ÑÒ»¸öÊÓÆµÎļþ·Ö¸îΪ 4 ¿é£¬²¢Éú³É 3 ¿éУÑé¿é£¬´æ´¢Ð§ÂÊԼΪ 57%£»
  2. ³¬ÇåÊÓÆµÈý¸±±¾²ßÂÔ£¬´æ´¢Ð§ÂÊԼΪ 33%£»
  3. ÇåÎú¶È½ÏµÍµÄÊÓÆµ²ÉÓÃË«¸±±¾²ßÂÔ£¬´æ´¢Ð§ÂÊΪ 50%¡£

¼ÙÉèÉ豸Ë𻵵ĸÅÂÊΪ 2%£¬ÒÔÉÏÈýÖÖ´æ´¢²ßÂÔµÄÊý¾Ý³Ö¾ÃÐÔ·Ö±ðΪ£º99.9995%£¬99.9992%ºÍ 99.96%¡£

±í 1.´æ´¢²ßÂÔµÄÓ¦ÓÃ

Swift ¼¯ÈºµÄ×ܽáµãÊýÁ¿Îª 54 ¸ö½Úµã£¬×ÜÈÝÁ¿Ô¼Îª 2.3PB£¬¼¯ÈºµÄ²¿Êð¼Ü¹¹ÈçÏÂͼËùʾ£¬ÆäÖÐ Proxy Server µÄÊýÁ¿¿ÉÒÔ¸ù¾ÝÐèÒªÔö¼Ó»òÕß¼õÉÙ¡£²ÉÓô«Í³Èý¸±±¾·½°¸£¬Äܹ»±£´æµÄÊÓÆµ×ܳ¤¶ÈԼΪ£¨Í¬Ò»¶ÎÊÓÆµ²»Í¬·Ö±æÂʲ»½øÐÐÖØ¸´Í³¼Æ£©3.97×106 ·ÖÖÓ¡£

²ÉÓÃÉÏÊö´æ´¢²ßÂԺ󣬱£´æµÄÊÓÆµ×ܳ¤¶ÈΪ 5.89×106 ·ÖÖÓ£¬´æ´¢Ð§ÂÊÌá¸ßÁË 48%¡£

ͼ 6. »ùÓÚ Swift µÄÊÓÆµ´æ´¢ÏµÍ³µÄ²¿Êð¼Ü¹¹

½áÊøÓï

ÔÚ´óÊý¾Ýʱ´ú£¬Ëæ×ÅÎļþÊýÁ¿ºÍÊý¾ÝÌåÁ¿µÄÔö¼Ó£¬ÎļþϵͳºÍ NAS µÄÆ¿¾±Ô½À´Ô½Ã÷ÏÔ£¬»ùÓÚ RESTful Web API µÄ¶ÔÏó´æ´¢Öð½¥Êܵ½ÈËÃǵĹ㷺½ÓÊÜ¡£×÷Ϊ×î¾ß´ú±íÐÔ£¬Ó¦ÓÃ×î¹ã·ºµÄ¿ªÔ´¶ÔÏó´æ´¢·½°¸£¬OpenStack Swift ×Ôµ®ÉúÒÔÀ´Ò»Ö±±£³Ö׿¼ÊõÉÏÁìÏȵĵØÎ»£¬ÔÚ Swift 2.0 ÖÐÍÆ³öµÄ´æ´¢²ßÂÔ¹¦ÄÜ£¬Äܹ»ÈùÜÀíÔ±¸ù¾Ý×Ô¼ºÏµÍ³µÄÌØµãÖÆ¶¨²»Í¬µÄ´æ´¢²ßÂÔ£»Óû§»ò×â»§¸ù¾Ý×Ô¼ºÊý¾ÝµÄÌØµãºÍÒµÎñÐèÒª£¬ÒÔ Container ΪÁ£¶ÈÑ¡Ôñ´æ´¢²ßÂÔ£¬´Ó¶øÊµÏֳɱ¾¡¢Êý¾Ý¿É¿¿ÐÔ¡¢ÐÔÄܵÈά¶ÈÉϵÄ×ÛºÏȨºâºÍÓÅ»¯£¬ÌåÏÖÁËÈí¼þ¶¨Òå´æ´¢µÄÌØµã¡£±¾ÎÄÖ»ÊǶԴ洢²ßÂÔ×öÁËÒ»¸ö¼òÒªµÄ½éÉÜ£¬ÈöÁÕßÌå»á´æ´¢²ßÂÔµÄÓÃ;£¬½øÒ»²½ÉîÈë̽Ë÷¿ÉÒԲ鿴²Î¿¼×ÊÁÏÁ˽âÓÐ¹Ø OpenStack Swift µÄ¸ü¶àÏà¹ØÐÅÏ¢¡£

   
2902 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

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

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
Èí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Åàѵ
±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ