GlusterFS×î³õµÄÄ¿±êÊÇ´úÌæLustreºÍGPFS·Ö²¼Ê½Îļþϵͳ£¬¾¹ý°ËÄê×óÓÒµÄÅ·¢Õ¹£¬GlusterFSĿǰÔÚ¿ªÔ´ÉçÇø»îÔ¾¶È·Ç³£Ö®¸ß£¬Õâ¸öºóÆðÖ®ÐãÒѾٲȻÓëLustre¡¢MooseFS¡¢CEPH²¢ÁгÉΪËÄ´ó¿ªÔ´·Ö²¼Ê½Îļþϵͳ¡£µ±È»£¬GlusterFS²»ÊÇÒ»¸öÍêÃÀµÄ·Ö²¼Ê½Îļþϵͳ£¬Õâ¸öϵͳ×ÔÉíÒ²ÓÐÐí¶à²»×ãÖ®´¦£¬±¾ÎIJ»ÔÙ̸GlusterFSµÄ¸÷ÖÖÓŵ㣬¶øÊÇÉîÈë̸̸GlusterFSµ±ÏµÄÎÊÌâºÍ²»×㣬´Ó¶ø¸ü¼ÓÉîÈëµØÀí½âGlusterFSϵͳ£¬ÆÚÍû°ïÖú´ó¼Ò½øÐÐÕýÈ·µÄϵͳѡÐ;ö²ßºÍ¹æ±ÜÓ¦ÓÃÖеÄÎÊÌâ¡£
ÒÔÏÂΪÔÎÄ£º
GlusterFS£¨GNU ClusterFile System£©ÊÇÒ»¸ö¿ªÔ´µÄ·Ö²¼Ê½Îļþϵͳ£¬ËüµÄÀúÊ·¿ÉÒÔ×·Ëݵ½2006Ä꣬×î³õµÄÄ¿±êÊÇ´úÌæLustreºÍGPFS·Ö²¼Ê½Îļþϵͳ¡£¾¹ý°ËÄê×óÓÒµÄÅ·¢Õ¹£¬GlusterFSĿǰÔÚ¿ªÔ´ÉçÇø»îÔ¾¶È·Ç³£Ö®¸ß£¬Õâ¸öºóÆðÖ®ÐãÒѾٲȻÓëLustre¡¢MooseFS¡¢CEPH²¢ÁгÉΪËÄ´ó¿ªÔ´·Ö²¼Ê½Îļþϵͳ¡£ÓÉÓÚGlusterFSÐÂÓ±ºÍKISS£¨KeepIt as Stupid and Simple£©µÄϵͳ¼Ü¹¹£¬Ê¹ÆäÔÚÀ©Õ¹ÐÔ¡¢¿É¿¿ÐÔ¡¢ÐÔÄÜ¡¢Î¬»¤ÐԵȷ½Ãæ¾ßÓжÀÌØµÄÓÅÊÆ£¬Ä¿Ç°¿ªÔ´ÉçÇø·çÍ·ÓÐѹµ¹Ö®ÊÆ£¬¹úÄÚÍâÓдóÁ¿Óû§ÔÚÑо¿¡¢²âÊԺͲ¿ÊðÓ¦Óá£

µ±È»£¬GlusterFS²»ÊÇÒ»¸öÍêÃÀµÄ·Ö²¼Ê½Îļþϵͳ£¬Õâ¸öϵͳ×ÔÉíÒ²ÓÐÐí¶à²»×ãÖ®´¦£¬°üÀ¨ÖÚËùÖÜÖªµÄÔªÊý¾ÝÐÔÄܺÍСÎļþÎÊÌ⡣ûÓÐÆÕ±éÊÊÓø÷ÖÖÓ¦Óó¡¾°µÄ·Ö²¼Ê½Îļþϵͳ£¬Í¨ÓõÄÒâ˼¾ÍÊÇͨͨ²»ÄÜÓã¬ËÄ´ó¿ªÔ´ÏµÍ³²»ÀýÍ⣬ËùÓÐÉÌÒµ²úÆ·Ò²²»ÀýÍ⡣ÿ¸ö·Ö²¼Ê½Îļþϵͳ¶¼ÓÐËüÊÊÓõÄÓ¦Óó¡¾°£¬ÊʺϵIJÅÊÇ×îºÃµÄ¡£ÕâÒ»´ÎÎÒÃÇ·´ÆäµÀ¶øÐÐÖ®£¬²»ÔÙ̸GlusterFSµÄ¸÷ÖÖÓŵ㣬¶øÊÇÉîÈë̸̸GlusterFSµ±ÏµÄÎÊÌâºÍ²»×㣬´Ó¶ø¸ü¼ÓÉîÈëµØÀí½âGlusterFSϵͳ£¬ÆÚÍû°ïÖú´ó¼Ò½øÐÐÕýÈ·µÄϵͳѡÐ;ö²ßºÍ¹æ±ÜÓ¦ÓÃÖеÄÎÊÌ⡣ͬʱ£¬ÕâЩÎÊÌâÒ²ÊÇGlusterFSÑо¿ºÍÑз¢µÄºÜºÃÇÐÈëµã¡£
1¡¢ÔªÊý¾ÝÐÔÄÜ
GlusterFSʹÓõ¯ÐÔ¹þÏ£Ëã·¨´úÌæ´«Í³·Ö²¼Ê½ÎļþϵͳÖеļ¯Öлò·Ö²¼Ê½ÔªÊý¾Ý·þÎñ£¬Õâ¸öÊÇGlusterFS×îºËÐĵÄ˼Ï룬´Ó¶ø»ñµÃÁ˽ӽüÏßÐԵĸßÀ©Õ¹ÐÔ£¬Í¬Ê±Ò²Ìá¸ßÁËϵͳÐÔÄܺͿɿ¿ÐÔ¡£GlusterFSʹÓÃËã·¨½øÐÐÊý¾Ý¶¨Î»£¬¼¯ÈºÖеÄÈκηþÎñÆ÷ºÍ¿Í»§¶ËÖ»Ðè¸ù¾Ý·¾¶ºÍÎļþÃû¾Í¿ÉÒÔ¶ÔÊý¾Ý½øÐж¨Î»ºÍ¶Áд·ÃÎÊ£¬Îļþ¶¨Î»¿É¶ÀÁ¢²¢Ðл¯½øÐС£
ÕâÖÖËã·¨µÄÌØµãÊÇ£¬¸ø¶¨È·¶¨µÄÎļþÃû£¬²éÕҺͶ¨Î»»á·Ç³£¿ì¡£µ«ÊÇ£¬Èç¹ûÊÂÏȲ»ÖªµÀÎļþÃû£¬ÒªÁгöÎļþĿ¼£¨ls»òls -l£©£¬ÐÔÄܾͻá´ó·ùϽµ¡£¶ÔÓÚDistributed¹þÏ£¾í£¬Îļþͨ¹ýHASHËã·¨·ÖÉ¢µ½¼¯Èº½ÚµãÉÏ£¬Ã¿¸ö½ÚµãÉϵÄÃüÃû¿Õ¼ä¾ù²»Öصþ£¬ËùÓм¯Èº¹²Í¬¹¹³ÉÍêÕûµÄÃüÃû¿Õ¼ä£¬·ÃÎÊʱʹÓÃHASHËã·¨½øÐвéÕÒ¶¨Î»¡£ÁÐÎļþĿ¼ʱ£¬ÐèÒª²éѯËùÓнڵ㣬²¢¶ÔÎļþĿ¼ÐÅÏ¢¼°ÊôÐÔ½øÐоۺϡ£Õâʱ£¬¹þÏ£Ëã·¨¸ù±¾·¢»Ó²»ÉÏ×÷Óã¬Ïà¶ÔÓÚÓÐÖÐÐĵÄÔªÊý¾Ý·þÎñ£¬²éѯЧÂÊÒª²îºÜ¶à¡£
´ÓÎÒ½Ó´¥µÄһЩÓû§ºÍʵ¼ùÀ´¿´£¬µ±¼¯Èº¹æÄ£±ä´óÒÔ¼°ÎļþÊýÁ¿´ïµ½°ÙÍò¼¶±ðʱ£¬lsÎļþĿ¼ºÍrmɾ³ýÎļþĿ¼ÕâÁ½¸öµäÐÍÔªÊý¾Ý²Ù×÷¾Í»á±äµÃ·Ç³£Âý£¬´´½¨ºÍɾ³ý100Íò¸ö¿ÕÎļþ¿ÉÄܻỨÉÏ15·ÖÖÓ¡£ÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ£¿ÎÒÃǽ¨ÒéºÏÀí×éÖ¯ÎļþĿ¼£¬Ä¿Â¼²ã´Î²»ÒªÌ«Éµ¥¸öĿ¼ÏÂÎļþÊýÁ¿²»Òª¹ý¶à£»Ôö´ó·þÎñÆ÷ÄÚ´æÅäÖ㬲¢ÇÒÔö´óGlusterFSĿ¼»º´æ²ÎÊý£»ÍøÂçÅäÖ÷½Ã棬½¨Òé²ÉÓÃÍòÕ×»òÕßInfiniBand¡£´ÓÑз¢½Ç¶È¿´£¬¿ÉÒÔ¿¼ÂÇÓÅ»¯·½·¨ÌáÉýÔªÊý¾ÝÐÔÄÜ¡£±ÈÈ磬¿ÉÒÔ¹¹½¨È«¾ÖͳһµÄ·Ö²¼Ê½ÔªÊý¾Ý»º´æÏµÍ³£»Ò²¿ÉÒÔ½«ÔªÊý¾ÝÓëÊý¾ÝÖØÐ·ÖÀ룬ÿ¸ö½ÚµãÉϵÄÔªÊý¾Ý²ÉÓÃÈ«ÄÚ´æ»òÊý¾Ý¿âÉè¼Æ£¬²¢²ÉÓÃSSD½øÐÐÔªÊý¾Ý³Ö¾Ã»¯¡£?
2¡¢Ð¡ÎļþÎÊÌâ
ÀíÂÛºÍʵ¼ùÉÏ·ÖÎö£¬GlusterFSĿǰÖ÷ÒªÊÊÓôóÎļþ´æ´¢³¡¾°£¬¶ÔÓÚСÎļþÓÈÆäÊǺ£Á¿Ð¡Îļþ£¬´æ´¢Ð§ÂʺͷÃÎÊÐÔÄܶ¼±íÏÖ²»¼Ñ¡£º£Á¿Ð¡ÎļþLOSFÎÊÌâÊǹ¤Òµ½çºÍѧÊõ½ç¹«ÈϵÄÄÑÌ⣬GlusterFS×÷ΪͨÓõķֲ¼Ê½Îļþϵͳ£¬²¢Ã»ÓжÔСÎļþ×÷¶îÍâµÄÓÅ»¯´ëÊ©£¬ÐÔÄܲ»ºÃÒ²ÊÇ¿ÉÒÔÀí½âµÄ¡£
¶ÔÓÚLOSF¶øÑÔ£¬IOPS/OPSÊǹؼüÐÔÄܺâÁ¿Ö¸±ê£¬Ôì³ÉÐÔÄܺʹ洢ЧÂʵÍϵÄÖ÷ÒªÔÒò°üÀ¨ÔªÊý¾Ý¹ÜÀí¡¢Êý¾Ý²¼¾ÖºÍI/O¹ÜÀí¡¢Cache¹ÜÀí¡¢ÍøÂ翪ÏúµÈ·½Ãæ¡£´ÓÀíÂÛ·ÖÎöÒÔ¼°LOSFÓÅ»¯Êµ¼ùÀ´¿´£¬ÓÅ»¯Ó¦¸Ã´ÓÔªÊý¾Ý¹ÜÀí¡¢»º´æ»úÖÆ¡¢ºÏ²¢Ð¡ÎļþµÈ·½ÃæÕ¹¿ª£¬¶øÇÒÓÅ»¯ÊÇÒ»¸öϵͳ¹¤³Ì£¬½áºÏÓ²¼þ¡¢Èí¼þ£¬´Ó¶à¸ö²ãÃæÍ¬Ê±×ÅÊÖ£¬ÓÅ»¯Ð§¹û»á¸üÏÔÖø¡£GlusterFSСÎļþÓÅ»¯¿ÉÒÔ¿¼ÂÇÕâЩ·½·¨£¬ÕâÀï²»ÔÙ׸Êö£¬¹ØÓÚСÎļþÎÊÌâÇë²Î¿¼¡°º£Á¿Ð¡ÎļþÎÊÌâ×ÛÊö¡±Ò»ÎÄ¡£
3¡¢¼¯Èº¹ÜÀíģʽ
GlusterFS¼¯Èº²ÉÓÃÈ«¶ÔµÈʽ¼Ü¹¹£¬Ã¿¸ö½ÚµãÔÚ¼¯ÈºÖеĵØÎ»ÊÇÍêÈ«¶ÔµÈµÄ£¬¼¯ÈºÅäÖÃÐÅÏ¢ºÍ¾íÅäÖÃÐÅÏ¢ÔÚËùÓнڵãÖ®¼äʵʱͬ²½¡£ÕâÖּܹ¹µÄÓŵãÊÇ£¬Ã¿¸ö½Úµã¶¼ÓµÓÐÕû¸ö¼¯ÈºµÄÅäÖÃÐÅÏ¢£¬¾ßÓи߶ȵĶÀÁ¢×ÔÖÎÐÔ£¬ÐÅÏ¢¿ÉÒÔ±¾µØ²éѯ¡£µ«Í¬Ê±´øÀ´µÄÎÊÌâµÄ£¬Ò»µ©ÅäÖÃÐÅÏ¢·¢Éú±ä»¯£¬ÐÅÏ¢ÐèҪʵʱͬ²½µ½ÆäËûËùÓнڵ㣬±£Ö¤ÅäÖÃÐÅÏ¢Ò»ÖÂÐÔ£¬·ñÔòGlusterFS¾ÍÎÞ·¨Õý³£¹¤×÷¡£ÔÚ¼¯Èº¹æÄ£½Ï´óʱ£¬²»Í¬½Úµã²¢·¢ÐÞ¸ÄÅäÖÃʱ£¬Õâ¸öÎÊÌâ±íÏÖÓÈΪͻ³ö¡£ÒòΪÕâ¸öÅäÖÃÐÅϢͬ²½Ä£ÐÍÊÇÍø×´µÄ£¬´ó¹æÄ£¼¯Èº²»½öÐÅϢͬ²½Ð§Âʲ¶øÇÒ³öÏÖÊý¾Ý²»Ò»ÖµĸÅÂÊ»áÔö¼Ó¡£
ʵ¼ÊÉÏ£¬´ó¹æÄ£¼¯Èº¹ÜÀíÓ¦¸ÃÊDzÉÓü¯ÖÐʽ¹ÜÀí¸üºÃ£¬²»½ö¹ÜÀí¼òµ¥£¬Ð§ÂÊÒ²¸ß¡£¿ÉÄÜÓÐÈË»áÈÏΪ¼¯ÖÐʽ¼¯Èº¹ÜÀíÓëGlusterFSµÄÎÞÖÐÐļܹ¹²»Ðµ÷£¬Æäʵ²»È»¡£GlusterFS 2.0ÒÔǰ£¬Ö÷Ҫͨ¹ý¾²Ì¬ÅäÖÃÎļþÀ´¶Ô¼¯Èº½øÐÐÅäÖùÜÀí£¬Ã»ÓÐGlusterd¼¯Èº¹ÜÀí·þÎñ£¬Õâ˵Ã÷glusterd²¢²»ÊÇGlusterFS²»¿É»òȱµÄ×é³É²¿·Ö£¬ËüÃÇÖ®¼äÊÇËÉñîºÏ¹ØÏµ£¬¿ÉÒÔÓÃÆäËûµÄ·½Ê½À´Ìæ»»¡£´ÓÆäËû·Ö²¼Ê½ÏµÍ³¹ÜÀíʵ¼ùÀ´¿´£¬Ò²¶¼ÊDzÉÓü¯ÈºÊ½¹ÜÀí¾Ó¶à£¬ÕâÒ²ËãÒ»¸ö×ôÖ¤£¬GlusterFS 4.0¿ª·¢¼Æ»®Ò²±íÏÖÓÐÏò¼¯ÖÐʽ¹ÜÀíת±äµÄÇ÷ÊÆ¡£
4¡¢ÈÝÁ¿¸ºÔؾùºâ
GlusterFSµÄ¹þÏ£·Ö²¼ÊÇÒÔĿ¼Ϊ»ù±¾µ¥Î»µÄ£¬ÎļþµÄ¸¸Ä¿Â¼ÀûÓÃÀ©Õ¹ÊôÐԼǼÁË×Ó¾íÓ³ÉäÐÅÏ¢£¬×ÓÎļþÔÚ¸¸Ä¿Â¼ËùÊô´æ´¢·þÎñÆ÷ÖнøÐзֲ¼¡£ÓÉÓÚÎļþĿ¼ÊÂÏȱ£´æÁË·Ö²¼ÐÅÏ¢£¬Òò´ËÐÂÔö½Úµã²»»áÓ°ÏìÏÖÓÐÎļþ´æ´¢·Ö²¼£¬Ëü½«´Ó´ËºóµÄд´½¨Ä¿Â¼¿ªÊ¼²ÎÓë´æ´¢·Ö²¼µ÷¶È¡£ÕâÖÖÉè¼Æ£¬ÐÂÔö½Úµã²»ÐèÒªÒÆ¶¯ÈκÎÎļþ£¬µ«ÊǸºÔؾùºâûÓÐÆ½»¬´¦Àí£¬ÀÏ½Úµã¸ºÔØ½ÏÖØ¡£GlusterFSʵÏÖÁËÈÝÁ¿¸ºÔؾùºâ¹¦ÄÜ£¬¿ÉÒÔ¶ÔÒѾ´æÔÚµÄĿ¼Îļþ½øÐÐRebalance£¬Ê¹µÃÔçÏÈ´´½¨µÄÀÏĿ¼¿ÉÒÔÔÚÐÂÔö´æ´¢½ÚµãÉÏ·Ö²¼£¬²¢¿É¶ÔÏÖÓÐÎļþÊý¾Ý½øÐÐÇ¨ÒÆÊµÏÖÈÝÁ¿¸ºÔؾùºâ¡£
GlusterFSĿǰµÄÈÝÁ¿¸ºÔؾùºâ´æÔÚһЩÎÊÌâ¡£ÓÉÓÚ²ÉÓÃHashËã·¨½øÐÐÊý¾Ý·Ö²¼£¬ÈÝÁ¿¸ºÔؾùºâÐèÒª¶ÔËùÓÐÊý¾ÝÖØÐ½øÐмÆËã²¢·ÖÅä´æ´¢½Úµã£¬¶ÔÓÚÄÇЩ²»ÐèÒªÇ¨ÒÆµÄÊý¾ÝÀ´Ëµ£¬Õâ¸ö¼ÆËãÊǶàÓàµÄ¡£Hash·Ö²¼¾ßÓÐËæ»úÐԺ;ùÔÈÐÔµÄÌØµã£¬Êý¾ÝÖØÐ·ֲ¼Ö®ºó£¬ÀϽڵã»áÓдóÁ¿Êý¾ÝǨÈëºÍǨ³ö£¬Õâ¸ö¶à³öÁ˺ܶàÊý¾ÝÇ¨ÒÆÁ¿¡£Ïà¶ÔÓÚÓÐÖÐÐĵļܹ¹£¬¿Éν½ÚµãÒ»±ä¶ø¶¯È«Éí£¬Ôö¼ÓºÍɾ³ý½ÚµãÔö¼ÓÁË´óÁ¿Êý¾ÝÇ¨ÒÆ¹¤×÷¡£GlusterFSÓ¦¸ÃÓÅ»¯Êý¾Ý·Ö²¼£¬×îС»¯ÈÝÁ¿¸ºÔؾùºâÊý¾ÝÇ¨ÒÆ¡£´ËÍ⣬GlusterFSÈÝÁ¿¸ºÔؾùºâҲûÓкܺÿ¼ÂÇÖ´ÐеÄ×Ô¶¯»¯¡¢ÖÇÄÜ»¯ºÍ²¢Ðл¯¡£Ä¿Ç°£¬GlusterFSÔÚÔö¼ÓºÍɾ³ý½ÚµãÉÏ£¬ÐèÒªÊÖ¹¤Ö´ÐиºÔؾùºâ£¬Ò²Ã»Óп¼Âǵ±Ç°ÏµÍ³µÄ¸ºÔØÇé¿ö£¬¿ÉÄÜÓ°ÏìÕý³£µÄÒµÎñ·ÃÎÊ¡£GlusterFSµÄÈÝÁ¿¸ºÔؾùºâÊÇͨ¹ýÔÚµ±Ç°Ö´ÐнڵãÉϹÒÔØ¾í£¬È»ºó½øÐÐÎļþ¸´ÖÆ¡¢É¾³ýºÍ¸ÄÃû²Ù×÷ʵÏֵģ¬Ã»ÓÐÔÚËùÓм¯Èº½ÚµãÉϲ¢·¢½øÐУ¬¸ºÔؾùºâÐÔÄܲ
5¡¢Êý¾Ý·Ö²¼ÎÊÌâ
GlusterfsÖ÷ÒªÓÐÈýÖÖ»ù±¾µÄ¼¯ÈºÄ£Ê½£¬¼´·Ö²¼Ê½¼¯Èº(Distributed cluster)¡¢Ìõ´ø¼¯Èº(Stripe cluster)¡¢¸´ÖƼ¯Èº(Replica cluster)¡£ÕâÈýÖÖ»ù±¾¼¯Èº»¹¿ÉÒÔ²ÉÓÃÀàËÆ¶Ñ»ýľµÄ·½Ê½£¬¹¹³É¸ü¼Ó¸´Ôӵĸ´ºÏ¼¯Èº¡£ÈýÖÖ»ù±¾¼¯Èº¸÷ÓÉÒ»¸ötranslatorÀ´ÊµÏÖ£¬·Ö±ðÓÉ×Ô¼º¶ÀÁ¢µÄÃüÃû¿Õ¼ä¡£¶ÔÓÚ·Ö²¼Ê½¼¯Èº£¬Îļþͨ¹ýHASHËã·¨·ÖÉ¢µ½¼¯Èº½ÚµãÉÏ£¬·ÃÎÊʱʹÓÃHASHËã·¨½øÐвéÕÒ¶¨Î»¡£¸´ÖƼ¯ÈºÀàËÆRAID1£¬ËùÓнڵãÊý¾ÝÍêÈ«Ïàͬ£¬·ÃÎÊʱ¿ÉÒÔÑ¡ÔñÈÎÒâ¸ö½Úµã¡£Ìõ´ø¼¯ÈºÓëRAID0ÏàËÆ£¬Îļþ±»·Ö³ÉÊý¾Ý¿éÒÔRound Robin·½Ê½·Ö²¼µ½ËùÓнڵãÉÏ£¬·ÃÎÊʱ¸ù¾ÝλÖÃÐÅϢȷ¶¨½Úµã¡£
¹þÏ£·Ö²¼¿ÉÒÔ±£Ö¤Êý¾Ý·Ö²¼Ê½µÄ¾ùºâÐÔ£¬µ«Ç°ÌáÊÇÎļþÊýÁ¿Òª×ã¹»¶à£¬µ±ÎļþÊýÁ¿½ÏÉÙʱ£¬ÄÑÒÔ±£Ö¤·Ö²¼µÄ¾ùºâÐÔ£¬µ¼Ö½ڵãÖ®¼ä¸ºÔز»¾ùºâ¡£Õâ¸ö¶ÔÓÐÖÐÐĵķֲ¼Ê½ÏµÍ³ÊǺÜÈÝÒ××öµ½µÄ£¬µ«GlusteFSȱ·¦¼¯ÖÐʽµÄµ÷¶È£¬ÊµÏÖÆðÀ´±È½Ï¸´ÔÓ¡£¸´Öƾí°üº¬¶à¸ö¸±±¾£¬¶ÔÓÚ¶ÁÇëÇó¿ÉÒÔʵÏÖ¸ºÔؾùºâ£¬µ«Êµ¼ÊÉϸºÔØ´ó¶à¼¯ÖÐÔÚµÚÒ»¸ö¸±±¾ÉÏ£¬ÆäËû¸±±¾¸ºÔغÜÇᣬÕâ¸öÊÇʵÏÖÉÏÎÊÌ⣬ÓëÀíÂÛ²»Ì«Ïà·û¡£Ìõ´ø¾íÔ±¾ÊÇʵÏÖ¸ü¸ßÐÔÄܺͳ¬´óÎļþ£¬µ«ÔÚÐÔÄÜ·½ÃæµÄ±íÏÖÌ«²îÇ¿ÈËÒ⣬ԶԶ²»Èç¹þÏ£¾íºÍ¸´ÖÆ¾í£¬Ã»Óб»ºÃºÃʵÏÖ£¬Á¬¹Ù·½¶¼²»ÍƼöÓ¦Óá£
6¡¢Êý¾Ý¿ÉÓÃÐÔÎÊÌâ
¸±±¾£¨Replication£©¾ÍÊǶÔÔʼÊý¾ÝµÄÍêÈ«¿½±´¡£Í¨¹ýΪϵͳÖеÄÎļþÔö¼Ó¸÷ÖÖ²»Í¬ÐÎʽµÄ¸±±¾£¬±£´æÈßÓàµÄÎļþÊý¾Ý£¬¿ÉÒÔÊ®·ÖÓÐЧµØÌá¸ßÎļþµÄ¿ÉÓÃÐÔ£¬±ÜÃâÔÚµØÀíÉϹ㷺·Ö²¼µÄϵͳ½ÚµãÓÉÍøÂç¶Ï¿ª»ò»úÆ÷¹ÊÕϵȶ¯Ì¬²»¿É²âÒòËØ¶øÒýÆðµÄÊý¾Ý¶ªÊ§»ò²»¿É»ñÈ¡¡£GlusterFSÖ÷ҪʹÓø´ÖÆÀ´ÌṩÊý¾ÝµÄ¸ß¿ÉÓÃÐÔ£¬Í¨¹ýµÄ¼¯ÈºÄ£Ê½Óи´ÖƾíºÍ¹þÏ£¸´ÖƾíÁ½ÖÖģʽ¡£¸´ÖƾíÊÇÎļþ¼¶RAID1£¬¾ßÓÐÈÝ´íÄÜÁ¦£¬Êý¾Ýͬ²½Ð´µ½¶à¸öbrickÉÏ£¬Ã¿¸ö¸±±¾¶¼¿ÉÒÔÏìÓ¦¶ÁÇëÇó¡£µ±Óи±±¾½Úµã·¢Éú¹ÊÕÏ£¬ÆäËû¸±±¾½ÚµãÈÔÈ»Õý³£Ìṩ¶Áд·þÎñ£¬¹ÊÕϽڵã»Ö¸´ºóͨ¹ý×ÔÐÞ¸´·þÎñ»òͬ²½·ÃÎÊʱ×Ô¶¯½øÐÐÊý¾Ýͬ²½¡£
Ò»°ã¶øÑÔ£¬¸±±¾ÊýÁ¿Ô½¶à£¬ÎļþµÄ¿É¿¿ÐÔ¾ÍÔ½¸ß£¬µ«ÊÇÈç¹ûΪËùÓÐÎļþ¶¼±£´æ½Ï¶àµÄ¸±±¾ÊýÁ¿£¬´æ´¢ÀûÓÃÂʵͣ¨Îª¸±±¾ÊýÁ¿·ÖÖ®Ò»£©£¬²¢Ôö¼ÓÎļþ¹ÜÀíµÄ¸´ÔÓ¶È¡£Ä¿Ç°GlusterFSÉçÇøÕýÔÚÑз¢¾ÀɾÂ빦ÄÜ£¬Í¨¹ýÈßÓà±àÂëÌá¸ß´æ´¢¿ÉÓÃÐÔ£¬²¢ÇҾ߱¸½ÏµÍµÄ¿Õ¼ä¸´ÔӶȺÍÊý¾ÝÈßÓà¶È£¬´æ´¢ÀûÓÃÂʸߡ£
GlusterFSµÄ¸´ÖƾíÒÔbrickΪµ¥Î»½øÐоµÏñ£¬Õâ¸öģʽ²»Ì«Áé»î£¬ÎļþµÄ¸´ÖƹØÏµ²»Äܶ¯Ì¬µ÷Õû£¬ÔÚÒѾÓи±±¾·¢Éú¹ÊÕϵÄÇé¿öÏ»áÒ»¶¨³Ì¶ÈÉϽµµÍϵͳµÄ¿ÉÓÃÐÔ¡£¶ÔÓÚÓÐÔªÊý¾Ý·þÎñµÄ·Ö²¼Ê½ÏµÍ³£¬¸´ÖƹØÏµ¿ÉÒÔÊÇÒÔÎļþΪµ¥Î»µÄ£¬ÎļþµÄ²»Í¬¸±±¾¶¯Ì¬·Ö²¼ÔÚ¶à¸ö´æ´¢½ÚµãÉÏ£»µ±Óи±±¾·¢Éú¹ÊÕÏ£¬¿ÉÒÔÖØÐÂÑ¡ÔñÒ»¸ö´æ´¢½ÚµãÉú³ÉÒ»¸öи±±¾£¬´Ó¶ø±£Ö¤¸±±¾ÊýÁ¿£¬±£Ö¤¿ÉÓÃÐÔ¡£ÁíÍ⣬»¹¿ÉÒÔʵÏÖ²»Í¬ÎļþĿ¼ÅäÖò»Í¬µÄ¸±±¾ÊýÁ¿£¬ÈȵãÎļþµÄ¶¯Ì¬Ç¨ÒÆ¡£¶ÔÓÚÎÞÖÐÐĵÄGlusterFSϵͳÀ´Ëµ£¬ÕâЩ¿´ÆðÀ´ÀíËùµ±È»µÄ¹¦ÄÜ£¬ÊµÏÖÆðÀ´¶¼ÊÇÒª´ó·ÑÖÜÕ۵ġ£²»¹ýÖµµÃÒ»ÌáµÄÊÇ£¬4.0¿ª·¢¼Æ»®ÒѾÔÚ¿¼ÂÇÕâ·½ÃæµÄ¸±±¾ÌØÐÔ¡£
7¡¢Êý¾Ý°²È«ÎÊÌâ
GlusterFSÒÔÔʼÊý¾Ý¸ñʽ£¨ÈçEXT4¡¢XFS¡¢ZFS£©´æ´¢Êý¾Ý£¬²¢ÊµÏÖ¶àÖÖÊý¾Ý×Ô¶¯ÐÞ¸´»úÖÆ¡£Òò´Ë£¬ÏµÍ³¼«¾ßµ¯ÐÔ£¬¼´Ê¹ÀëÏßÇéÐÎÏÂÎļþÒ²¿ÉÒÔͨ¹ýÆäËû±ê×¼¹¤¾ß½øÐзÃÎÊ¡£Èç¹ûÓû§ÐèÒª´ÓGlusterFSÖÐÇ¨ÒÆÊý¾Ý£¬²»ÐèÒª×÷ÈκÎÐÞ¸ÄÈÔÈ»¿ÉÒÔÍêȫʹÓÃÕâЩÊý¾Ý¡£
È»¶ø£¬Êý¾Ý°²È«³ÉÁËÎÊÌ⣬ÒòΪÊý¾ÝÊÇÒÔÆ½·²µÄ·½Ê½±£´æµÄ£¬½Ó´¥Êý¾ÝµÄÈË¿ÉÒÔÖ±½Ó¸´ÖƺͲ鿴¡£Õâ¶ÔºÜ¶àÓ¦ÓÃÏÔÈ»ÊDz»ÄܽÓÊܵ쬱ÈÈçÔÆ´æ´¢ÏµÍ³£¬Óû§Ìرð¹ØÐÄÊý¾Ý°²È«¡£Ë½Óд洢¸ñʽ¿ÉÒÔ±£Ö¤Êý¾ÝµÄ°²È«ÐÔ£¬¼´Ê¹Ð¹Â¶Ò²ÊDz»¿ÉÖªµÄ¡£GlusterFSҪʵÏÖ×Ô¼ºµÄ˽Óиñʽ£¬ÔÚÉè¼ÆÊµÏÖºÍÊý¾Ý¹ÜÀíÉÏÏà¶Ô¸´ÔÓһЩ£¬Ò²»á¶ÔÐÔÄܲúÉúÒ»¶¨Ó°Ïì¡£
GlusterFSÔÚ·ÃÎÊÎļþĿ¼ʱ¸ù¾ÝÀ©Õ¹ÊôÐÔÅжϸ±±¾ÊÇ·ñÒ»Ö£¬Õâ¸ö½øÐÐÊý¾Ý×Ô¶¯ÐÞ¸´µÄǰÌáÌõ¼þ¡£½Úµã·¢ÉúÕý³£µÄ¹ÊÕÏ£¬ÒÔ¼°´Ó¹ÒÔØµã½øÐÐÕý³£µÄ²Ù×÷£¬ÕâЩÇé¿öÏ·¢ÉúµÄÊý¾Ý²»Ò»Ö£¬¶¼ÊÇ¿ÉÒÔÅжϺÍ×Ô¶¯ÐÞ¸´µÄ¡£µ«ÊÇ£¬Èç¹ûÖ±½Ó´Ó½Úµãϵͳµ×²ã¶ÔÔʼÊý¾Ý½øÐÐÐ޸ĻòÕßÆÆ»µ£¬GlusterFS´ó¶àÇé¿öÏÂÊÇÎÞ·¨Åжϵģ¬ÒòΪÊý¾Ý±¾ÉíҲûÓÐУÑ飬Êý¾ÝÒ»ÖÂÐÔÎÞ·¨±£Ö¤¡£
8¡¢CacheÒ»ÖÂÐÔ
ΪÁ˼ò»¯CacheÒ»ÖÂÐÔ£¬GlusterFSûÓÐÒýÈë¿Í»§¶ËдCache£¬¶ø²ÉÓÃÁ˿ͻ§¶ËÖ»¶ÁCache¡£GlusterFS²ÉÓüòµ¥µÄÈõÒ»ÖÂÐÔ£¬Êý¾Ý»º´æµÄ¸üйæÔòÊǸù¾ÝÉèÖõÄʧЧʱ¼ä½øÐÐÖØÖõġ£¶ÔÓÚ»º´æµÄÊý¾Ý£¬¿Í»§¶ËÖÜÆÚÐÔѯÎÊ·þÎñÆ÷£¬²éѯÎļþ×îºó±»Ð޸ĵÄʱ¼ä£¬Èç¹û±¾µØ»º´æµÄÊý¾ÝÔçÓÚ¸Ãʱ¼ä£¬ÔòÈûº´æÊý¾ÝʧЧ£¬Ï´ζÁÈ¡Êý¾Ýʱ¾ÍÈ¥·þÎñÆ÷»ñÈ¡×îеÄÊý¾Ý¡£
GlusterFS¿Í»§¶Ë¶ÁCacheˢеÄʱ¼äȱʡÊÇ1Ã룬¿ÉÒÔͨ¹ýÖØÐÂÉèÖþí²ÎÊýPerformance.cache-refresh-timeout½øÐе÷Õû¡£ÕâÒâζ×Å£¬Èç¹ûͬʱÓжà¸öÓû§ÔÚ¶Áдһ¸öÎļþ£¬Ò»¸öÓû§¸üÐÂÁËÊý¾Ý£¬ÁíÒ»¸öÓû§ÔÚCacheË¢ÐÂÖÜÆÚµ½À´Ç°¿ÉÄܶÁµ½·Ç×îеÄÊý¾Ý£¬¼´ÎÞ·¨±£Ö¤Êý¾ÝµÄǿһÖÂÐÔ¡£Òò´Ëʵ¼ÊÓ¦ÓÃʱÐèÒªÔÚÐÔÄܺÍÊý¾ÝÒ»ÖÂÐÔÖ®¼ä½øÐÐÕÛÖУ¬Èç¹ûÐèÒª¸ü¸ßµÄÊý¾ÝÒ»ÖÂÐÔ£¬¾ÍµÃµ÷С»º´æË¢ÐÂÖÜÆÚ£¬ÉõÖÁ½ûÓöÁ»º´æ£»·´Ö®£¬ÊÇ¿ÉÒÔ°Ñ»º´æÖÜÆÚµ÷´óÒ»µã£¬ÒÔÌáÉý¶ÁÐÔÄÜ¡£ |