NFS¸¦ ÅëÇÑ ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ ¸¶¿îÆ®Çϱâ(nfsroot)
NFS¸¦ ÅëÇÑ ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ ¸¶¿îÆ®Çϱâ(nfsroot)
1996-1997
Â÷ÇöÁø
xunil@linuxfan.com
1999³â 6¿ù
¸¸¾à¿¡ X-Å͹̳ÎÀ̳ª ÇÁ¸°ÅÍ ¼¹ö°°ÀÌ µð½ºÅ© ¾ø´Â ½Ã½ºÅÛÀ» ¾²·Á°í ÇÑ´Ù¸é ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» µð½ºÅ©°¡ ¾Æ´Ñ °÷¿¡ ¼³Á¤À» ÇؾßÇÑ´Ù. ·¥µð½ºÅ©¿¡´Ù°¡ ÇÒ ¼öµµ ÀÖ°í NFS¸¦ ÅëÇؼ ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ¹®¼´Â ·çÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» À§ÇÑ NFS¸¦ ¾î¶»°Ô ¾²´Â°¡¿¡ ´ëÇÑ °ÍÀÌ´Ù. ¾ÕÀ¸·Î "Ŭ¶óÀ̾ðÆ®"¶ó ÇÔÀº µð½ºÅ© ¾ø´Â ½Ã½ºÅÛÀ» ¸»ÇÏ´Â °ÍÀÌ°í, "¼¹ö"¶ó ÇÔÀº NFS ¼¹ö¸¦ ¸»ÇÏ´Â °ÍÀÌ´Ù.
nfsroot¸¦ ¾²±â À§Çؼ´Â Ä¿³Î ¼³Á¤¿¡¼ NFS¸¦ Áö¿øÇϵµ·Ï ÇؾßÇÑ´Ù. ¿©±â¼
NFS´Â ¸ðµâ·Î ¼³Á¤ÇÏ¸é ¾È µÈ´Ù´Â °ÍÀ» ¸í½ÉÇ϶ó. ¼³Á¤ ½ºÅ©¸³Æ®´Â ´ÙÀ½À¸·Î
nfsroot¸¦ ¾µ °ÍÀÎÁö¸¦ ¹°À» °ÍÀÌ°í, ¾µ °ÍÀ̶ó°í ÇÑ´Ù¸é ¾î¶² ÀÚµ¿ ¼³Á¤
½Ã½ºÅÛÀ» ¾µ °ÍÀÎÁö¸¦ ¹°À» °ÍÀÌ´Ù. BOOTP³ª RARP ¸ðµÎ ¾ÈÀüÇÏ´Ù.
Ä¿³ÎÀÌ ºÎÆ® ·Î´õ(loadlin, LILO, ³×Æ®¿öÆ® ºÎÆ® ÇÁ·Î±×·¥°°Àº°Íµé)¿¡ ÀÇÇØ
·ÎµùÀÌ µÇ¸é ¾î¶² ·çÆ® ÆÄÀÏ ½Ã½ºÅÛ µð¹ÙÀ̽º¸¦ ¾²´ÂÁö, ¼¹ö¸¦ ¾îµð¼ ãÀ»Áö,
¼¹ö¿¡ ·çÆ®·Î ¸¶¿îÆ®µÉ µð·ºÅ丮ÀÇ À̸§Àº ¹«¾ùÀÎÁö¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. À̰͵éÀº
Ä¿³Î ¸í·É¾î ¶óÀÎ ÆĶó¹ÌÅ͵é·Î ÇØ°áµÉ ¼ö°¡ ÀÖ´Ù.
root=/dev/nfs
ÀÌ°ÍÀº °¡»ó NFS µð¹ÙÀ̽º¸¦ È°¼ºÈ ½ÃÅ°±â À§Çؼ ÇÊ¿äÇÏ´Ù. ÁÖÀÇÇÒ °ÍÀº
ÀÌ°ÍÀº ÁøÂ¥ µð¹ÙÀ̽º°¡ ¾Æ³ª¶ó ´ÜÁö Ä¿³Î¿¡°Ô ÁøÂ¥ µð¹ÙÀ̽º ´ë½Å NFS¸¦
¾²¶ó°í ¸»ÇØÁÖ´Â °Í¿¡ ºÒ°úÇÏ´Ù´Â °ÍÀÌ´Ù.
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
¸¸¾à¿¡ nsfroot ÆĶó¹ÌÅÍ°¡ ³Ñ°ÜÁöÁö ¾Ê´Â´Ù¸é µðÆúÆ®·Î "/tftpboot/%s" °¡
¾²ÀÏ °ÍÀÌ´Ù.
<server-ip> NFS ¼¹öÀÇ IP ÁÖ¼Ò¸¦ ¾Ë·ÁÁØ´Ù.
ÀÌ°ÍÀÌ ¾ø´Ù¸é ¹Ø¿¡¼ ¼³¸íÇÒ ip º¯¼ö¿¡ ÀÇÇÑ ¼³Á¤°ªÀÌ ¾²ÀÏ °ÍÀÌ´Ù.
ÀÌ ÆĶó¹ÌÅÍ´Â RARP¿Í NFS¸¦ À§ÇÑ ´Ù¸¥ ¼¹ö¸¦ ¾²´Â °ÍÀ»
Çã¿ëÇÏ´Â ¿¹¿¡¼ ¾²ÀδÙ.
<root-dir> ¼¹öÃø¿¡ ·çÆ®·Î ¸¶¿îÆ®ÇÒ µð·ºÅ丮ÀÇ À̸§. ¿©±â¿¡ "%s"°¡ µé¾î°¡
ÀÖ´Ù¸é %s´Â Ŭ¶óÀ̾ðÆ® IP ÁÖ¼ÒÀÇ ¾Æ½ºÅ° ÇüÅ·Π¹Ù²ð°ÍÀÌ´Ù.
<nfs-options> ±âº»ÀûÀÎ NFS ¿É¼Çµé. ¸ðµç ¿É¼ÇÀº ÄÞ¸¶·Î ±¸ºÐµÈ´Ù. ¿É¼Ç Çʵ尡
ºñ¾î ÀÖ´Ù¸é ´ÙÀ½ÀÇ ±âº»°ªÀÌ ¾²ÀÏ °ÍÀÌ´Ù.
port = ¼¹ö Æ÷Æ®¸Ê µ¥¸ó¿¡ ÀÇÇØ ÁÖ¾îÁø °ª
rsize = 1024
wsize = 1024
timeo = 7
retrans = 3
acregmin= 3
acregmax= 60
acdirmin= 30
acdirmax= 60
flags = hard, nointr, noposix, cto, ac
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
ÀÌ ÆĶó¹ÌÅÍ´Â Ä¿³Î¿¡°Ô µð¹ÙÀ̽ºÀÇ IP ÁÖ¼Ò³ª IP ¶ó¿ìÆà Å×À̺íÀ» ¾î¶»°Ô ¼³Ä¡ÇÒ
°ÍÀΰ¡¸¦ ¾Ë·ÁÁØ´Ù. ÀÌ ºÎºÐÀº ¿ø·¡ "nfsaddrs"¶ó°í ºÒ·ÈÀ¸³ª Áö±ÝÀº ºÎÆ® ½ÃÀÇ
IP ¼³Á¤Àº NFS¿Í´Â »ó°ü¾øÀÌ ÀÌ·ç¾îÁö±â ¶§¹®¿¡ "ip"¶ó°í ¹Ù²î¾úÀ¸¸ç ¿¾³¯ À̸§Àº
ȣȯ¼ºÀ» À§ÇØ alias·Î ³²¾Æ ÀÖ´Ù.
ÀÌ ÆĶó¹ÌÅÍ°¡ Ä¿³Î ¸í·É¾î ¶óÀο¡¼ ºüÁ® ÀÖ´Ù¸é, ¸ðµç Çʵå´Â ºñ¾ú´Ù°í °¡Á¤ÇÏ°í,
´ÙÀ½¿¡ ¼³¸íÇÒ ±âº»°ªÀÌ Àû¿ëµÈ´Ù. ÀϹÝÀûÀ¸·Î Ä¿³ÎÀº ¸ðµç°ÍÀ» RARP¿Í
BOOTP(Ä¿³Î ¼³Á¤½Ã ¾î¶²°ÍÀÌ ¼¼ÆõǾú³ª¿¡ ´Þ·ÁÀÖ´Ù.)¸¦ ÀÌ¿ëÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
<client-ip> Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò. ¸¸¾à ºñ¾ú´Ù¸é RARP³ª BOOTP¿¡ ÀÇÇØ
°áÁ¤µÈ´Ù. ¾î¶² ÇÁ·ÎÅäÄÝÀÌ ¾²ÀÏ °ÍÀÎÁö´Â Ä¿³Î ¼³Á¤½Ã °áÁ¤ÇÑ
°ÍÀ̳ª <autoconf> ÆĶó¹ÌÅÍ¿¡ ´Þ·ÁÀÖ´Ù. ºñ¾îÀÖÁö ¾Ê´Ù¸é
RARP³ª BOOTP´Â ¾²ÀÌÁö ¾Ê´Â´Ù.
<server-ip> NFS ¼¹öÀÇ IP ÁÖ¼Ò. ¸¸¾à¿¡ RARP°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ÁÖ¼Ò¸¦ °áÁ¤
Çß°í ÀÌ ÆĶó¹ÌÅÍ°¡ ºñ¾îÀÖÁö ¾Ê´Ù¸é ¿ÀÁ÷ ¿©±â¼ Á¤ÇÑ ¼¹ö¸¸ÀÌ
¹Þ¾Æµé¿©Áø´Ù. RARP¼¹ö¿Í NFS¼¹ö¸¦ ´Ù¸£°Ô ÇÏ·Á¸é RARP ¼¹ö¸¦
¿©±â¿¡ ½á¶ó.(ȤÀº ºóÄÀ¸·Î ³²°Ü³õ´øÁö), ±×¸®°í NFS ¼¹ö¸¦
"nfsroot"ÆĶó¹ÌÅÍ¿¡ Á¤ÇØÁÖ¸é µÈ´Ù. ¸¸¾à ¿©±â°¡ ºñ¾î ÀÖ´Ù¸é
RARP³ª BOOTP¿¡ ÀÀ´äÇÑ ¼¹ö°¡ NFS¼¹ö·Î ¾²ÀÏ °ÍÀÌ´Ù.
<gw-ip> ¼¹ö°¡ ´Ù¸¥ ¼ºê³Ý¿¡ ÀÖÀ»¶§ÀÇ °ÔÀÌÆ®¿þÀÌÀÇ IP ÁÖ¼Ò.
¿©±â°¡ ºñ¾î ÀÖ´Ù¸é °ÔÀÌÆ® ¿þÀÌ´Â ¾²ÀÌÁö ¾Ê°í ¼¹ö°¡ ·ÎÄÃ
³×Æ®¿öÅ©¿¡ ÀÖ´Ù°í °¡Á¤Çϰųª BOOTP°¡ ¾Ë·ÁÁØ °ªÀ» ¾´´Ù.
<netmask> ·ÎÄà ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¿¡ ´ëÇÑ ³Ý¸¶½ºÅ©.
ºñ¾î ÀÖ´Ù¸é Ŭ¶óÀ̾ðÆ® IP ÁÖ¼Ò¿¡¼ ÃßÃøÀ» ÇÑ °ªÀÌ ³Ý¸¶½ºÅ©·Î
¾²ÀδÙ. ¾Æ´Ô BOOTP ÀÀ´äÀ¸·Î ¼³Á¤µÇ°Å³ª.
<hostname> Ŭ¶óÀ̾ðÆ®ÀÇ À̸§. ºñ¾ú´Ù¸é Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò´Â ¾Æ½ºÅ°
Ç¥ÇöÀ¸·Î ¾²À̰ųª BOOTP¿¡ ÀÇÇÑ °ªÀÌ ¾²ÀδÙ.
<device> ¾µ ³×Æ®¿öÅ© µð¹ÙÀ̽ºÀÇ À̸§. ºñ¾ú´Ù¸é RARP³ª BOOTP ¿äû¿¡ ´ëÇØ
¸ðµç µð¹ÙÀ̽º°¡ ¾²ÀÌ°í ¸ÕÀú ÀÀ´ä¹ÞÀº °ÍÀÌ ¼³Á¤µÈ´Ù. ÇϳªÀÇ
µð¹ÙÀ̽º¸¸ ÀÖ´Ù¸é ¿©±â¸¦ ºóÄÀ¸·Î ³²°ÜµÎ¾îµµ ÁÁ´Ù.
<autoconf> ÀÚµ¿¼³Á¤¿¡ ´ëÇÑ ¹æ¹ý. ¿©±â¼ ¼³Á¤ÇÑ RARP³ª BOOTP°¡ ¾²ÀδÙ.
µÑ´Ù ¼³Á¤Çϰųª ºñ¿öµÐ´Ù¸é Ä¿³Î ¼³Á¤½Ã °áÁ¤ÇÑ ÇÁ·ÎÅäÄÝÀÌ ¾²ÀδÙ.
"off"´Â ÀÚµ¿¼³Á¤À» ¾È ¾´´Ù´Â °ÍÀÌ´Ù.
<autoconf>ÆĶó¹ÌÅÍ´Â ÀÚµ¿¼³Á¤ÀÌ ¾²ÀÏ ¶§ "ip" ÆĶó¹ÌÅÍ¿¡ ':'¾øÀÌ
´Üµ¶À¸·Î ¾²ÀÏ ¼ö ÀÖ´Ù.
Ä¿³ÎÀ» ¸Þ¸ð¸®·Î ¿Ã¸±¶§ ¿©·¯ ¹æ¹ýÀÌ ¾²ÀÏ ¼ö Àִµ¥ ¾î¶² ±â´ÉÀÌ °¡´ÉÇÑ°¡¿¡
´Þ·Á ÀÖ´Ù.
Ç×»ó ÇÏ´øµ¥·Î dd¸¦ ½á¼ Ä¿³ÎÀ» Ç÷ÎÇÇ¿¡ ¾µ ¼ö°¡ ÀÖ´Ù. ÇÏÁö¸¸ Ä¿³Î ¸í·É¾î
¶óÀÎÀ» ¾µ ¼ö´Â ¾ø´Ù. ±×·¡¼, "root="ÆĶó¹ÌÅ͸¦ ´ëüÇϱâ À§Çؼ mknod¸¦
ÀÌ¿ëÇØ ¸ÞÀÌÀú ³Ñ¹ö 0, ¸¶ÀÌ³Ê ³Ñ¹ö 255Â¥¸® ´õ¹Ì µð¹ÙÀ̽º¸¦ ¸¸µé¾î¾ßÇÑ´Ù.
mknod /dev/boot255 c 0 255
´ÙÀ½¿¡ Ä¿³Î, zImage ÆÄÀÏÀ» dd·Î Ç÷ÎÇÇ¿¡ º¹»çÇضó.
dd if=/usr/src/linux/arch/i386/boot/zImage of=/dev/fd0
±×¸®°í ¸¶Áö¸·À¸·Î rdev¸¦ ½á¼ ·çÆ® µð¹ÙÀ̽º¸¦ ¼³Á¤ÇØÁà¶ó.
rdev /dev/fd0 /dev/boot255
¿©±â¿¡ ¸Â´Â ÁøÂ¥ µð¹ÙÀ̽º´Â ¾ø±â ¶§¹®¿¡ /dev/boot255 ¸¦ Áö¿öµµ µÈ´Ù.
´Ù¸¥ µÎ°³ÀÇ Ä¿³Î ¸í·É¾î ÆĶó¹ÌÅÍ´Â rdev·Î ¹Ù²Ü ¼ö°¡ ¾ø±â ¶§¹®¿¡
RARP³ª BOOTP¸¦ ¾²´Â ±âº»ÀûÀÎ °ªµéÀÌ ¾²ÀÏ °ÍÀÌ´Ù. ¸¸¾à¿¡ RARP¸¦ ÅëÇØ
ÀÀ´äÀ» ¹Þ¾Ò´Ù¸é /tftpboot/<client-ip>/ °¡ ·çÆ® µð·ºÅ丮·Î
¸¶¿îÆ®µÉ °ÍÀÌ°í, BOOTP¸¦ ÅëÇØ ÀÀ´äÀ» ¹Þ¾Ò´Ù¸é ÀÀ´ä¿¡ Æ÷ÇԵǾî
ÀÖ´Â µð·ºÅ丮 À̸§ÀÌ ·çÆ®·Î ¸¶¿îÆ® µÉ°ÍÀÌ´Ù.
¸®·Î¸¦ ¾´´Ù¸é ¸®·ÎÀÇ ¼³Á¤ÆÄÀÏ¿¡¼ "append="¶õ ¸í·ÉÀ¸·Î ÇÊ¿äÇÑ
¸ðµç ÆĶó¹ÌÅ͵éÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. "root=" ¸í·ÉÀ» ¾²±â À§Çؼ´Â
3.1¿¡¼ ¼³¸íÇß´ø °Íó·³ ¿ª½Ã ´õ¹Ì µð¹ÙÀ̽º¸¦ ¸¸µé¾î¾ß ÇÑ´Ù.
¸®·Î¿Í "append=" ¸í·ÉÀ» ¾²´Â °Í¿¡ ´ëÇÑ »çÇ×Àº ¸®·Î ¹®¼¸¦ ÂüÁ¶Ç϶ó.
ÀÚ½ÅÀÇ ÇÏµå µð½ºÅ©¾øÀÌ ·çÆ®·Î ¸¶¿îÆ®Çϱâ À§ÇØ µµ½º ÇÁ·ÒÇÁÆ®¿¡¼
ºÎÆÃÀ» ÇÏ·Á°í ÇÑ´Ù¸é ·Îµå¸°À» ¾µ¸é µÈ´Ù. ÀÌ ¹æ¹ýÀÌ µ¿ÀÛÇÑ´Ù´Â
¾ê±â´Â µé¾úÁö¸¸ ³»°¡ Á÷Á¢Çغ¸Áö´Â ¾Ê¾Ò´Ù. º¸Åë ¸®·Î¿¡¼ ¾²´Â
¹æ¹ýó·³ Ä¿³Î ¸í·É¾î ¶óÀÎÀ» ¾µ ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ´õ ¾Ë·Á¸é ·Îµå¸°
¹®¼¸¦ ÂüÁ¶Ç϶ó.
ÀÌ ¹æ¹ýÀº µð½ºÅ© ¾ø´Â Ŭ¶óÀ̾ðÆ®¸¦ ºÎÆýÃÅ°´Â °¡Àå ¼¼·ÃµÈ ¹æ¹ýÀÏ
°ÍÀÌ´Ù. ºÎÆ®·ÒÀ» ¾²´Â ¹æ¹ýÀº TFTP ÇÁ·ÎÅäÄÝÀ» ½á¼ Ä¿³ÎÀ»
·ÎµùÇÑ´Ù. ³»°¡ ¾Æ´Â Çѵµ³»¿¡¼ ¾ÆÁ÷ ³×Æ®¿öÅ©¸¦ ÅëÇÑ ¸®´ª½º ºÎÆÃÀ»
Áö¿øÇÏ´Â »ó¾÷ÀûÀÎ ºÎÆ®·ÒÀº ¾øÁö¸¸ sunsite.unc.edu¿Í ¹Ì·¯ »çÀÌÆ®¿¡
°ø°³ÀûÀ¸·Î ±¸ÇöµÈ µÎ°³ÀÇ ºÎÆ®·ÒÀÌ Àִµ¥ "netboot-nfs"¿Í
"etherboot"¶ó°í ÇÑ´Ù. µÑ ´Ù´Â µð½ºÅ© ¾ø´Â ¸®´ª½º Ŭ¶óÀ̾ðÆ®¸¦
ºÎÆýÃÅ°´Âµ¥ ÇÊ¿äÇÑ ¸ðµç°ÍÀ» °®°í ÀÖ´Ù.
Ä¿³ÎÀÇ nfsroot ÄÚµå¿Í RARP¿¡ ´ëÇÑ Áö¿øÀº Gero
Kuhlmann(gero@gkminix.han.de)ÀÌ ÀÛ¼ºÇß´Ù.
IP Ãþ¿¡¼ÀÇ ÀÚµ¿¼³Á¤ ÄÚµåÀÇ ³ª¸ÓÁö´Â Martin
Mares(mj@atrey.karlin.mff.cuni.cz)°¡ ÀÛ¼ºÇß´Ù.
nfsrootÀÇ ÃʱâÈ ¹öÀüÀ» ¾²±â À§Çؼ Jens-Uwe
Mager(jum@anubis.han.de)ÀÇ µµ¿ò¿¡ °¨»çÇÑ´Ù.