1992.12.29

SUBJECT: Filesystem (block)°ú Fragmentation

CONTENTS:
0. Filesystem°ú Disk Drive
1. Filesystem block¿¡ ´ëÇÏ¿© 
2. Fragmentation¿¡ ´ëÇÏ¿© 
   1) BSDÀÇ Fragmentation Control 
   2) System VÀÇ Fragmentation Control 
3. Âü°í ÀÚ·á

DESCRIPTION:

0. Filesystem°ú Disk Drive

   * UNIX ½Ã½ºÅÛ¿¡¼­ Á¤±Ô È­ÀÏÀ̳ª µð·ºÅ丮´Â tape drive³ª disk drive¿Í °°Àº
     block device(ºí·° ÀåÄ¡)¿¡ ÀúÀåÇÑ´Ù.  
     µÎ ÀåÄ¡°£ÀÇ Á¢±Ù ½Ã°£ Â÷ÀÌ·Î ÀÎÇÏ¿©, UNIX ½Ã½ºÅÛÀ» ¼³Ä¡ÇÑ °÷ Áß
     filesystemÀ» À§ÇÏ¿© tape drive¸¦ »ç¿ëÇÏ´Â °÷Àº Àü¹«ÇÏ´Ù.
   * ½Ã½ºÅÛÀº ¿©·¯°³ÀÇ ¹°¸®Àû disk¸¦ °¡Áö¸ç °¢ disk´Â Çϳª ÀÌ»óÀÇ filesystemÀ» °®´Â´Ù.
     /(root), /usr, /export, /home µîÀÇ filesystemÀ¸·Î ÇϳªÀÇ disk¸¦ ºÐ¸®ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
     disk¸¦ ¸î °³ÀÇ filesystemÀ¸·Î ºÐÇÒÇÏ´Â °ÍÀº °ü¸®ÀÚ·Î ÇÏ¿©±Ý ±×°÷¿¡ ÀúÀåµÈ µ¥ÀÌÅÍ °ü¸®¸¦
     ¿ëÀÌÇÏ°Ô ÇØ ÁØ´Ù. 
   * KernelÀº ³í¸®Àû ¼öÁØ¿¡¼­´Â disk°¡ ¾Æ´Ï¶ó filesystemÀ» ´Ù·ç¸ç,
     °¢ filesystemÀ» ³í¸®ÀûÀÎ ÀåÄ¡¹øÈ£·Î ½Äº°µÇ´Â ÇϳªÀÇ ³í¸®Àû ÀåÄ¡·Î Ãë±ÞÇÑ´Ù.
     ³í¸®Àû ÀåÄ¡(filesystem)ÀÇ ÁÖ¼Ò¸¦ ¹°¸®Àû ÀåÄ¡(disk)ÀÇ ÁÖ¼Ò·Î º¯È¯ÇÏ´Â °ÍÀº
     disk driver¿¡ ÀÇÇØ ÇàÇØÁø´Ù.

1. Filesystem block¿¡ ´ëÇÏ¿© 

   - "filesystem block"À̶õ filesystemÀÌ disk¿¡ ¾ðÁ¦´øÁö ÀÚµ¿ÀûÀ¸·Î ÇÒ´çÇÒ ¼ö ÀÖ´Â
     µ¥ÀÌŸÀÇ ´ÜÀ§(unit)ÀÌ´Ù.
   - filesystemÀº ³í¸®ÀûÀÎ blockÀÇ ¿¬¼ÓÀ¸·Î ±¸¼ºµÈ´Ù.
     °¢ blockÀº ½Ã½ºÅÛÀÇ ±¸Çö¿¡ µû¶ó¼­ 512, 1024, 2048 ... µî 512ÀÇ ¹è¼öÀÇ byte¼ö¸¦ °¡Áø´Ù.
      original UNIX´Â 512 byteÀÇ "filesystem block"À» °¡Á³´Ù.
     System V¿¡¼­´Â 512, 1024, 2048 byteÀÇ block size¸¦ Áö¿øÇÑ´Ù.
     BSD¿¡¼­´Â 4, 8, 16, 32 KÀÇ block size¸¦ Áö¿øÇÑ´Ù.
     SunOSÀÇ °æ¿ì´Â 8K(8192 byte)¸¦ ÇÑ "filesystem block"À¸·Î »ç¿ëÇÑ´Ù.
   - ³í¸®ÀûÀÎ blockÀÇ Å©±â´Â ÇϳªÀÇ filesystem ³»¿¡¼­´Â µ¿ÀÏÇÏÁö¸¸,
     ÇÑ ½Ã½ºÅÛ ±¸¼º ³»ÀÇ ´Ù¸¥ filesystemµé °£¿¡´Â ´Ù¸¦ ¼öµµ ÀÖ´Ù.
   - Å« ³í¸®Àû block »ç¿ëÀÇ "ÀåÁ¡" :
     disk¿Í memory »çÀÌÀÇ À¯È¿ µ¥ÀÌŸ Àü¼Û ¼Óµµ¸¦ Áõ°¡½ÃŲ´Ù.
     ¿Ö³Ä¸é ÇÑ ¹øÀÇ disk ÀÛµ¿¿¡ ÀÇÇÏ¿© ¸¹Àº µ¥ÀÌŸ°¡ Àü¼ÛµÉ ¼ö À־ ½Ã°£À» ¸¹ÀÌ
     ¼Ò¸ðÇÏ´Â ÀÛ¾÷À» ÁÙÀÏ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
     ÇÑ ¹øÀÇ Àб⠵¿ÀÛ¿¡ ÀÇÇÏ¿© 1K byteÀÇ µ¥ÀÌŸ¸¦ Àü¼ÛÇÑ´Ù¸é, 
     512 byte¸¦ Àü¼ÛÇÏ´Â °Íº¸´Ù µÎ ¹è°¡ ºü¸¥ °ÍÀÌ´Ù.
   - Å« ³í¸®Àû block »ç¿ëÀÇ "´ÜÁ¡" :
     À¯È¿ ÀúÀå ¿ë·®ÀÌ ¶³¾îÁú ¼ö ÀÖ´Ù.
     ÇÑ È­ÀÏÀÇ Å©±â°¡ "filesystem block"ÀÇ Å©±â¿¡ ¹ÌÄ¡Áö ¸øÇÏ´Â °æ¿ì,
     block ³»ÀÇ ³²Àº ºÎºÐÀº ¾µµ¥ ¾øÀÌ ³¶ºñµÇ´Â °ÍÀÌ´Ù. À̸¦ fragment¶ó ÇÑ´Ù.
     ½ÇÁ¦·Î UCBÀÇ ÇÑ ¿¬±¸¸¦ º¸¸é, 4096 byteÀÇ "filesystem block"¸¦ »ç¿ëÇÏ´Â °æ¿ì
     fileµéÀÌ blockµéÀ» full·Î ä¿ìÁö ¸øÇØ ³¶ºñµÇ´Â disk space°¡ Àüü diskÀÇ 45%¿¡ ´ÞÇÑ´Ù°í ÇÑ´Ù.
     8192 byte¸¦ "filesystem block"À¸·Î »ç¿ëÇÏ´Â SunOS³ª ±× ¿Ü BSD °è¿­ÀÇ °æ¿ì
     ÀÌ·¯ÇÑ ¹®Á¦¸¦ fragmentation ±â¹ýÀ¸·Î ÇØ°áÇÏ°í ÀÖ´Ù.
 
2. Fragmentation¿¡ ´ëÇÏ¿© 

   1) BSDÀÇ Fragmentation Control 
      * BSDÀÇ filesystemÀº fragmentation ±â¹ýÀ» ÅëÇÏ¿©
        disk fragment·Î ÀÎÇÑ disk ³¶ºñ¸¦ ¸·µµ·Ï ¼³°èµÇ¾î ÀÖ´Ù.
      * SunOSÀÇ fragmentationÀ» »ìÆì º¸¸é,
        8192 byteÀÇ blockÀ» 1024 byte sizeÀÎ 8 °³ÀÇ fragmentµé·Î ºÐÇÒÇÑ´Ù.
        file size°¡ ´Ã¾î³ª »õ·Î¿î space°¡ ÇÊ¿äÇÒ ¶§,
        Ãß°¡ÀÇ block±îÁö ÇÊ¿ä ¾øÀ¸¸é ÀûÀýÇÑ °¹ ¼öÀÇ fragment¸¸ÀÌ ÇÒ´çµÈ´Ù.
        ¶Ç µÎ °³ÀÇ fileÀÌ ¿¹¸¦ µé¾î °¢°¢ 4°³, 3°³ÀÇ fragmentµéÀ» Â÷ÁöÇϸç ÇÑ block¿¡
        °øÁ¸ÇÏ°í ÀÖ´Ù°¡ ¾î´À ÇÑ fileÀÇ Å©±â°¡ ´Ã¾î³ª °øÁ¸ÇÒ ¼ö ¾ø°Ô µÇ¸é
        Å©±â°¡ Ä¿Áö´Â  fileÀ» ´Ù¸¥ blockÀ¸·Î ¿Å°Ü ¹ö¸°´Ù.
        ±×·¯¸é µ¿ÀÏ fileÀÌ ¾î´À ÇÑ block¿¡¸¸ fragment¸¦ ¹ß»ý½ÃÅ°Áö 
        ¿©·¯ block¿¡ fragment¸¦ ¸¸µéÁö´Â ¾Ê´Â´Ù.
 
                                 Fragment
                                   ¡é
                 +---+---+---+---+---+---+---+---+
        Block 1  | A | A | A | A |¡á | B | B | B |
                 +---+---+---+---+---+---+---+---+
 
 
                 +---+---+---+---+---+---+---+---+
        Block 1  |¡á |¡á |¡á |¡á |¡á | B | B | B |
                 +---+---+---+---+---+---+---+---+
                   ¡é  ¡é  ¡é  ¡é  ¡é
                 +---+---+---+---+---+---+---+---+
        Block 2  | A | A | A | A | A | A |¡á |¡á |
                 +---+---+---+---+---+---+---+---+
 
 
      * ¶ÇÇÑ BSD filesystemÀÇ ¾Ë°í¸®ÁòÀº filesystemÀÌ full µÇ¸é
        free blockÀ» ¹ß°ßÇϱâ À§ÇØ ±Ø´ÜÀûÀ¸·Î ´À·ÁÁö°Ô µÇ´Âµ¥,
        À̸¦ ¹æÁöÇϱâ À§ÇØ °¢ filesystem¿¡´Â free space¸¦ reserveÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.
        minimum free space´Â 10 % ÀÌ´Ù.
        ½ÇÁ¦·Î "df" command¸¦ »ç¿ëÇØ º¸¸é ½ÇÁ¦ disk Å©±â¿¡ ºñÇØ filesystemÀÇ Å©±â°¡ ÀÛÀ½À»
        °è»êÇÒ ¼ö ÀÖ´Ù.
      * ÀÌ reserved free space´Â "newfs" ³ª "tunefs"ÀÇ "-m" optionÀ¸·Î Á¶ÀýÀÌ °¡´ÉÇÏ´Ù.
              # newfs -m 12 /dev/rsd0g 
        À§ 12´Â reserveµÉ  free space°¡ 12 percent¶ó´Â ÀǹÌÀÌ´Ù.
 
   2) System VÀÇ Fragmentation Control 
      * System V filesystemÀÇ °¡Àå Å« ¹®Á¦Á¡Àº fragmentationÀÇ Ãë¾à¼º¿¡ ÀÖ´Ù.   
        ½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÇÑ fileÀ» ¿¬¼ÓµÈ block¿¡ ÇÒ´çÇÒ ¼ö°¡ ¾ø°Ô µÈ´Ù.
        '»ç¿ëÇÏÁö ¾ÊÀº disk block'ÀÎ free blockÀº ¿©±â Àú±â¿¡ ÈðÆ®·¯Áö°Ô µÈ´Ù.
      * System VÀÇ fsck´Â "-S" optionÀ» »ç¿ëÇÏ¿©
        disk fragment¸¦ ÃÖ¼ÒÈ­Çϵµ·Ï free list¸¦ ÀçÁ¤ºñÇÒ ¼ö´Â ÀÖ´Ù.
        ±×·¯³ª free list¸¦ ÃÖ¼ÒÈ­ÇÏ¿©  fragmentationÀ» ÁÙÀÌ´Â ¹æ¹ýÀº µµ¿òÀº µÇÁö¸¸
        ±×¸® Å« È¿°ú¸¦ º¸´Â °ÍÀº ¾Æ´Ï´Ù.
        ÀÌ¹Ì ¹ß»ýÇÑ fragmentationÀº ¾î¶»°Ô ÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.
        fragmentationÀ» ¿Ïº®ÇÏ°Ô Á¦°ÅÇÏ´Â ¹æ¹ýÀº °íÅ뽺·´Áö¸¸ filesystemÀ» backup¹Þ°í
        "mkfs"·Î »õ·Î¿î filesystemÀ» ¸¸µé¾î backup¹ÞÀº °ÍÀ» restoreÇÏ´Â °ÍÀÌ´Ù.
        ±×·¸Áö¸¸ ÀÌ ¹æ¹ýÀº ½Ã°£ÀÌ °æ°úÇϸé fragmentationÀÌ ´Ù½Ã ¹ß»ýÇÏ´Â °Í±îÁö´Â ¾î¿ ¼ö ¾ø´Ù.
      * SVR4¿¡¼­´Â dcopy¸¦ Á¦°øÇϸç, dcopy´Â fileÀÌ °¡Áö´Â fragment »Ó ¾Æ´Ï¶ó
        »êÀçµÇ¾î ÀÖ´Â free list¿¡ ÀÇÇÑ fragmentµµ ÇØ°áÇÑ´Ù°í ÇÑ´Ù°í ÇÑ´Ù.

3. Âü°í ÀÚ·á
   * "UNIXÀÇ ³»ºÎ±¸Á¶ - The Design of the UNIX Operating System"  (È«¸ª°úÇÐÃâÆÇ»ç) 
      - 2Àå. Ä¿³Î °³°ü p25,26
   * "System Performance Tuning" (O'Reilly & Associates Inc., 1990, Mike Loukides)
      - 5.3 Planning and Creating Filesystems
   * "Sun System Administration 4.x - Educational Course" (SunEducation. 1990)
      - Module 4. UNIX File System
 

 Created        on Dec. 29 ,1992