±¾Æª½«ÎªÄú½²Êö¼¯ÈºÏµÍ³Îļþϵͳ£¬Ö÷Òª°üÀ¨Coda,Global,xFS,MOSIXÎļþϵͳ¡£
¡¡¡¡¼¯Èº¼ÆËãµÄ·¢Õ¹ÐèÒª·¢Õ¹²¢Éý¼¶Îļþϵͳ£¬´ËÎļþϵͳ²»½öÄܹ»¶Ô¶à¸öÎļþÌṩ²¢ÐеķÃÎÊ£¬¶øÇÒÄÜÔÚ¶ÔͬһÎļþ½øÐзÃÎʵĽø³Ì¼äÌṩcacheÒ»ÖÂÐÔ¡£´ó¶àÊý´«Í³µÄÍøÂçÎļþϵͳÈçNFS¡¢AFS¡¢Coda¶ÔÓÚ²¢Ðд¦Àí¶øÑÔÊÇÔ¶Ô¶²»¹»µÄ£¬ÒòΪËüÃǶ¼ÒÀÀµÖÐÐÄÎļþ·þÎñÆ÷¡£µ«ÊÇ£¬Ëæ×ÅÔ½À´Ô½¶àµÄ¿Í»§µÄ¼ÓÈ룬·þÎñÆ÷µÄcpuºÜ¿ì¾Í³ÉΪÁËÐÔÄܵÄÆ¿¾±¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬´¦ÀíÄÜÁ¦¸üÇ¿µÄ·þÎñÆ÷ÒѾ±»ÖÆÔìÁ˳öÀ´£¬¶øÇÒÎļþϵͳµÄÉè¼ÆÕßÃÇÒ²ÊÔͼ½«¸ü¶àµÄ¹¤×÷½»¸ø¿Í»§À´Íê³É£¬µ«ÊǼ´Ê¹ÊÇÕâÑù£¬·þÎñÆ÷µÄËÙ¶ÈÈÔÈ»ÊÇÎļþϵͳ¿ÉÉý¼¶ÐÔµÄÆ¿¾±¡£ÐÂÒ»´úµÄÎļþϵͳÈçGlobal File System(GFS) ¡¢XFSºÍ Frangipani ±È½ÏÊʺÏÓÚ¼¯ÈºÏµÍ³¡£ÒòΪÕâЩϵͳ¶¼ÔÚ¼¯ÈºÏµÍ³ÖеĻúÆ÷ÉÏ·ÖÅä´æ´¢Æ÷¡¢cache ºÍ¿ØÖÆȨ£¬²¢ÇÒÌṩÁ˲¢ÐÐÎļþ·ÃÎʺÍcacheÒ»ÖÂÐԵĽâ¾ö·½·¨¡£
¡¡¡¡
¡¡¡¡1. CodaÎļþϵͳ
¡¡¡¡CodaÎļþϵͳ(Coda File System)ÊÊÓÃÓÚ·Ö²¼Ê½ÍøÂç»·¾³¡£ËüÊÇÔÚ1987ÄêÔÚ¿¨ÄÍ»ù÷¡´óѧÒÔAFS2ΪÔÐÍ¿ª·¢³öÀ´µÄ¡£Linux Virtual Server¾Í²ÉÓÃÁËCodaÎļþϵͳ¡£CodaÌṩÁËÒÔÏÂÊÊÓÃÓÚÍøÂçÎļþϵͳµÄÌØÐÔ¡£
¡¡¡¡
¡¡¡¡ÎªÒƶ¯µÄ¿Í»§ÌṩÁ˶Ͽª²Ù×÷¡£
¡¡¡¡ËüÊÇÒ»ÖÖ×ÔÓÉÈí¼þ¡£
¡¡¡¡Í¨¹ý¿Í»§·ÃÎʵijÖÐø»º´æÌṩÁ˸߿ÉÓÃÐÔ¡£
¡¡¡¡·þÎñÆ÷¸´Öƹ¦ÄÜ¡£
¡¡¡¡ÌṩÁËÈÏÖ¤µÄ°²È«Ä£ÐÍ¡¢¼ÓÃܺͷÃÎÊ¿ØÖÆ¡£
¡¡¡¡²¿·ÖÍøÂçʧЧºóÄܹ»¼ÌÐø¹¤×÷¡£
¡¡¡¡¾ßÓÐÍøÂç´ø¿íÊÊÓ¦ÐÔ¡£
¡¡¡¡½ÏºÃµÄ¿ÉÀ©Õ¹ÐÔ¡£
¡¡¡¡¼´Ê¹ÔÚÍøÂçʧЧʱҲΪ¹²Ïí¶¨ÒåÁËÁ¼ºÃµÄÓï·¨¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡AFSºÍCodaÎļþϵͳ¶¼½«ËùÓеÄÎļþ·ÅÓÚͬһ¸öĿ¼Ï£¬ÈçAFS ÊÇ/afs£¬CodaÊÇ /coda£¬ÕâÒâζ×ÅËùÓеĿͻ§¶¼¿ÉÒÔʹÓÃÏàͬµÄÅäÖã¬ËùÓеÄÓû§¿´µ½µÄÊÇÏàͬµÄÎļþÊ÷¡£¶ÔÓÚ´óµÄ°²×°¶øÑÔÕâÊǷdz£ÖØÒªµÄ¡£¶ÔÓÚNFSÎļþϵͳ¶øÑÔ£¬¿Í»§ÐèÒª·þÎñÆ÷µÄ×îÐÂÁбí¶øÔÚCodaÖÐÖ»ÐèÒªÕÒµ½¸ùĿ¼/coda¡£
¡¡¡¡
¡¡¡¡µ±ÔÚ¿Í»§¶ËÇÃÈë"cat /coda/tmp/foo"ÕâÑùµÄÇëÇóʱ£¬cat½«µ÷ÓÃϵͳµ÷ÓÃÏòºËÐÄÇëÇó·þÎñ£¬ºËÐÄÊ×ÏÈÕÒµ½¶ÔÓ¦µÄÎļþË÷Òý½Úµã²¢·µ»ØÓë¸ÃÎļþÏà¹ØµÄÎļþ¾ä±ú¡£Ë÷Òý½Úµã°üº¬ÎļþµÄһЩÏà¹ØÐÅÏ¢£¬Îļþ¾ä±úÓÃÓÚ´ò¿ªÎļþ¡£ÏµÍ³µ÷ÓÃÊ×ÏȽøÈëºËÐĵÄÐéÄâÎļþϵͳ£¨VFS£©£¬È»ºóËü½«ÇëÇó´«Ë͸øºËÐÄÖеÄCodaÎļþϵͳģ¿é½øÐд¦Àí¡£CodaÎļþϵͳģ¿é°üº¬×Å´ÓVFSÀ´µÄ×î½üµÄһЩÇëÇó£¬È»ºóËü½«´ËÇëÇ󽻸øCoda»º³å¹ÜÀíÆ÷venus½øÐд¦Àí¡£Venusͨ¹ý²ì¿´Ó²ÅÌ»º³åÇø¡¢Ïò·þÎñÆ÷·¢ÇëÇóµÈ·½Ê½À´¶¨Î»ÎļþµÄËùÔڵء£Èç¹ûÔÚÓ²ÅÌ»º³åÇøÖÐûÓÐÕÒµ½Æ¥ÅäµÄÎļþ£¬Ôòͨ¹ýÔ¶³Ìϵͳµ÷ÓÃÏò·þÎñÆ÷·¢ÇëÇ󣬲¢ÇÒ½«È¡µ½µÄÎļþ·ÅÔÚcacheÖУ¬Õâʱ£¬Õâ¸öÎļþ¾ÍÊÇÒ»¸öÆÕͨµÄÎļþÁË£¬Òò´Ë¿ÉÒÔͨ¹ý±¾µØÎļþϵͳ¶Ô¸ÃÎļþ½øÐжÁдµÄ²Ù×÷¡£Èç¹ûÔÚÓ²ÅÌ»º³åÇøÕÒµ½ÁË´ËÎļþ£¬Ôò¿ÉÒÔÖ±½ÓʹÓÃÕâ¸öÎļþ¡£µ±¶Ô´ËÎļþ½øÐÐÁËÒ»¶¨µÄÐ޸IJ¢ÇҹرÕÁËÒÔºó£¬venus½«°ÑÐÂÎļþ´«Ë͸ø·þÎñÆ÷´Ó¶øÀ´¸üзþÎñÆ÷ÉϵÄÎļþ¡£ÆäËüµÄ²Ù×÷ÈçÐÞ¸ÄÎļþϵͳ£¬´´½¨ÐÂĿ¼£¬É¾³ýÎļþ£¬È¥³ý·ûºÅÁ´½ÓµÈ¶¼¿ÉÒÔ´«Ë͸ø·þÎñÆ÷¡£
¡¡¡¡
¡¡¡¡µ«ÊÇÓÉÓÚÍøÂçÓÐʱ»á³öÏÖÎÊÌ⣬Òò´ËÈçºÎ±£Ö¤ÎļþµÄÁ¬ÐøÐÔÊÇÒ»¸ö·Ç³£ÖØÒªµÄÎÊÌâ¡£µ±venusÒâʶµ½·þÎñÆ÷²»¿ÉÓÃʱ£¬Ëü¾Í½«¿Í»§¶Ë¶ÔÎļþµÄ¸üд洢ÔÚÐÞ¸ÄÈÕÖ¾ÖУ¬µ±·þÎñÆ÷ÖØпÉÓÃʱ£¬±ã¸ù¾ÝÐÞ¸ÄÈÕÖ¾¶Ô·þÎñÆ÷ÉϵÄÏàÓ¦µÄÎļþ½øÐиüС£
¡¡¡¡
¡¡¡¡2. Global Îļþϵͳ
¡¡¡¡Global Îļþϵͳ£¨Global File System, GFS£©ÔÊÐí¶à¸öLinux»úÆ÷ͨ¹ýÍøÂç¹²Ïí´æ´¢É豸¡£Ã¿Ò»Ì¨»úÆ÷¶¼¿ÉÒÔ½«ÍøÂç¹²Ïí´ÅÅÌ¿´×÷ÊDZ¾µØ´ÅÅÌ£¬¶øÇÒGFS×Ô¼ºÒ²ÒÔ±¾µØÎļþϵͳµÄÐÎʽ³öÏÖ¡£Èç¹ûij̨»úÆ÷¶Ôij¸öÎļþÖ´ÐÐÁËЩ²Ù×÷£¬ÔòºóÀ´·ÃÎÊ´ËÎļþµÄ»úÆ÷¾Í»á¶Áµ½Ð´ÒÔºóµÄ½á¹û¡£GFSÎļþϵͳµÄʹÓÃʾÒâͼÈçͼ1Ëùʾ¡££º
3. xFSÎļþϵͳ
¡¡¡¡xFSÊÔͼͨ¹ý½«·þÎñÆ÷µÄ¹¦ÄÜÈç±£³ÖcacheµÄÒ»ÖÂÐÔ¡¢¶¨Î»Êý¾ÝºÍ´¦Àí´ÅÅÌÇëÇó·Ö²¼ÔÚ¸÷¸ö¿Í»§ÉÏÀ´Ìṩ¶ÔÎļþϵͳÊý¾ÝµÄµÍÑÓ³Ù¡¢¸ß´ø¿íµÄ·ÃÎÊ¡£
¡¡¡¡
¡¡¡¡ÎªÁ˱£³ÖcacheÒ»ÖÂÐÔ£¬xFS²ÉÓÃÁËÈçϵķ½·¨¡£Ëü½«¿Í»§·½µÄËùÓеÄÄÚ´æ¿Õ¼ä¿´ÎªÒ»¸ö´óµÄcache£¬ÕâÑù¾Í¼õÉÙÁË¿Í»§·½µÄÊý¾Ý»º´æ£¬ÀûÓÃÁËÏÐÖûúÆ÷µÄÄڴ棬ÕâÖÖºÏ×÷Ð͵Ļº´æ¿ÉÒÔͨ¹ý¼õÉÙµ½´ï´ÅÅ̵ÄÇëÇóÁ¿À´½µµÍ¶ÁÑÓ³Ù¡£
¡¡¡¡
¡¡¡¡ÎªÁ˽«¶¨Î»Êý¾ÝµÄ¹¦ÄÜ·Ö²¼µ½Ã¿¸ö¿Í»§¶Ë£¬xFSÈÃÿ¸ö¿Í»§¶¼±ØÐë¶ÔÎļþµÄÒ»¸ö×Ó¼¯¶ÔÓ¦µÄÇëÇó½øÐд¦Àí¡£ÎļþÊý¾ÝÔÚ¶à¸ö¿Í»§¶Ë¼ÓÒÔ·ÖÀà´Ó¶øÌṩ¸ü¸ßµÄ´ø¿í£¬ÕâЩ·ÖÀàÊý¾Ý°üÀ¨Ò»Ð©ÆæżÐÅÏ¢£¬Í¨¹ýÕâЩÐÅÏ¢¿ÉÒÔÔÚ»úÆ÷ʧЧʱ»Ö¸´·ÖÀàµÄÊý¾Ý±¨¡£ÕâÖÖ·½·¨¿ÉÒÔ±£Ö¤Ã»ÓÐÈκνڵã»á²úÉúµ¥µãʧЧµÄÇé¿ö¡£
¡¡¡¡
¡¡¡¡4. MOSIXÎļþϵͳ
¡¡¡¡MOSIX¼¯ÈºÊ¹ÓÃÁË×Ô¼ºµÄÎļþϵͳMFSÎļþϵͳ¡£MFS½«¼¯ÈºÖеÄËùÓÐÎļþϵͳºÍĿ¼¶¼¿´×÷ÊÇÒ»¸öÎļþϵͳ£¬¶øÇÒËüÌṩÁ˶ÔËùÓнڵãÉϵÄËùÓÐÎļþϵͳµÄͳһ·ÃÎÊ£¬Ëü»¹Í¨¹ýÖ»Ìṩһ¸öcache±£Ö¤ÁËcacheµÄÒ»ÖÂÐÔ¡£
¡¡¡¡
¡¡¡¡MFS°üº¬ÁËÐí¶àλÓÚ²»Í¬½ÚµãÉϵÄÎļþ×ÓÊ÷£¬Òò´ËËü¾ÍÔÊÐí¶Ô¶à¸öÎļþ½øÐв¢ÐвÙ×÷ºÍcacheÒ»ÖÂÐÔ¡£
¡¡¡¡
¡¡¡¡ÔÚMOSIX¼¯ÈºÖнøÐнø³ÌǨÒÆʱ£¬Èç¹û´Ë½ø³ÌÖ÷ÒªÕ¼ÓõÄÊÇCPU×ÊÔ´£¬ÔòǨÒƴ˽ø³Ì¶ÔÓÚÌṩϵͳÐÔÄÜÊǷdz£ÓÐЧµÄ£¬µ«ÊÇÈç¹û´Ë½ø³ÌÐèÒª½øÐдóÁ¿µÄI/O²Ù×÷£¬ÔòǨÒƽø³Ì·Ç³£²»Àû¡£ÕâÊÇÒòΪÿ¸öI/O²Ù×÷¶¼ÐèÒªÓë¸Ã½ø³ÌÔÀ´Ëù´¦µÄ½Úµã½øÐÐͨѶ¡£
¡¡¡¡
¡¡¡¡Òò´ËMFSÔö¼ÓÁ˶ÔDFSA(Direct File System Acess)µÄÖ§³Ö¡£DFSAµÄÄ¿µÄ¾ÍÊÇÈÃÄÇЩÐèÒª½øÐдóÁ¿I/O²Ù×÷µÄ½ø³ÌǨÒƵ½Ô¶¶Ë½ÚµãÉÏ£¬¸ÃÔ¶¶Ë½ÚµãÓµÓдó¶àÊýI/O²Ù×÷½«»áÉæ¼°µ½µÄÎļþ£¬Òò´Ë´ó¶àÊýµÄI/O²Ù×÷¶¼ÄÜÔÚÔ¶¶Ë½ÚµãÉÏÍê³É£¬¶øÇÒÔÚÔ¶¶Ë½ÚµãÉÏ¿ÉÒÔͨ¹ý±¾µØ·ÃÎÊÀ´·ÃÎÊÊý¾Ý¡£Èç¹ûÒ»¸öϵͳµ÷ÓÃÊǽڵãÎ޹صģ¬´Ëϵͳµ÷ÓþͻáÔÚÔ¶¶Ë½ÚµãÉÏÖ´ÐУ¬·ñÔò¾ÍÔÚ±¾µØÖ´ÐС£MFS±ÈÆäËüÍøÂçÎļþϵͳÓÅÔ½µÄµØ·½¾ÍÊÇËüÔÊÐíʹÓñ¾µØÎļþϵͳ£¬ÕâÑù¾Í¼õÉÙÁ˽ø³ÌºÍÎļþ·þÎñÆ÷Ö®¼äµÄͨѶ¿ªÏú¡£