Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  FreeBSD¿¡¼­ ramdisk »ç¿ë ÀÛ¼ºÀÏ : 2007/04/02 23:28
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 8294
     
    Á¦  ¸ñ : FreeBSD¿¡¼­ ramdisk »ç¿ë
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
    ÀÛ¼ºÀÏ : 2007.3.19(¿ù)

    FreeBSD¿¡¼­ ¸®´ª½ºÀÇ tmpfs ÆÄÀϽýºÅÛ, ramdiskó·³ ¸Þ¸ð¸®¸¦ ÆÄÀϽýºÅÛÀ¸·Î »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ramdisk´Â ¸Þ¸ð¸®¸¦ »ç¿ëÇϹǷΠ¼­¹ö°¡ ºÎÆýà ±ú²ýÇÏ°Ô Áö¿öÁö¸ç, µð½ºÅ© ¾×¼¼½º°¡ ºó¹øÇÏ°Ô ÀϾ´Â °æ¿ì¿¡ È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù. FreeBSD 5.x, 6.x ±âÁØ ramdisk »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.

    1. mdconfig ¸í·É ÀÌ¿ë

     # mdconfig -a -t swap -s 512M -u 1
    # newfs -U /dev/md1
    # mount /dev/md1 /var/tmp
     


    mdconfigÀº ¸Þ¸ð¸® µð½ºÅ©(md)¸¦ ¼³Á¤ÇÏ°í enableÇÏ´Â ¸í·ÉÀÌ´Ù.

    -a : ¸Þ¸ð¸® µð½ºÅ©¸¦ attachÇÑ´Ù. -d´Â ¹Ý´ë·Î detachÇÑ´Ù.
    -t : ¸Þ¸ð¸® µð½ºÅ©ÀÇ À¯ÇüÀ» ¼±ÅÃÇÑ´Ù.
    -s : ¸Þ¸ð¸® µð½ºÅ©ÀÇ Å©±â¸¦ ¼³Á¤ÇÑ´Ù. ¼ýÀÚµÚ¿¡ b(Byte), k(KByte), m(MByte), g(GByte), t(terabyte) ´ÜÀ§ ¼³Á¤ °¡´É
    -u : md(memory disk) deviceÀÇ unit ¹øÈ£¸¦ ÁöÁ¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÇÒ´çÇÑ´Ù.

    ¸Þ¸ð¸® µð½ºÅ© À¯Çü¿¡´Â swap°ú malloc 2°¡Áö°¡ ÀÖ´Ù. º¸Åë swap À¯ÇüÀ» »ç¿ëÇϸç, ¿©±â¼­ swapÀº ¸Þ¸ð¸®°¡ ºÎÁ·ÇÑ °æ¿ì¿¡ disk·Î swapµÉ ¼ö ÀÖ´Â ¸Þ¸ð¸® ¿µ¿ªÀ» ÇÒ´çÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌÁö, ±âº»ÀûÀ¸·Î disk·Î swapµÊÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù. malloc À¯ÇüÀº malloc() function À¸·Î ÇÒ´çÇÏ´Â °æ¿ì·Î, ¸Þ¸ð¸®°¡ ºÎÁ·ÇÒ ¶§ ½Ã½ºÅÛ ÆдÐÀÌ »ý±æ ¼ö ÀÖ´Ù.

    newfsÀÇ -U´Â soft-updates¸¦ enableÇÏ´Â ¿É¼ÇÀ¸·Î µð½ºÅ©ÀÇ ¾²±â ¼Óµµ¸¦ Çâ»ó½ÃŲ´Ù. ¸Þ¸ð¸® µð½ºÅ©¸¦ attachÇß´Ù¸é md device ¸ñ·ÏÀ» È®ÀÎÇغ¸ÀÚ. (mount¿©ºÎ¿Í ¹«°üÇÏ°Ô attachÇß´Ù¸é ¸ñ·Ï¿¡¼­ º¼ ¼ö ÀÖÀ½)

     # mdconfig -l
    md1
     


    ¸Þ¸ð¸®´Â ½ÇÁ¦ »ç¿ëÀ» ÇÒ ½ÃÁ¡¿¡ ÇÒ´çÀÌ µÈ´Ù. mount¸¦ ÇßÁö¸¸ ¸Þ¸ð¸® µð½ºÅ©¿¡ ÆÄÀÏÀÌ ¾øÀ» ¶§ÀÇ ¸Þ¸ð¸® »óÅÂÀÌ´Ù.


    100MBytes ÆÄÀÏÀ» Çϳª ¸¸µé¾îº¸ÀÚ.

     # dd if=/dev/zero of=foobar.img bs=1024k count=100 


    free ¸Þ¸ð¸®°¡ ÁÙ¾îµé¾úÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏÀ» »èÁ¦ÇÏ¸é ´Ù½Ã ¸Þ¸ð¸®´Â ¹ÝȯµÈ´Ù.


    ¸Þ¸ð¸® µð½ºÅ©°¡ ´õ ÀÌ»ó ÇÊ¿ä°¡ ¾ø´Ù¸é detach¸¦ ÇÑ´Ù.

     # umount /var/tmp
    # mdconfig -d -u 1
     


    2. mdmfs ¸í·ÉÀ» »ç¿ëÇÏ¿© Çѹ濡

    mdmfs´Â mdconfig, newfs, mount ¸í·ÉÀ» Çѹ濡 ó¸®ÇØÁÖ´Â ¸í·ÉÀÌ´Ù. ±âº»À¸·Î soft-updates°¡ enableµÈ »óÅÂÀÇ swap±â¹Ý(swap-based) µð½ºÅ©¸¦ »ç¿ëÇÑ´Ù. swap backing´ë½Å malloc backing µð½ºÅ©¸¦ ¿øÇϸé -M ¿É¼ÇÀ» »ç¿ëÇÏ¸é µÈ´Ù.

     # /sbin/mdmfs -s 512M md1 /var/tmp
    # mount
    ... »ý·« ...
    /dev/md1 on /var/tmp (ufs, local, soft-updates)
     


    3. /etc/fstab ¼³Á¤

     
    /dev/md1   /var/tmp                mfs   rw,-s512M   2   0
     


    4. Âü°íÀÚ·á

    * RAMdisks, creating under FreeBSD 5.x
      http://freebsdwiki.net/index.php/RAMdisks,_creating_under_FreeBSD_5.x
    * FreeBSD Handbook (Chapter 17 Storage)
      http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/disks-virtual.html


    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=1486