| ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D.M.Z
CONTENT
PRE
NEXT
11.1 Preparing NFS NFS, Áï network filesystemÀº RPC¸¦ »ç¿ëÇÏ´Â ³×Æ®¿÷ ¼ºñ½ºµé Áß °¡Àå µÎ°¢À» ³ªÅ¸³»´Â °ÍÀÌ´Ù. ±×°ÍÀº ¸®¸ðÆ® È£½ºÆ® »óÀÇ ÆÄÀÏÀ» À¯Àú°¡ ¸¶Ä¡ ·ÎÄà ÆÄÀÏ¿¡ ¾ï¼¼½º ÇϵíÀÌ ¾ï¼¼½º ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ´Â (¸®¸ðÆ® ÆÄÀÏ ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â) Ŭ¶óÀ̾ðÆ® ÃøÀÇ Ä¿³Î ±â´É°ú ¼¹öÃø(µ¥ÀÌÅ͸¦ Á¦°øÇÏ´Â)ÀÇ NFS ¼¹öÀÇ È¥ÇÕÀ¸·Î °¡´ÉÇÑ °ÍÀÌ´Ù. ÀÌ ÆÄÀÏ ¾ï¼¼½º´Â Ŭ¶óÀ̾ðÆ®¿¡ ÀÖ¾î ¿ÏÀüÈ÷ Åõ¸íÇÑ °ÍÀÌ°í, ´Ù¾çÇÑ ¼¹ö¿Í È£½ºÆ® ¾ÆÅ°ÅØÃÄ¿¡¼ µ¿ÀÛÇÑ´Ù. NFS´Â ¸î°¡Áö ÀÌÁ¡À» Á¦°øÇÑ´Ù.
¸®´ª½º NFS´Â ¸¹Àº ¸é¿¡¼ Rick Sladkey°¡ ³ë·ÂÇÑ °á°ú¶ó ÇÒ ¼ö ÀÖ´Ù. ±×´Â NFS Ä¿³Î ¼Ò½º¿Í NFS ¼¹öÀÇ ¸¹Àº ºÎºÐÀ» ½è´Âµ¥, ÈÄÀÚ´Â ¿ø·¡ Mark Shand°¡ ¾´ unfsd user-space NFS ¼¹ö¿Í Donald Becker°¡ ¾´ hnfs Harris NFS¼¹ö¿¡¼ À¯·¡ÇÑ °ÍÀÌ´Ù. ÀÌÁ¦ ¾î¶»°Ô NFS°¡ µ¿ÀÛÇÏ´ÂÁö »ìÆ캸ÀÚ. Ŭ¶óÀ̾ðÆ®´Â ¸®¸ðÆ® È£½ºÆ®¿¡¼ µð·ºÅ丮¸¦ ·ÎÄà µð·ºÅ丮»ó¿¡, ¸¶Ä¡ ¹°¸®ÀûÀÎ µð¹ÙÀ̽º¸¦ ¸¶¿îÆ®ÇϵíÀÌ, ¸¶¿îÆ® ¿äûÀ» ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª, ¸®¸ðÆ® µð·ºÅ丮¸¦ ÁöÁ¤Çϴµ¥ »ç¿ëµÇ´Â systax´Â ´Ù¸£´Ù. ¿¹¸¦ µé¾î, È£½ºÆ® vlagerÀÇ /homeÀ» valeÀÇ /users·Î ¸¶¿îÆ®Çϱâ À§ÇØ, °ü¸®ÀÚ´Â vale¿¡¼ ´ÙÀ½ÀÇ Ä¿¸Çµå¸¦ »ç¿ëÇÑ´Ù.
# mount -t nfs vlager:/home /users ±×·¯¸é mount´Â RPC¸¦ »ç¿ëÇÏ¿© vlagerÀÇ mountd ¸¶¿îÆ® µ¥¸ó¿¡ ¿¬°áÇÑ´Ù. ¼¹ö´Â valeÀÌ ¿äûÇÑ µð·ºÅ丮¸¦ ¸¶¿îÆ®Çϵµ·Ï Çã¿ëµÇ¾î ÀÖ´ÂÁ¦ üũÇÏ°í, ¸¸¾à ±×·¸´Ù¸é ÆÄÀÏ ÇÚµé(file handle)À» ¸®ÅÏÇØ ÁØ´Ù. ÀÌ ÆÄÀÏ ÇÚµéÀº ÀÌÈÄ /users¾Æ·¡ÀÇ ÆÄÀÏÀ» ¿äûÇÒ ¶§ »ç¿ëµÈ´Ù. ¾î¶²ÀÌ°¡ NFS¸¦ ÅëÇØ ÆÄÀÏ¿¡ ¾ï¼¼½ºÇÒ ¶§, Ä¿³ÎÀº ¼¹ö¸Ó½ÅÀÇ nfsd(NFS daemon)°Ô RPC ÄÝÀ» º¸³½´Ù. ÀÌ ÄÝÀº ÆÄÀÏ ÇÚµé°ú ¾ï¼¼½ºÇÒ ÆÄÀÏ À̸§, ±×¸®°í À¯ÀúÀÇ uid¿Í gid¸¦ ÆĶó¹ÌÅÍ·Î ¾ò¾î¿Â´Ù. À̵éÀº ÁöÁ¤µÈ ÆÄÀÏ¿¡ Á¢±Ù±ÇÇÑÀ» °áÁ¤ÇÑ´Ù. ÀÎÁõ¹ÞÁö ¸øÇÑ À¯Àú°¡ ÆÄÀÏÀ» ÀÐ°í º¯°æÇÏÁö ¸øÇϵµ·Ï Çϱâ À§ÇØ À¯Àú¿Í ±×·ì id´Â ¾ç È£½ºÆ®»ó¿¡ µ¿ÀÏÇØ¾ß ÇÑ´Ù. ´ëºÎºÐÀÇ UN*X¿¡¼, Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö ¾çÂÊÀÇ NFS ±â´ÉÀº, ½Ã½ºÅÛ ºÎÆ®½Ã¿¡ user space¿¡¼ ½ÃÀ۵Ǵ Ŀ³Î ·¹º§ µ¥¸óÀ¸·Î¼ ½ÇÇàµÈ´Ù. À̵éÀº ¼¹ö È£½ºÆ® »óÀÇ NFS µ¥¸ó°ú Ŭ¶óÀ̾ðÆ® È£½ºÆ® »ó¿¡¼ µ¹¾Æ°¡´Â Block I/O Daemon(biod)ÀÌ´Ù. 󸮷®À» Çâ»ó½ÃÅ°±â À§Çؼ, biod´Â read-ahead¿Í write-behind¸¦ »ç¿ëÇÏ´Â ºñ µ¿±âÀûÀÎ I/O¸¦ ¼öÇàÇÑ´Ù; º¸Åë ¸î¸î nfsd µ¥¸óµµ ÀÌ¿Í µ¿ÀÏÇÏ°Ô µ¹¾Æ°£´Ù. ¸®´ª½ºÀÇ NFS implementationÀº Ŭ¶óÀ̾ðÆ®ÀÇ Äڵ尡 Ä¿³ÎÀÇ °¡»ó ÆÄÀÏ ½Ã½ºÅÛ(VFS) ·¹ÀÌ¾î ³»¿¡ °ß°íÇÏ°Ô ÅëÇյǾî ÀÖ°í biod¸¦ ÅëÇÑ ºÎ¼öÀûÀÎ ÅëÁ¦¸¦ ¿äÇÏÁö ¾Ê´Â ¸é¿¡¼ ¾à°£ Ʋ¸®´Ù. ¹Ý¸é¿¡, ¼¹ö ÄÚµå´Â ¿ÏÀüÈ÷ user space ³»¿¡¼ µ¹¾Æ°¡¹Ç·Î, µ¿½Ã¿¡ ¿©·¯°³ÀÇ ¼¹öÀÇ º¹Á¦º»ÀÌ µ¹¾Æ°¡´Â ÀÏÀº, ÀÌ°ÍÀÌ ÀǹÌÇÏ´Â µ¿±âÈ ¹®Á¦ ¶§¹®¿¡ °ÅÀÇ ºÒ°¡´ÉÇÑ °ÍÀÌ´Ù. ÇöÀçÀÇ ¸®´ª½º NFS ¿ª½Ã read-ahead¿Í write-behind°¡ °á¿©µÇ¾î ÀÖÀ¸³ª, Rick Sladkey´Â ¾ðÁ¨°¡ À̸¦ Ãß°¡ÇÒ °èȹÀÌ´Ù. ¸®´ª½º NFS Äڵ尡 ¾È°í ÀÖ´Â °¡Àå Å« ¹®Á¦Á¡Àº ¹öÀü 1.0ÀÇ ¸®´ª½º Ä¿³ÎÀÌ 4K ÀÌ»óÀÇ ¸Þ¸ð¸® ¿µ¿ªÀ» allocateÇÒ ¼ö ¾ø´Ù´Â °ÍÀ¸·Î, µû¶ó¼ ³×Æ®¿öÅ· ÄÚµå´Â Çì´õ »çÀÌÁî µîÀ» »©°í ³ª¸é ´ë·« 3500 ¹ÙÀÌÆ® ÀÌ»óÀÇ µ¥ÀÌÅÍ ±×·¥À» ´Ù·ê ¼ö ¾ø´Ù. ÀÌ°ÍÀÌ ÀǹÌÇÏ´Â ¹Ù´Â, µðÆúÆ®·Î Å« UDP µ¥ÀÌÅÍ ±×·¥À» »ç¿ëÇÏ´Â ½Ã½ºÅÛ »óÀÇ(¿¹ SunOSÀÇ 8K) NFS µ¥¸ó°úÀÇ Àü¼ÛÀº ÀÎÀ§ÀûÀ¸·Î ´Ù¿î »çÀÌ¡µÇ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº ¸î°¡Áö »óȲÇÏ¿¡¼ ÆÛÆ÷¸Õ½º¸¦ ¶³¾î¶ß¸®´Âµ¥, ÀÌ·¯ÇÑ Á¦ÇÑÀº Linux-1.1ÀÌÈÄÀÇ Ä¿³Î¿¡¼ »ç¶óÁ³À¸¸ç, Ŭ¶óÀ̾ðÆ® ÄÚµå´Â ÀÌ·¯ÇÑ ÀÕÁ¡À» ¹Þ¾ÆµéÀ̵µ·Ï ¼öÁ¤µÇ¾ú´Ù.
¼¹ö·Î½á°Ç Ŭ¶óÀ̾ðÆ®·Î½á°Ç NFS¸¦ »ç¿ëÇϱâ Àü¿¡, ¹Ýµå½Ã Ä¿³ÎÀÌ NFS¸¦ Áö¿øÇϵµ·Ï ÄÄÆÄÀÏ µÇ¾î ÀÖ´ÂÁö È®ÀÎÇؾßÇÑ´Ù. º¸´Ù »õ·Î¿î Ä¿³ÎÀº À̸¦ À§ÇØ proc ÆÄÀÏ ½Ã½ºÅÛ»ó¿¡ ´Ü¼øÇÑ ÀÎÅÍÆäÀ̽º, Áï /proc/filesystems ÆÄÀÏÀ» °®°í Àϴµ¥, ÀÌ´Â catÀ¸·Î »ìÆ캼 ¼ö ÀÖ´Ù.
$ cat /proc/filesystems minix ext2 msdos nodev proc nodev nfs ¸¸¾à nfs°¡ ÀÌ ¸ñ·Ï¿¡¼ Á¦¿ÜµÇ¾î ÀÖ´Ù¸é, Ä¿³ÎÀ» NFS°¡ Áö¿øµÇµµ·Ï ÄÄÆÄÀÏ ÇØ ÁÖ¾î¾ß ÇÑ´Ù. Ä¿³Î ³×Æ®¿÷ ¿É¼ÇÀ» ¼³Á¤ÇÏ´Â °ÍÀº chapter 3ÀÇ "Kernel Configuration" ¼½¼Ç¿¡¼ ¼³¸íÇÑ ¹Ù ÀÖ´Ù. Linux 1.1 ÀÌÀüÀÇ Ä¿³Î¿¡¼, ´ç½ÅÀÇ Ä¿³ÎÀÌ NFS Áö¿øÀÌ °¡´ÉÇÑÁö¸¦ ã¾Æº¸´Â °¡Àå ´Ü¼øÇÑ ¹æ¹ýÀº ½ÇÁ¦·Î NFS ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇØ ¿À´Â °ÍÀÌ´Ù. À̸¦ À§Çؼ± /tmp¹Ø¿¡ µð·ºÅ丮¸¦ Çϳª ¸¸µé°í ·ÎÄà µð·ºÅ丮 Çϳª¸¦ ±×°Í¿¡ ¸¶¿îÆ®ÇØ º¸¶ó.
# mkdir /tmp/test # mount localhost:/etc /tmp/test ¸¸¾à ÀÌ·¯ÇÑ ½Ãµµ°¡ "fs type nfs no supported by kernel"À̶ó´Â ¿¡·¯¸Þ½ÃÁö¿Í ÇÔ²² ½ÇÆÐÇÑ´Ù¸é, ´ç½ÅÀº NFS°¡ °¡´ÉÇÑ »õ Ä¿³ÎÀ» ¸¸µé¾î¾ß ÇÑ´Ù. ´Ù¸¥ ¿¡·¯ ¸Þ½ÃÁö´Â ÀüÇô ÇØ·ÓÁö ¾ÊÀº °ÍÀ̸ç, ´ç½Å È£½ºÆ®¿¡ ¾ÆÁ÷ NFS µ¥¸óÀ» ¼³Á¤ÇÏÁö ¾Ê¾Æ¼ ³ª´Â °ÍµéÀÌ´Ù.
NFS º¼·ýÀ» ¸¶¿îÆ®ÇÏ´Â ¹æ¹ýÀº º¸Åë ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇÏ´Â °Í°ú ºñ½ÁÇÏ´Ù. ´ÙÀ½°ú °°ÀÌ mount¸¦ ½ÇÇàÇÑ´Ù.
# mount -t nfs nfs_volume local_dir options nfs_volumeÀº remote_host:remote_dirÀÇ Çü½ÄÀ¸·Î ÁØ´Ù. ÀÌ·¯ÇÑ Ç¥±â¹ýÀÌ NFS ÆÄÀÏ ½Ã½ºÅÛ¿¡¸¸ ÀÖ´Â °ÍÀ̹ǷÎ, -t nfs ¿É¼ÇÀº »ý·«ÇÒ ¼öµµ ÀÖ´Ù. NFS º¼·ýÀ» ¸¶¿îÆÃÇÒ ¶§ mount¿¡ ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Â Ãß°¡ÀûÀº ¿É¼ÇµéÀÌ ¸î°¡Áö Àִµ¥, À̵éÀº Ä¿¸Çµå¶óÀο¡¼ -o ½ºÀ§Ä¡ µÚ¿¡ Áְųª, ±× º¼·ý¿¡ ´ëÇÑ /etc/fstab ¿£Æ®¸®ÀÇ ¿É¼Ç Çʵ忡 ÁÙ ¼ö ÀÖ´Ù. ¾çÂÊ ¸ðµÎ, ¿É¼ÇÀ» µÎ °³ ÀÌ»ó ÁÙ ¶§¿£ ½°Ç¥·Î ³ª´©¾î ÁØ´Ù. Ä¿¸Çµå¶óÀο¡¼ ÁöÁ¤ÇØ ÁØ ¿É¼ÇÀº, fstab ÆÄÀÏ¿¡¼ ÁØ ¿É¼ÇÀ» Ç×»ó overrideÇÑ´Ù. ´ÙÀ½Àº /etc/fstab ¿£Æ®¸®ÀÇ ¿¹ÀÌ´Ù.
# volume mount point type options news:/usr/spool/news /usr/spool/news nfs timeo=14,intr ÀÌ º¼·ýÀº ´ÙÀ½À» »ç¿ëÇÏ¿© ¸¶¿îÆ® µÈ´Ù.
# mount news:/usr/spool/news fstabÀÇ ¿£Æ®¸®°¡ ¾øÀ» °æ¿ì, NFS mountÀÇ Ä¿¸Çµå¶óÀÎÀº Á»´õ ÁöÀúºÐÇØ Áø´Ù. ¿¹¸¦ µé¾î, ´ç½ÅÀÇ À¯Àú Ȩ µð·ºÅ丮¸¦ moonshotÀ̸£´Â ¸Ó½Å¿¡¼ ¸¶¿îÆ®ÇÏ°íÀÚ ÇÏ°í, ±× ¸Ó½ÅÀÌ Àбâ/¾²±â ÀÛ¾÷¿¡ 4KÀÇ µðÆúÆ® ºí·Ï »çÀÌÁ »ç¿ëÇÑ´Ù°í °¡Á¤Çغ¸ÀÚ. ´ç½ÅÀº ¸®´ª½ºÀÇ µ¥ÀÌÅÍ ±×·¥»çÀÌÁî Á¦ÇÑ¿¡ ¸Â°Ô²û ´ÙÀ½°ú °°ÀÌ ºí·Ï »çÀÌÁ ÁÙ¿©ÁÖ¾î¾ß ÇÑ´Ù.
# mount moonshot:/home /home -o rsize=2048, wsize=2048 ÀûÀýÇÑ ¸ðµç ¿É¼ÇÀº Rik FaithÀÇ util-linuxÆÐÅ°Áö¿¡ ÀÖ´Â Rick SladkeyÀÇ NFS-awae mount Åø¿¡ µþ·Á¿À´Â nfs(5) ¸Å´º¾ó ÆäÀÌÁö³»¿¡ ÀûÇôÀÖ´Ù. ´ÙÀ½Àº ´ç½ÅÀÌ »ç¿ëÇÒ ¸¸ÇÑ, ÀϺθ¸ÀÇ ¸®½ºÆ®ÀÌ´Ù.
rsize¿Í wsize¸¦ Á¦¿ÜÇÑ ÀÌµé ¸ðµç ¿É¼ÇµéÀº ¼¹ö°¡ ÀϽÃÀûÀ¸·Î ¾ï¼¼½º ÇÒ ¼ö ¾ø°Ô µÇ¾úÀ» ¶§ Ŭ¶óÀ̾ðÆ®ÀÇ µ¿ÀÛ¿¡ Àû¿ëµÇ´Â °ÍÀÌ´Ù. ±×°ÍµéÀº ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ÇÔ²² ÀÛµ¿ÇÑ´Ù: Ŭ¶óÀ̾ðÆ®°¡ NFS ¼¹ö¿¡ request¸¦ º¸³¾ ¶§¸¶´Ù, ±×°ÍÀº ÁÖ¾îÁø ±â°£ °æ°ú ÈÄ(timeout¿É¼ÇÀ¸·Î ÁöÁ¤µÈ), ÀÛ¾÷ÀÌ ¿Ï·áµÇ¾úÀ» °ÍÀ̶ó ±â´ëÇÑ´Ù. ¸¸¾à ÀÌ ½Ã°£ µ¿¾È ¾î¶°ÇÑ È®ÀÎ ÀÀ´ä(confirmation)µµ ¼ö½ÅÇÏÁö ¸øÇß´Ù¸é, Áï ÈçÈ÷ ºÒ¸®´Â minor timeoutÀÌ ÀϾ¸é, µÎ¹èÀÇ Å¸ÀӾƿô ÀÎÅ͹úÀ» ÁÖ¾î ÀÛ¾÷À» Àç½Ãµµ ÇÏ°Ô ÇÑ´Ù. 60ÃÊÀÇ ÃÖ´ë ŸÀӾƿô¿¡ À̸£°Ô µÇ¸é major timeoutÀÌ ÀϾÙ. µðÆúÆ®·Î ¸ÞÀÌÀú ŸÀӾƿôÀº Ŭ¶óÀ̾ðÆ® Äֿܼ¡ ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ°í, ÀÌÀüÀÇ µÎ¹èÀÇ ÀÌ´Ï¼È Å¸ÀӾƿôÀ» °®°í ¸ðµç °ÍÀ» ´Ù½Ã ½ÃÀÛÇÏ°Ô µÈ´Ù. ÀáÀçÀûÀ¸·Î ÀÌ·¯ÇÑ °ÍÀº ¿µ±¸È÷ Áö¼ÓµÈ´Ù. ¼¹ö°¡ ´Ù½Ã Á¦´ë·Î µ¿ÀÛÇÒ ¶§±îÁö ²öÁú±â°Ô Àç½ÃµµÇÏ´Â º¼·ýÀ» hard-mountµÈ °ÍÀ̶ó ÇÏ°í, ¹Ý´ë·Î soft-mountµÈ º¼·ýÀº ¸ÞÀÌÀú ŸÀӾƿôÀÌ ÀϾ ¶§ È£Ãâ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ I/O¿¡·¯¸¦ ¹ß»ý½ÃŲ´Ù. write-behind°¡ ¹öÆÛ Ä³½¬¿¡ÀÇÇØ ÀüÇØÁö±â ¶§¹®¿¡, ÀÌ ¿¡·¯ÄÁµð¼ÇÀº ÇÁ·Î¼¼½º ÀÚ½ÅÀÌ ´ÙÀ½¹ø¿¡ write(2) ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ ±× ÇÁ·Î¼¼½º¿¡ Àü´ÞµÇÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ÇÁ·Î±×·¥Àº soft-mountµÈ º¼·ý¿¡ ´ëÇÑ ¾²±â ÀÛ¾÷ÀÌ ¼º°øÇß´ÂÁö ÀüÇô È®½ÅÇÏÁö ¸øÇÑ´Ù. º¼·ýÀ» hard ¶Ç´Â soft-mountÇÑ´Ù´Â °ÍÀº ´Ü¼øÈ÷ ÃëÇâÀÇ ¹®Á¦»Ó ¾Æ´Ï¶ó, ÀÌ º¼·ý¿¡¼ ¾î¶² Á¾·ùÀÇ Á¤º¸¸¦ ¾ï¼¼½ºÇÏ´ÂÁöµµ °í·ÁÇؾßÇÑ´Ù. ¿¹¸¦ µé¾î, ¸¸¾à NFS·Î X ÇÁ·Î±×·¥À» ¸¶¿îÆ®ÇÑ´Ù¸é, ¾î¶² »ç¶÷ÀÌ µ¿½Ã¿¡ xvÀÇ Ä«ÇǸ¦ ±¸µ¿½ÃŲ´Ù°Å³ª ÀÌ´õ³Ý Ç÷¯±×¸¦ Àá½Ã »©µÐ´Ù°Å³ªÇÏ¿© ³×Æ®¿÷¿¡ ¹«¸®¸¦ °¡ÇØ, ´ç½ÅÀÇ X ¼¼¼ÇÀÌ ¹ÌÃij¯¶Ù°Ô ÇÏ°í ½ÍÁö ¾ÊÀ» °ÍÀÌ´Ù. À̸¦ hard-mountÇؼ NFS ¼¹ö¿ÍÀÇ Á¢¼ÓÀÌ Àç ¼º¸³µÉ ¶§ ±îÁö ´ë±âÇϵµ·Ï ¸¸µé¾ú´ÂÁö È®ÀÎÇÑ´Ù. ¹Ý¸é, NFS·Î ¸¶¿îÆ®µÈ news ÆÄƼ¼Ç ¶Ç´Â FTP archiveµé °°ÀÌ º°·Î Áß¿äÇÏÁö ¾ÊÀº µ¥ÀÌÅÍ´Â soft-mountÇÒ ¼ö ÀÖ´Ù. ±×¸®ÇÏ¿© ¸®¸ðÆ® ¸Ó½ÅÀÌ ÀϽÃÀûÀ¸·Î unreachable¶Ç´Â ´Ù¿îµÇ¾úÀ» ¶§, ¼¼¼ÇÀ» Á¾·áÇÏ°Ô µÈ´Ù. ¸¸¾à ¼¹ö·ÎÀÇ ³×Æ®¿÷ ¿¬°áÀÌ ¾û¼ºÇϰųª ·Îµå°¡ ½ÉÇÑ ¶ó¿ìÅ͸¦ °æÀ¯ÇÑ´Ù¸é, timeo ¿É¼ÇÀ¸·Î ÀÌ´Ï¼È Å¸ÀӾƿôÀ» ´ÃÀ̰ųª ±× º¼·ýÀ» hard-mountÇؾßÇϳª, ¹Ì°áµÈ ÆÄÀÏ ¾ï¼¼½º¸¦ ó¸®ÇÒ ¼ö ÀÖµµ·Ï NFS ÄÝÀ» ÀÎÅÍ·´Æ®ÇÏ´Â ½Ã±×³ÎÀ» Çã¿ëÇؾßÇÑ´Ù. º¸Åë mountd µ¥¸óÀº ¸î°¡Áö ¹æ¹ýÀ¸·Î ¾î¶² È£½ºÆ®¿¡ ÀÇÇØ ¾î¶² µð·ºÅ丮°¡ ¸¶¿îÆ® µÇ¾ú´ÂÁöÀÇ Á¤º¸¸¦ À¯ÁöÇÑ´Ù. ÀÌ Á¤º¸´Â NFS ¼¹ö ÆÐÅ°Áö¿¡ Æ÷ÇԵǾî ÀÖ´Â showmount ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¸®´ª½º mountd´Â ÀÌ·¯ÇÑ ÀÏÀ» ¾ÆÁ÷ ÇÏÁö ¸øÇÑ´Ù.
¸¸¾à ´Ù¸¥È£½ºÆ®¿¡ NFS ¼ºñ½º¸¦ Á¦°øÇÏ°íÀÚ ÇÑ´Ù¸é, ¸Ó½Å¿¡ nfsd¿Í mountd¸¦ µ¹·Á¾ßÇÑ´Ù. RPC±â¹Ý ÇÁ·Î±×·¥ÀÌ ±×·¯Çϵí, ±×°ÍµéÀº inetd¿¡ÀÇÇØ °ü¸®µÇÁö ¾Ê°í ºÎÆ®½Ã¿¡ ±¸µ¿µÇ¾î Æ÷Æ®¸ÅÆÛ¿¡ ÀÚ½ÅÀ» µî·ÏÇÑ´Ù. µû¶ó¼, rpc.portmapÀÌ ±¸µ¿µÈ ÀÌÈÄ¿¡ ±×°ÍµéÀ» ±¸µ¿ÇÏ¿´´ÂÁö È®ÀÎÇؾßÇÑ´Ù. º¸Åë ´ÙÀ½ÀÇ µÎ ¶óÀÎÀ» rc.inet2 ½ºÅ©¸³Æ®¿¡ ³Ö´Â´Ù.
if [ -x /usr/sbin/rpc.mountd ]; then /usr/sbin/rpc.mountd; echo -n " mountd" fi if [ -x /usr/sbin/rpc.nfsd ]; then /usr/sbin/rpc.nfsd; echo -n " nfsd" fiNFS µ¥¸óÀÌ Å¬¶óÀ̾ðÆ®¿¡ Á¦°øÇÏ´Â ÆÄÀÏÀÇ ¼ÒÀ¯±Ç Á¤º¸´Â º¸Åë À¯Àú¿Í ±×·ì id¹øÈ£¸¸À» Æ÷ÇÔÇÑ´Ù. ¸¸¾à Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö ¾çÂÊ ¸ðµÎ ÀÌ·¯ÇÑ id ¹øÈ£·Î µÈ µ¿ÀÏÇÑ À¯Àú¿Í ±×·ì³×ÀÓÀ¸·Î ¿¬°áµÇ¾î ÀÖ´Ù¸é, À̸¦ ÀÏÄþî uid/gid space¸¦ °øÀ¯ÇÑ´Ù°í ¸»ÇÑ´Ù. ¿¹¸¦ µé¾î, ÀÌ°ÍÀº ´ç½ÅÀÌ LAN »óÀÇ ¸ðµç È£½ºÆ®¿¡ passwdÁ¤º¸¸¦ ¹èºÐÇϴµ¥ NIS¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡ ÇØ´çµÈ´Ù ÇÏ°Ú´Ù. ±×·¯³ª ¶§¶§·Î ±×°ÍµéÀÌ ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ìµµ ÀÖ´Ù. ÀÌ ¶§ Ŭ¶óÀ̾ðÆ®ÀÇ uid¿Í gid¸¦ ¼¹ö¿¡ ¸Âµµ·Ï ¾÷µ¥ÀÌÆ®Çϱ⠺¸´Ù´Â, ÀÌ¿¡ °üÇØ µ¿ÀÛÇÏ´Â ugidd ¸ÅÇε¥¸óÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ¾Æ·¡¿¡ ¼³¸íÇÒ map_daemon ¿É¼ÇÀ» »ç¿ëÇÏ¿© nfsd¿¡°Ô, Ŭ¶óÀ̾ðÆ®ÀÇ µµ¿òÀ» ¹Þ¾Æ ¼¹öÀÇ uid/gid space¸¦ Ŭ¶óÀ̾ðÆ®ÀÇ uid/gid space·Î ¸ÊÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù. ugidd´Â RPC ±â¹Ý ¼¹öÁßÀÇ ÇϳªÀ̸ç, nfsd, mountd¿Í ¸¶Âù°¡Áö·Î rc.inet2¿¡¼ ±¸µ¿µÈ´Ù.
if [ -x /usr/sbin/rpc.ugidd ]; then /usr/sbin/rpc.ugidd; echo -n " ugidd" fi
À§ÀÇ ¿É¼ÇÀÌ Å¬¶óÀ̾ðÆ®ÀÇ NFS ¼³Á¤¿¡ Àû¿ëµÇ´Âµ¥ ºñÇØ, ¼¹ö¿¡¼ Ŭ¶óÀ̾ðÆ®¸¶´Ù µ¿ÀÛÀ» ¼³Á¤ÇÏ´Â ¶Ç´Ù¸¥ ¿É¼Ç¼Âµµ Á¸ÀçÇÑ´Ù. ÀÌ ¿É¼ÇµéÀº ¹Ýµå½Ã /etc/exportsÆÄÀÏ¿¡¼ ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù. µðÆúÆ®·Î mountd´Â ±× ´©±¸µµ ·ÎÄà ȣ½ºÆ®¿¡¼ µð·ºÅ丮¸¦ ¸¶¿îÆ® ÇÒ ¼ö ¾øµµ·Ï ¸¸µå´Âµ¥, ÀÌ´Â ´Ù¼Ò Çö¸íÇÑ ÅµµÀÌ´Ù. Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ µð·ºÅ丮¸¦ NFS ¸¶¿îÆ®Çϱâ À§Çؼ´Â ¹Ýµå½Ã ±× µð·ºÅ丮°¡ exportµÇ¾î¾ß ÇÑ´Ù. Áï, exportsÆÄÀÏ¿¡ ÁöÁ¤µÇ¾î¾ß¸¸ ÇÑ´Ù. ¿¹Á¦ ÆÄÀÏÀº ´ÙÀ½°ú °°´Ù.
# export file for vlager /home vale(rw) vstout(rw) vlight(rw) /usr/X386 vale(ro) vstout(ro) vlight(ro) /usr/TeX vale(ro) vstout(ro) vlight(ro) / vale(rw, no_root_squash) /home/ftp (ro)°¢ ¶óÀÎÀº µð·ºÅ丮¿Í ±×°ÍÀ» ¸¶¿îÆ®Çϵµ·Ï Çã¿ëµÈ È£½ºÆ®¸¦ Á¤ÀÇÇÑ´Ù. È£½ºÆ® ³×ÀÓÀº º¸Åë FQDNÀ¸·Î ÁÖ¾îÁö³ª, Ãß°¡ÀûÀ¸·Î *¿Í ? ¿ÍÀϵåÄ«µå¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ´Â Bourne shell°ú °°Àº ¹æ¹ýÀ¸·Î µ¿ÀÛÇÑ´Ù. ¿¹¸¦ µé¾î, lab*.foo.comÀº lab01.foo.comÀ̳ª laber.foo.com¿¡µµ ÀÏÄ¡ÇÑ´Ù. ¸¸¾à À§ÀÇ /home/ftp µð·ºÅ丮ÆÛ·³ È£½ºÆ® ³×ÀÓÀÌ ÁÖ¾îÁöÁö ¾ÊÀ¸¸é ¾î¶°ÇÑ È£½ºÆ®¿¡¼µµ ÀÌ µð·ºÅ丮¸¦ ¸¶¿îÆ®ÇÒ ¼ö ÀÖ´Ù. export ÆÄÀÏ¿¡¼ Ŭ¶óÀ̾ðÆ® È£½ºÆ®¸¦ üũÇÒ ¶§ mountd´Â gethostbyaddr(2) ÄÝÀ» »ç¿ëÇÏ¿© Ŭ¾ÆÀ̾ðÆ®ÀÇ È£½ºÆ®¿¡ÀÓÀ» ã´Â´Ù. DNS¸¦ »ç¿ëÇÒ ¶§, ÀÌ ÄÝÀº Ŭ¶óÀ̾ðÆ®ÀÇ canonical È£½ºÆ®³×ÀÓÀ» ¹ÝȯÇϹǷΠexports ÆÄÀϳ»¿¡ ¾Ù¸®¾î½º¸¦ »ç¿ëÇÏÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇؾßÇÑ´Ù. DNS¸¦ »ç¿ëÇÏÁö ¾ÊÀ» °æ¿ì¿£ hostsÆÄÀÏ¿¡¼ Ŭ¶óÀ̾ðÆ®ÀÇ ÁÖ¼Ò¿¡ ¸Â´Â °¡Àå ¸ÕÀú ¹ß°ßµÈ È£½ºÆ®³×ÀÓÀÌ ¹ÝȯµÈ´Ù. È£½ºÆ® ³×ÀÓ µÚ¿£ Ãß°¡·Î °ýÈ£¾È¿¡ Ç÷¡±×¸¦ ÁÙ ¼öµµ Àִµ¥, À̵é Ç÷¡±×µéÀÌ ¿©·¯°³ ¾²ÀÏ°æ¿ì¿£ ½°Ç¥·Î ±¸ºÐÇϸç, ´ÙÀ½°ú °°Àº °ÍµéÀÌ ¾²ÀδÙ.
nfsd³ª mountd°¡ ±¸µ¿µÇ¾î ÀÖ´Ù¸é, exportsÆÄÀÏ ÆĽ̰úÁ¤ Áß¿¡ ÀÏ¾î³ ¿¡·¯´Â syslogdÀÇ daemon±â´É¿¡ notice ·¹º§·Î º¸°íµÈ´Ù. È£½ºÆ® ³×ÀÓÀº Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò¿¡¼ ¿ª ¸ÅÇÎÀ» ÅëÇØ ¾ò¾îÁø´Ù´Âµ¥ ÁÖÀÇÇÏÀÚ. ±×·¯¹Ç·Î ´ç½ÅÀº resolver¸¦ ÀûÀýÈ÷ ¼³Á¤ÇØ ³õ¾Æ¾ß ÇÑ´Ù. ¸¸¾à BIND¸¦ »ç¿ëÇÏ°í, º¸¾È¿¡ °üÇØ »ó´çÈ÷ ÀǽÄÇÏ°í ÀÖ´Ù¸é, ´ç½ÅÀÇ hosts.conf ÆÄÀÏ¿¡ spoof üŷÀ» ÄÑ µÎ´Â °ÍÀÌ ÁÁ´Ù.
À¯Àú°¡ °¡²û¾¿ ¾ï¼¼½ºÇÏ±æ ¿øÇÒ ¼öµµ ÀÖ´Â ¸ðµç º¼·ýÀ» ¸¶¿îÆ®ÇÏ´Â °ÍÀº, ¸¶¿îÆ®ÇÒ º¼·ýÀÇ ¼ö°¡ ¸¹°Å³ª ±¸µ¿½Ã¿¡ Àâ¾Æ ¸Ô´Â ½Ã°£ÀÇ ÀÌÀ¯·Î, ³¶ºñÀûÀÏ ¼öµµ ÀÖ´Ù. ÀÌ¿¡ È°¿ëÇÒ ¼ö ÀÖ´Â ´ë¾ÈÀÌ ¹Ù·Î automounter·Î, ÀÌ°ÍÀº ÀÚµ¿ÀûÀ¸·Î ÇÊ¿äÇÑ ¸ðµç NFS º¼·ýÀ» ¸¶¿îÆ®ÇÏ°í ÀÏÁ¤ ½Ã°£µ¿¾È »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¾ð¸¶¿îÆ®ÇØÁÖ´Â µ¥¸óÀÌ´Ù. automounter¿¡¼ ¶Ù¾î³ Á¡ ÇÑ°¡Áö´Â ƯÁ¤ º¼·ýÀ» ´Ù¸¥ Àå¼Ò¿¡¼ ¸¶¿îÆ®ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ¸·Î, ¿¹¸¦µé¾î µÑ ¶Ç´Â ¼¼ È£½ºÆ®¿¡¼ X ÇÁ·Î±×·¥°ú Áö¿øÆÄÀÏÀÇ Ä«ÇǸ¦ º¸Á¸ÇÏ°í ´Ù¸¥ ¸ðµç È£½ºÆ®¿¡¼ NFS·Î À̸¦ ¸¶¿îÆ®ÇÏ°Ô ÇÑ´Ù. automounter¸¦ »ç¿ëÇÏ¿© ±× ¼Â ¸ðµÎ°¡ /usr/X386¿¡ ¸¶¿îÆ®Çϵµ·Ï ÁöÁ¤ÇØ ³õÀ¸¸é, automounter´Â À̵éÁß ¸¶¿îÆ® ½Ãµµ°¡ ¼º°øÇÏ´Â Çϳª¸¦ ¸¶¿îÆ®ÇÏ·Á ÇÒ °ÍÀÌ´Ù. º¸Åë ¸®´ª½º¿¡¼ »ç¿ëµÇ´Â automounter¸¦ amd¶ó ºÎ¸¥´Ù. ±×°ÍÀº ¿ø·¡ Jan-simon Pendry°¡ ¾´ °ÍÀÌ°í ¸®´ª½º·ÎÀÇ Æ÷ÆÃÀº Rick Sladkey°¡ ÇÏ¿´´Ù. ÇöÀç ¹öÀüÀº amd-5.3ÀÌ´Ù. amd¿¡ °üÇØ ¼³¸íÇÏ´Â °ÍÀº ÀÌ ÀåÀÇ ¹üÀ§¸¦ ¹þ¾î³´Ù. ÁÁÀº ¸Å´º¾óÀ» ¿øÇÑ´Ù¸é ¼Ò½º¸¦ Âü°íÇ϶ó. ±×°Í¿£ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ´ãÀº texinfoÆÄÀÏÀÌ Æ÷ÇԵǾî ÀÖ´Ù.
| ||||||||||||||||||||||||||||||||||||||
Other Chapters
1. Introduction to Networking | ||||||||||||||||||||||||||||||||||||||
Appendix
A. A Null Printer Cable for PLIP |