ÉèΪÊ×Ò³ - ¼ÓÈëÊÕ²Ø ASPÕ¾³¤Íø£¨Aspzz.Cn£©- ¿Æ¼¼¡¢½¨Õ¾¡¢¾­Ñé¡¢ÔƼÆËã¡¢5G¡¢´óÊý¾Ý,Õ¾³¤Íø£¡
ÈÈËÑ£º ÖØРÊÔ¾í ´´ÒµÕß
µ±Ç°Î»Ö㺠Ê×Ò³ > ÔËÓªÖÐÐÄ > ½¨Õ¾×ÊÔ´ > ÓÅ»¯ > ÕýÎÄ

ºÃÎÄ·ÖÏí£ºEXTÎļþϵͳ»úÖÆÔ­ÀíÏê½â(4)

·¢²¼Ê±¼ä£º2019-09-18 12:09 ËùÊôÀ¸Ä¿£º21 À´Ô´£º¿¥Âí½ðÁú
µ¼¶Á£ºÏÂͼÊÇÒ»¸öext4ÎļþϵͳµÄsuperblockµÄÐÅÏ¢£¬ext¼Ò×åµÄÎļþϵͳ¶¼ÄÜʹÓÃdumpe2fs -h»ñÈ £ 2.3 ¿é×éÃèÊö·û±í(GDT) ¼ÈÈ»Îļþϵͳ»®·ÖÁË¿é×飬ÄÇôÿ¸ö¿é×éµÄÐÅÏ¢ºÍÊôÐÔÔªÊý¾ÝÓÖ±£´æÔÚÄÄÀïÄØ? extÎļþϵͳÿһ¸ö¿é×éÐÅ

ÏÂͼÊÇÒ»¸öext4ÎļþϵͳµÄsuperblockµÄÐÅÏ¢£¬ext¼Ò×åµÄÎļþϵͳ¶¼ÄÜʹÓÃdumpe2fs -h»ñÈ¡¡£

ºÃÎÄ·ÖÏí£ºextÎļþϵͳ»úÖÆÔ­ÀíÏê½â

2.3 ¿é×éÃèÊö·û±í(GDT)

¼ÈÈ»Îļþϵͳ»®·ÖÁË¿é×飬ÄÇôÿ¸ö¿é×éµÄÐÅÏ¢ºÍÊôÐÔÔªÊý¾ÝÓÖ±£´æÔÚÄÄÀïÄØ?

extÎļþϵͳÿһ¸ö¿é×éÐÅϢʹÓÃ32×Ö½ÚÃèÊö£¬Õâ32¸ö×Ö½Ú³ÆΪ¿é×éÃèÊö·û£¬ËùÓпé×éµÄ¿é×éÃèÊö·û×é³É¿é×éÃèÊö·û±íGDT(group descriptor table)¡£

ËäȻÿ¸ö¿é×鶼ÐèÒª¿é×éÃèÊö·ûÀ´¼Ç¼¿é×éµÄÐÅÏ¢ºÍÊôÐÔÔªÊý¾Ý£¬µ«ÊDz»ÊÇÿ¸ö¿é×éÖж¼´æ·ÅÁË¿é×éÃèÊö·û¡£extÎļþϵͳµÄ´æ´¢·½Ê½ÊÇ£º½«ËüÃÇ×é³ÉÒ»¸öGDT£¬²¢½«¸ÃGDT´æ·ÅÓÚijЩ¿é×éÖУ¬´æ·ÅGDTµÄ¿é×éºÍ´æ·ÅsuperblockºÍ±¸·ÝsuperblockµÄ¿éÏàͬ£¬Ò²¾ÍÊÇ˵ËüÃÇÊÇͬʱ³öÏÖÔÚijһ¸ö¿é×éÖеġ£¶ÁȡʱҲ×ÜÊǶÁÈ¡Group0ÖеĿé×éÃèÊö·û±íÐÅÏ¢¡£

¼ÙÈçblock´óСΪ4KBµÄÎļþϵͳ»®·ÖÁË143¸ö¿é×飬ÿ¸ö¿é×éÃèÊö·û32×Ö½Ú£¬ÄÇôGDT¾ÍÐèÒª143*32=4576×Ö½Ú¼´Á½¸öblockÀ´´æ·Å¡£ÕâÁ½¸öGDT blockÖмǼÁËËùÓпé×éµÄ¿é×éÐÅÏ¢£¬ÇÒ´æ·ÅGDTµÄ¿é×éÖеÄGDT¶¼ÊÇÍêÈ«ÏàͬµÄ¡£

ÏÂͼÊÇÒ»¸ö¿é×éÃèÊö·ûµÄÐÅÏ¢(ͨ¹ýdumpe2fs»ñÈ¡)¡£

ºÃÎÄ·ÖÏí£ºextÎļþϵͳ»úÖÆÔ­ÀíÏê½â

2.4 ±£ÁôGDT(Reserved GDT)

±£ÁôGDTÓÃÓÚÒÔºóÀ©ÈÝÎļþϵͳʹÓ㬷ÀÖ¹À©Èݺó¿é×éÌ«¶à£¬Ê¹µÃ¿é×éÃèÊö·û³¬³öµ±Ç°´æ´¢GDTµÄblocks¡£±£ÁôGDTºÍGDT×ÜÊÇͬʱ³öÏÖ£¬µ±È»Ò²¾ÍºÍsuperblockͬʱ³öÏÖÁË¡£

ÀýÈçÇ°Ãæ143¸ö¿é×éʹÓÃÁË2¸öblockÀ´´æ·ÅGDT£¬µ«ÊÇ´ËʱµÚ¶þ¸öblock»¹¿ÕÓàºÜ¶à¿Õ¼ä£¬µ±À©Èݵ½Ò»¶¨³Ì¶Èʱ2¸öblockÒѾ­ÎÞ·¨ÔټǼ¿é×éÃèÊö·ûÁË£¬Õâʱ¾ÍÐèÒª·ÖÅäÒ»¸ö»ò¶à¸öReserved GDTµÄblockÀ´´æ·Å³¬³öµÄ¿é×éÃèÊö·û¡£

ÓÉÓÚÐÂÔö¼ÓÁËGDT block£¬ËùÒÔÓ¦¸ÃÈÃÿһ¸ö±£´æGDTµÄ¿é×鶼ͬʱÔö¼ÓÕâÒ»¸öGDT block£¬ËùÒÔ½«±£ÁôGDTºÍGDT´æ·ÅÔÚͬһ¸ö¿é×éÖпÉÒÔÖ±½Ó½«±£ÁôGDT±ä»»ÎªGDT¶øÎÞÐèʹÓõÍЧµÄ¸´ÖÆÊֶα¸·Ýµ½Ã¿¸ö´æ·ÅGDTµÄ¿é×é¡£

ͬÀí£¬ÐÂÔö¼ÓÁËGDTÐèÒªÐÞ¸Äÿ¸ö¿é×éÖÐsuperblockÖеÄÎļþϵͳÊôÐÔ£¬ËùÒÔ½«superblockºÍReserved GDT/GDT·ÅÔÚÒ»ÆðÓÖÄÜÌáÉýЧÂÊ¡£

3.Data Block

ºÃÎÄ·ÖÏí£ºextÎļþϵͳ»úÖÆÔ­ÀíÏê½â

ÈçÉÏͼ£¬³ýÁËData BlocksÆäËûµÄ²¿·Ö¶¼½âÊ͹ýÁË¡£data blockÊÇÖ±½Ó´æ´¢Êý¾ÝµÄblock£¬µ«ÊÂʵÉϲ¢·ÇÈç´Ë¼òµ¥¡£

Êý¾ÝËùÕ¼ÓõÄblockÓÉÎļþ¶ÔÓ¦inode¼Ç¼ÖеÄblockÖ¸ÕëÕÒµ½£¬²»Í¬µÄÎļþÀàÐÍ£¬Êý¾ÝblockÖд洢µÄÄÚÈÝÊDz»Ò»ÑùµÄ¡£ÒÔÏÂÊÇLinuxÖв»Í¬ÀàÐÍÎļþµÄ´æ´¢·½Ê½¡£

  • ¶ÔÓÚ³£¹æÎļþ£¬ÎļþµÄÊý¾ÝÕý³£´æ´¢ÔÚÊý¾Ý¿éÖС£
  • ¶ÔÓÚĿ¼£¬¸ÃĿ¼ÏµÄËùÓÐÎļþºÍÒ»¼¶×ÓĿ¼µÄĿ¼Ãû´æ´¢ÔÚÊý¾Ý¿éÖС£
  • ÎļþÃû²»ÊÇ´æ´¢ÔÚÆä×ÔÉíµÄinodeÖУ¬¶øÊÇ´æ´¢ÔÚÆäËùÔÚĿ¼µÄdata blockÖС£
  • ¶ÔÓÚ·ûºÅÁ´½Ó£¬Èç¹ûÄ¿±ê·¾¶Ãû½Ï¶ÌÔòÖ±½Ó±£´æÔÚinodeÖÐÒÔ±ã¸ü¿ìµØ²éÕÒ£¬Èç¹ûÄ¿±ê·¾¶Ãû½Ï³¤Ôò·ÖÅäÒ»¸öÊý¾Ý¿éÀ´±£´æ¡£
  • É豸Îļþ¡¢FIFOºÍsocketµÈÌØÊâÎļþûÓÐÊý¾Ý¿é£¬É豸ÎļþµÄÖ÷É豸ºÅºÍ´ÎÉ豸ºÅ±£´æÔÚinodeÖС£

³£¹æÎļþµÄ´æ´¢¾Í²»½âÊÍÁË£¬ÏÂÃæ·Ö±ð½âÊÍÌØÊâÎļþµÄ´æ´¢·½Ê½¡£

3.1 Ŀ¼ÎļþµÄdata block

¶ÔÓÚĿ¼Îļþ£¬Æäinode¼Ç¼Öд洢µÄÊÇĿ¼µÄinodeºÅ¡¢Ä¿Â¼µÄÊôÐÔÔªÊý¾ÝºÍĿ¼ÎļþµÄblockÖ¸Õ룬ÕâÀïÃæûÓд洢Ŀ¼×ÔÉíÎļþÃûµÄÐÅÏ¢¡£

¶øÆädata blockµÄ´æ´¢·½Ê½ÔòÈçÏÂͼËùʾ¡£

ºÃÎÄ·ÖÏí£ºextÎļþϵͳ»úÖÆÔ­ÀíÏê½â

ÓÉͼ¿ÉÖª£¬ÔÚĿ¼ÎļþµÄÊý¾Ý¿éÖд洢ÁËÆäϵÄÎļþÃû¡¢Ä¿Â¼Ãû¡¢Ä¿Â¼±¾ÉíµÄÏà¶ÔÃû³Æ"."ºÍÉϼ¶Ä¿Â¼µÄÏà¶ÔÃû³Æ".."£¬»¹´æ´¢ÁËÖ¸Ïòinode tableÖÐÕâЩÎļþÃû¶ÔÓ¦µÄinodeºÅµÄÖ¸Õë(²¢·ÇÖ±½Ó´æ´¢inodeºÅÂë)¡¢Ä¿Â¼Ï¶Èrec_len¡¢ÎļþÃû³¤¶Èname_lenºÍÎļþÀàÐÍfile_type¡£×¢Òâµ½³ýÁËÎļþ±¾ÉíµÄinode¼Ç¼ÁËÎļþÀàÐÍ£¬ÆäËùÔÚµÄĿ¼µÄÊý¾Ý¿éÒ²¼Ç¼ÁËÎļþÀàÐÍ¡£ÓÉÓÚrec_lenÖ»ÄÜÊÇ4µÄ±¶Êý£¬ËùÒÔÐèҪʹÓÃ"\0"À´Ìî³äname_len²»¹»´ÕÂú4±¶ÊýµÄ²¿·Ö¡£ÖÁÓÚrec_len¾ßÌåÊÇʲô£¬Ö»ÐèÖªµÀËüÊÇÒ»ÖÖÆ«ÒƼ´¿É¡£

Ŀ¼µÄdata blockÖв¢Ã»ÓÐÖ±½Ó´æ´¢Ä¿Â¼ÖÐÎļþµÄinodeºÅ£¬Ëü´æ´¢µÄÊÇÖ¸Ïòinode tableÖжÔÓ¦ÎļþinodeºÅµÄÖ¸Õ룬ÔÝÇÒ³Æ֮ΪinodeÖ¸Õë(ÖÁ´Ë£¬ÒѾ­ÖªµÀÁËÁ½ÖÖÖ¸Õ룺һÖÖÊÇinode tableÖÐÿ¸öinode¼Ç¼ָÏòÆä¶ÔÓ¦data blockµÄblockÖ¸Õ룬һ¸ö´Ë´¦µÄinodeÖ¸Õë¡£ÌâÍâ»°£ºÊµ¼ÊÉÏinodeÖ¸ÕëÓ¦¸Ã³Æ֮Ϊ´æ´¢ÔÚĿ¼data blcokÖеÄÁ´½Ólink£¬Õâ¸ölinkºÍinode numÒ»Ò»Ó³É䣬ËùÒÔɾ³ýÎļþµÄº¯Êý³ÆΪunlink()£¬±íʾÔÚĿ¼µÄdata blockÖÐɾ³ýÕâ¸öÁ´½Ó)¡£Ò»¸öºÜÓÐ˵·þÁ¦µÄÀý×Ó£¬ÔÚĿ¼ֻÓжÁ¶øûÓÐÖ´ÐÐȨÏÞµÄʱºò£¬Ê¹ÓÃ"ls -l"ÊÇÎÞ·¨»ñÈ¡µ½ÆäÄÚÎļþinodeºÅµÄ£¬Õâ¾Í±íÃ÷ûÓÐÖ±½Ó´æ´¢inodeºÅ¡£Êµ¼ÊÉÏ£¬ÒòΪÔÚ´´½¨ÎļþϵͳµÄʱºò£¬inodeºÅ¾ÍÒѾ­È«²¿»®·ÖºÃ²¢ÔÚÿ¸ö¿é×éµÄinode tableÖдæ·ÅºÃ£¬inode tableÔÚ¿é×éÖÐÊÇÓоßÌåλÖõģ¬Èç¹ûʹÓÃdumpe2fs²é¿´Îļþϵͳ£¬»á·¢ÏÖÿ¸ö¿é×éµÄinode tableÕ¼ÓõÄblockÊýÁ¿ÊÇÍêÈ«ÏàͬµÄ£¬ÈçÏÂͼÊÇij·ÖÇøÉÏÆäÖÐÁ½¸ö¿é×éµÄÐÅÏ¢£¬ËüÃǶ¼Õ¼ÓÃ249¸öblock¡£

ºÃÎÄ·ÖÏí£ºextÎļþϵͳ»úÖÆÔ­ÀíÏê½â

³ýÁËinodeÖ¸Õ룬Ŀ¼µÄdata blockÖл¹Ê¹ÓÃÊý×Ö¸ñʽ¼Ç¼ÁËÎļþÀàÐÍ£¬Êý×Ö¸ñʽºÍÎļþÀàÐ͵ĶÔÓ¦¹ØϵÈçÏÂͼ¡£

ºÃÎÄ·ÖÏí£ºextÎļþϵͳ»úÖÆÔ­ÀíÏê½â

×¢Ò⵽Ŀ¼µÄdata blockÖÐÇ°Á½Ðд洢µÄÊÇĿ¼±¾ÉíµÄÏà¶ÔÃû³Æ"."ºÍÉϼ¶Ä¿Â¼µÄÏà¶ÔÃû³Æ".."£¬ËüÃÇʵ¼ÊÉÏÊÇĿ¼±¾ÉíµÄÓ²Á´½ÓºÍÉϼ¶Ä¿Â¼µÄÓ²Á´½Ó¡£Ó²Á´½ÓµÄ±¾ÖʺóÃæ˵Ã÷¡£

ÓÉ´ËÒ²¾ÍÈÝÒ×Àí½âĿ¼ȨÏÞµÄÌØÊâÖ®´¦ÁË¡£Ä¿Â¼ÎļþµÄ¶ÁȨÏÞ(r)ºÍдȨÏÞ(w)£¬¶¼ÊÇÕë¶ÔĿ¼ÎļþµÄÊý¾Ý¿é±¾Éí¡£ÓÉÓÚĿ¼ÎļþÄÚÖ»ÓÐÎļþÃû¡¢ÎļþÀàÐͺÍinodeÖ¸Õ룬ËùÒÔÈç¹ûÖ»ÓжÁȨÏÞ£¬Ö»ÄÜ»ñÈ¡ÎļþÃûºÍÎļþÀàÐÍÐÅÏ¢£¬ÎÞ·¨»ñÈ¡ÆäËûÐÅÏ¢£¬¾¡¹ÜĿ¼µÄdata blockÖÐÒ²¼Ç¼×ÅÎļþµÄinodeÖ¸Õ룬µ«¶¨Î»Ö¸ÕëÊÇÐèÒªxȨÏ޵ģ¬ÒòΪÆäËüÐÅÏ¢¶¼´¢´æÔÚÎļþ×ÔÉí¶ÔÓ¦µÄinodeÖУ¬¶øÒª¶ÁÈ¡ÎļþinodeÐÅÏ¢ÐèÒªÓÐĿ¼ÎļþµÄÖ´ÐÐȨÏÞͨ¹ýinodeÖ¸Õ붨λµ½Îļþ¶ÔÓ¦µÄinode¼Ç¼ÉÏ¡£ÒÔÏÂÊÇûÓÐĿ¼xȨÏÞʱµÄ²éѯ״̬£¬¿ÉÒÔ¿´µ½³ýÁËÎļþÃûºÍÎļþÀàÐÍ£¬ÆäÓàµÄÈ«ÊÇ"?"¡£

  1. [lisi4@xuexi tmp]$ ll -i d 
  2. ls: cannot access d/hehe: Permission denied 
  3. ls: cannot access d/haha: Permission denied 
  4. total 0 
  5. ? d????????? ? ? ? ? ? haha 
  6. ? -????????? ? ? ? ? ? hehe 

×¢Ò⣬xfsÎļþϵͳºÍextÎļþϵͳ²»Ò»Ñù£¬ËüÁ¬ÎļþÀàÐͶ¼ÎÞ·¨»ñÈ¡¡£

3.2 ·ûºÅÁ´½Ó´æ´¢·½Ê½

·ûºÅÁ´½Ó¼´ÎªÈíÁ´½Ó£¬ÀàËÆÓÚWindows²Ù×÷ϵͳÖеĿì½Ý·½Ê½£¬ËüµÄ×÷ÓÃÊÇÖ¸ÏòÔ­Îļþ»òĿ¼¡£

£¨±à¼­£ºASPÕ¾³¤Íø£©

ÍøÓÑÆÀÂÛ
ÍƼöÎÄÕÂ
    ÈȵãÔĶÁ