29.3 ÍøÂçÎļþϵͳ£¨NFS£©

Reorganized and enhanced by Tom Rhodes. Written by Bill Swingle.

¡¡¡¡ÍøÂçÎļþϵͳÊÇFreeBSDÖ§³ÖµÄÎļþϵͳÖеÄÒ»ÖÖ£¬ Ò²±»³ÆÎª NFS¡£ NFSÔÊÐíÒ»¸öϵͳÔÚÍøÂçÉÏÓëËüÈ˹²ÏíĿ¼ºÍÎļþ¡£Í¨¹ýʹÓÃNFS£¬Óû§ºÍ³ÌÐò¿ÉÒÔÏó·ÃÎʱ¾µØÎļþ Ò»Ñù·ÃÎÊÔ¶¶ËϵͳÉϵÄÎļþ¡£

¡¡¡¡ÒÔÏÂÊÇNFS×îÏÔ¶øÒ×¼ûµÄºÃ´¦£º

29.3.1 NFSÊÇÈçºÎ¹¤×÷µÄ

¡¡¡¡NFS ÖÁÉÙ°üÀ¨Á½¸öÖ÷ÒªµÄ²¿·Ö£º һ̨·þÎñÆ÷£¬ ÒÔ¼°ÖÁÉÙһ̨¿Í»§»ú£¬ ¿Í»§»úÔ¶³ÌµØ·ÃÎʱ£´æÔÚ·þÎñÆ÷ÉϵÄÊý¾Ý¡£ ÒªÈÃÕâÒ»ÇÐÔËתÆðÀ´£¬ ÐèÒªÅäÖò¢ÔËÐм¸¸ö³ÌÐò¡£

¡¡¡¡·þÎñÆ÷±ØÐëÔËÐÐÒÔÏ·þÎñ£º

·þÎñ ÃèÊö
nfsd NFS£¬ÎªÀ´×ÔNFS¿Í»§¶ËµÄ ÇëÇó·þÎñ¡£
mountd NFS¹ÒÔØ·þÎñ£¬´¦Àínfsd(8)µÝ½»¹ýÀ´µÄÇëÇó¡£
rpcbind ´Ë·þÎñÔÊÐí NFS ¿Í»§³ÌÐò²éѯÕýÔÚ±» NFS ·þÎñʹÓõĶ˿ڡ£

¡¡¡¡¿Í»§¶ËͬÑùÔËÐÐһЩ½ø³Ì£¬±ÈÈç nfsiod¡£ nfsiod´¦ÀíÀ´×ÔNFSµÄÇëÇó¡£ ÕâÊÇ¿ÉÑ¡µÄ£¬¶øÇÒ¿ÉÒÔÌá¸ßÐÔÄÜ£¬¶ÔÓÚÆÕͨºÍÕýÈ·µÄ²Ù×÷À´Ëµ²¢²»ÊDZØÐëµÄ¡£ ²Î¿¼nfsiod(8)ÊÖ²á»ñµÃ¸ü¶àÐÅÏ¢¡£

29.3.2 ÅäÖÃNFS

¡¡¡¡NFSµÄÅäÖùý³ÌÏà¶Ô¼òµ¥¡£Õâ¸ö¹ý³ÌÖ»ÐèÒª ¶Ô/etc/rc.confÎļþ×÷һЩ¼òµ¥Ð޸ġ£

¡¡¡¡ÔÚNFS·þÎñÆ÷Õâ¶Ë£¬È·ÈÏ/etc/rc.conf ÎļþÀïÍ·ÒÔÏ¿ª¹Ø¶¼ÅäÉÏÁË:

rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

¡¡¡¡Ö»ÒªNFS·þÎñ±»ÖÃΪenable£¬mountd ¾ÍÄÜ×Ô¶¯ÔËÐС£

¡¡¡¡ÔÚ¿Í»§¶ËÒ»²à£¬È·ÈÏÏÂÃæÕâ¸ö¿ª¹Ø³öÏÖÔÚ /etc/rc.confÀïÍ·:

nfs_client_enable="YES"

¡¡¡¡/etc/exportsÎļþÖ¸¶¨ÁËÄĸöÎļþϵͳ NFSÓ¦¸ÃÊä³ö£¨ÓÐʱ±»³ÆÎª¡°¹²Ïí¡±£©¡£ /etc/exportsÀïÃæÃ¿ÐÐÖ¸¶¨Ò»¸öÊä³öµÄÎļþϵͳºÍ ÄÄЩ»úÆ÷¿ÉÒÔ·ÃÎʸÃÎļþϵͳ¡£ÔÚÖ¸¶¨»úÆ÷·ÃÎÊȨÏÞµÄͬʱ£¬·ÃÎÊÑ¡Ïî ¿ª¹ØÒ²¿ÉÒÔ±»Ö¸¶¨¡£Óкܶ࿪¹Ø¿ÉÒÔ±»ÓÃÔÚÕâ¸öÎļþÀïÍ·£¬²»¹ý²»»áÔÚÕâ ÀïÏêϸ̸¡£Äú¿ÉÒÔͨ¹ýÔĶÁexports(5) ÊÖ²áÀ´·¢ÏÖÕâЩ¿ª¹Ø¡£

¡¡¡¡ÒÔÏÂÊÇһЩ/etc/exportsµÄÀý×Ó£º

¡¡¡¡ÏÂÃæÊÇÒ»¸öÊä³öÎļþϵͳµÄÀý×Ó£¬ ²»¹ýÕâÖÖÅäÖÃÓëÄúËù´¦µÄÍøÂç»·¾³¼°ÆäÅäÖÃÃÜÇÐÏà¹Ø¡£ ÀýÈ磬 Èç¹ûÒª°Ñ /cdrom Êä³ö¸øÓë·þÎñÆ÷ÓòÃûÏàͬµÄÈý̨¼ÆËã»ú (Òò´ËÀý×ÓÖÐÖ»ÓлúÆ÷Ãû£¬ ¶øÃ»Óиø³öÕâЩ¼ÆËã»úµÄÓòÃû)£¬ »òÔÚ /etc/hosts ÎļþÖнøÐÐÁËÕâÖÖÅäÖᣠ-ro ±êÖ¾±íʾ°ÑÊä³öµÄÎļþϵͳÖÃΪֻ¶Á¡£ ÓÉÓÚʹÓÃÁËÕâ¸ö±êÖ¾£¬ Ô¶³ÌϵͳÔÚÊä³öµÄÎļþϵͳÉϾͲ»ÄÜдÈëÈκα䶯ÁË¡£

/cdrom -ro host1 host2 host3

¡¡¡¡ÏÂÃæµÄÀý×Ó¿ÉÒÔÊä³ö/home¸øÈý¸öÒÔIPµØÖ··½Ê½±íʾµÄÖ÷»ú¡£ ¶ÔÓÚÔÚûÓÐÅäÖÃDNS·þÎñÆ÷µÄ˽ÓÐÍøÂçÀïÍ·£¬ÕâºÜÓÐÓᣠ´ËÍ⣬ /etc/hosts ÎļþÒ²¿ÉÒÔÓÃÒÔÅäÖÃÖ÷»úÃû£»²Î¿´ hosts(5) ¡£ -alldirs ±ê¼ÇÔÊÐí×ÓĿ¼±»×÷Ϊ¹ÒÔØµã¡£ Ò²¾ÍÊÇ˵£¬¿Í»§¶Ë¿ÉÒÔ¸ù¾ÝÐèÒª¹ÒÔØÐèÒªµÄĿ¼¡£

/home  -alldirs  10.0.0.2 10.0.0.3 10.0.0.4

¡¡¡¡ÏÂÃæ¼¸ÐÐÊä³ö /a £¬ÒÔ±ãÁ½¸öÀ´×Ô²»Í¬ÓòµÄ¿Í»§¶Ë¿ÉÒÔ·ÃÎÊÎļþϵͳ¡£ -maproot=root ±ê¼ÇÊÚȨԶ¶ËϵͳÉ쵀 root Óû§ÔÚ±»Êä³öµÄÎļþϵͳÉÏÒÔrootÉí·Ý½øÐжÁд¡£ Èç¹ûûÓÐÌØ±ðÖ¸¶¨ -maproot=root ±ê¼Ç£¬ Ôò¼´Ê¹Óû§ÔÚÔ¶¶ËϵͳÉÏÊÇ root Éí·Ý£¬ Ò²²»ÄÜÐ޸ı»Êä³öÎļþϵͳÉϵÄÎļþ¡£

/a  -maproot=root  host.example.com box.example.org

¡¡¡¡ ΪÁËÄܹ»·ÃÎʵ½±»Êä³öµÄÎļþϵͳ£¬¿Í»§¶Ë±ØÐë±»ÊÚȨ¡£ ÇëÈ·ÈϿͻ§¶ËÔÚÄúµÄ /etc/exports ±»Áгö¡£

¡¡¡¡ÔÚ /etc/exports ÀïÍ·£¬Ã¿Ò»ÐÐÀïÃæ£¬Êä³öÐÅÏ¢ºÍÎļþϵͳһһ¶ÔÓ¦¡£ Ò»¸öÔ¶³ÌÖ÷»úÿ´ÎÖ»ÄܶÔÓ¦Ò»¸öÎļþϵͳ¡£¶øÇÒÖ»ÄÜÓÐÒ»¸öĬÈÏÈë¿Ú¡£±ÈÈ磬¼ÙÉè /usr ÊǶÀÁ¢µÄÎļþϵͳ¡£Õâ¸ö /etc/exports ¾ÍÊÇÎÞЧµÄ£º

# Invalid when /usr is one file system
/usr/src   client
/usr/ports client

¡¡¡¡Ò»¸öÎļþϵͳ£¬/usr£¬ ÓÐÁ½ÐÐÖ¸¶¨Êä³öµ½Í¬Ò»Ö÷»ú£¬ client. ½â¾öÕâÒ»ÎÊÌâµÄÕýÈ·µÄ¸ñʽÊÇ£º

/usr/src /usr/ports  client

¡¡¡¡ÔÚͬһÎļþϵͳÖУ¬ Êä³öµ½Ö¸¶¨¿Í»§»úµÄËùÓÐĿ¼£¬ ¶¼±ØÐëдµ½Í¬Ò»ÐÐÉÏ¡£ ûÓÐÖ¸¶¨¿Í»§»úµÄÐлᱻÈÏΪÊǵ¥Ò»Ö÷»ú¡£ ÕâÏÞÖÆÁËÄã¿ÉÒÔÔõÑùÊä³öµÄÎļþϵͳ£¬ µ«¶Ô¾ø´ó¶àÊýÈËÀ´ËµÕâ²»ÊÇÎÊÌâ¡£

¡¡¡¡ÏÂÃæÊÇÒ»¸öÓÐЧÊä³öÁбíµÄÀý×Ó£¬ /usr ºÍ /exports ÊDZ¾µØÎļþϵͳ£º

# Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root    client01
/usr/src /usr/ports               client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root      client01 client02
/exports/obj -ro

¡¡¡¡ÔÚÐÞ¸ÄÁË /etc/exports ÎļþÖ®ºó£¬ ¾Í±ØÐëÈà mountd ·þÎñÖØÐ¼ì²éËü£¬ ÒÔ±ãʹÐÞ¸ÄÉúЧ¡£ Ò»ÖÖ·½·¨ÊÇͨ¹ý¸øÕýÔÚÔËÐеķþÎñ³ÌÐò·¢ËÍ HUP ÐźÅÀ´Íê³É£º

# kill -HUP `cat /var/run/mountd.pid`

¡¡¡¡»òÖ¸¶¨Êʵ±µÄ²ÎÊýÀ´ÔËÐÐ mountd rc(8) ½Å±¾£º

# /etc/rc.d/mountd onereload

¡¡¡¡¹ØÓÚʹÓà rc ½Å±¾µÄϸ½Ú£¬ Çë²Î¼û µÚ 11.7 ½Ú¡£

¡¡¡¡ÁíÍ⣬ ÏµÍ³ÖØÆô¶¯¿ÉÒÔÈà FreeBSD °ÑÒ»Çж¼ÅªºÃ¡£ ¾¡¹ÜÈç´Ë£¬ ÖØÆô²»ÊDZØÐëµÄ¡£ ÒÔ root Éí·ÝÖ´ÐÐÏÂÃæµÄÃüÁî¿ÉÒԸ㶨һÇС£

¡¡¡¡ÔÚ NFS ·þÎñÆ÷¶Ë£º

# rpcbind
# nfsd -u -t -n 4
# mountd -r

¡¡¡¡ÔÚ NFS ¿Í»§¶Ë£º

# nfsiod -n 4

¡¡¡¡ÏÖÔÚÿ¼þÊÂÇé¶¼Ó¦¸Ã¾ÍÐ÷£¬ÒÔ±¸¹ÒÔØÒ»¸öÔ¶¶ËÎļþϵͳ¡£ ÔÚÕâЩÀý×ÓÀïÍ·£¬ ·þÎñÆ÷Ãû×Ö½«ÊÇ£ºserver £¬¶ø¿Í»§¶ËµÄÃû×Ö½«ÊÇ£º client¡£ Èç¹ûÄúÖ»´òËãÁÙʱ¹ÒÔØÒ»¸öÔ¶¶ËÎļþϵͳ»òÕßÖ»ÊÇ´òËã×÷²âÊÔÅäÖÃÕýÈ·Óë·ñ£¬ Ö»ÒªÔÚ¿Í»§¶ËÒÔ root Éí·ÝÖ´ÐÐÏÂÃæµÄÃüÁ

# mount server:/home /mnt

¡¡¡¡ÕâÌõÃüÁî»á°Ñ·þÎñ¶ËµÄ /home Ŀ¼¹ÒÔØµ½¿Í»§¶ËµÄ /mnt ÉÏ¡£ Èç¹ûÅäÖÃÕýÈ·£¬ÄúÓ¦¸Ã¿ÉÒÔ½øÈë¿Í»§¶ËµÄ /mnt Ŀ¼²¢ÇÒ¿´µ½ËùÓзþÎñ¶ËµÄÎļþ¡£

¡¡¡¡Èç¹ûÄú´òËãÈÃϵͳÿ´ÎÔÚÖØÆô¶¯µÄʱºò¶¼×Ô¶¯¹ÒÔØÔ¶¶ËµÄÎļþϵͳ£¬°ÑÄǸöÎļþϵͳ¼Óµ½ /etc/fstab ÎļþÀïÍ·È¥¡£ÏÂÃæÊÇÀý×Ó£º

server:/home   /mnt    nfs     rw      0       0

¡¡¡¡ fstab(5) ÊÖ²áÀïÓÐËùÓпÉÓõĿª¹Ø¡£

29.3.3 Ëø

¡¡¡¡Ä³Ð©Ó¦ÓóÌÐò (ÀýÈç mutt) ÐèÒªÎļþÉÏËøÖ§³Ö²ÅÄÜÕý³£ÔËÐС£ ÔÚʹÓà NFS ʱ£¬ ¿ÉÒÔÓà rpc.lockd À´Ö§³ÖÎļþÉÏËø¹¦ÄÜ¡£ ÒªÆôÓÃËü£¬ ÐèÒªÔÚ·þÎñÆ÷ºÍ¿Í»§»úµÄ /etc/rc.conf ÖмÓÈë (¼Ù¶¨Á½¶Ë¾ùÒÑÅäºÃÁË NFS)£º

rpc_lockd_enable="YES"
rpc_statd_enable="YES"

¡¡¡¡È»ºóʹÓÃÏÂÊöÃüÁîÆô¶¯¸Ã³ÌÐò£º

# /etc/rc.d/lockd start
# /etc/rc.d/statd start

¡¡¡¡Èç¹û²¢²»ÐèÒªÕæµÄÔÚ NFS ¿Í»§»úºÍ NFS ·þÎñÆ÷¼äÈ·±£ÉÏËøµÄÓïÒ壬 ¿ÉÒÔÈà NFS ¿Í»§»úÔÚ±¾µØÉÏËø£¬ ·½·¨ÊÇʹÓà mount_nfs(8) ʱָ¶¨ -L ²ÎÊý¡£ Çë²Î¼û mount_nfs(8) Áª»úÊÖ²áÒÔÁ˽â¸ü¶àϸ½Ú¡£

29.3.4 ʵ¼ÊÓ¦ÓÃ

¡¡¡¡NFS Óкܶàʵ¼ÊÓ¦Óá£ÏÂÃæÊDZȽϳ£¼ûµÄһЩ£º

29.3.5 ͨ¹ý amd ×Ô¶¯µØ¹Ò½Ó

Contributed by Wylie Stilwell. Rewritten by Chern Lee.

¡¡¡¡amd(8) (×Ô¶¯¹Ò½Ó·þÎñ) Äܹ»×Ô¶¯µØÔÚ·ÃÎÊʱ¹Ò½ÓÔ¶³ÌµÄÎļþϵͳ¡£ Èç¹ûÎļþϵͳÔÚÒ»¶Îʱ¼äÖ®ÄÚûÓл£¬ Ôò»á±» amd ×Ô¶¯Ð¶Ï¡£ ͨ¹ýʹÓà amd£¬ Äܹ»Ìṩһ¸ö³Ö¾Ã¹Ò½ÓÒÔÍâµÄÑ¡Ôñ£¬ ¶øºóÕßÍùÍùÐèÒªÁÐÈë /etc/fstab¡£

¡¡¡¡amd ͨ¹ý½«×Ô¼ºÒÔ NFS ·þÎñÆ÷µÄÐÎʽ£¬ ¸½¼Óµ½ /host ºÍ /net Ŀ¼ÉÏÀ´¹¤×÷¡£ µ±·ÃÎÊÕâЩĿ¼ÖеÄÎļþʱ£¬ amd ½«²éÕÒÏàÓ¦µÄÔ¶³Ì¹Ò½Óµã£¬ ²¢×Ô¶¯µØ¹Ò½Ó¡£ /net ÓÃÓÚ¹Ò½ÓÔ¶³Ì IP µØÖ·Éϵ¼³öµÄÎļþϵͳ£¬ ¶ø /host ÔòÓÃÓÚ¹Ò½ÓÔ¶³ÌÖ÷»úÃûÉϵÄÎļþϵͳ¡£

¡¡¡¡·ÃÎÊ /host/foobar/usr ÖеÄÎļþ£¬ Ï൱ÓÚ¸æËß amd ³¢ÊÔ¹Ò½ÓÔÚÖ÷»ú foobar Éϵ¼³öµÄ /usr¡£

Àý 29-2. ͨ¹ý amd À´¹Ò½Óµ¼³öµÄÎļþϵͳ

Äú¿ÉÒÔͨ¹ýʹÓà showmount ÃüÁîÀ´²é¿´Ô¶³ÌÖ÷»úÉϵ¼³öµÄÎļþϵͳ¡£ ÀýÈ磬 Òª²é¿´ foobar Éϵ¼³öµÄÎļþϵͳ£¬ ¿ÉÒÔÓãº

% showmount -e foobar
Exports list on foobar:
/usr                               10.10.10.0
/a                                 10.10.10.0
% cd /host/foobar/usr

¡¡¡¡ÈçͬÔÚÇ°ÃæÀý×ÓÖÐËù¿´µ½µÄ£¬ showmount ÏÔʾÁ˵¼³öµÄ /usr¡£ µ±½øÈë /host/foobar/usr Õâ¸öĿ¼ʱ£¬ amd ½«³¢ÊÔ½âÎöÖ÷»úÃû foobar ²¢×Ô¶¯µØ¹Ò½ÓÐèÒªµÄÎļþϵͳµ¼³ö¡£

¡¡¡¡amd ¿ÉÒÔͨ¹ýÆô¶¯½Å±¾À´Æô¶¯£¬ ·½·¨ÊÇÔÚ /etc/rc.conf ÖмÓÈ룺

amd_enable="YES"

¡¡¡¡³ý´ËÖ®Í⣬ »¹¿ÉÒÔ¸ø amd ͨ¹ý amd_flags Ñ¡ÏîÀ´´«µÝ¶îÍâµÄ²ÎÊý¡£ ĬÈÏÇé¿öÏ£¬ amd_flags Ϊ£º

amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"

¡¡¡¡/etc/amd.map Îļþ¶¨ÒåÁ˹ҽӵ¼³öÎļþϵͳʱËùʹÓõÄĬÈÏÑ¡Ïî¡£ /etc/amd.conf Îļþ£¬ Ôò¶¨ÒåÁ˸ü¶à¹ØÓÚ amd µÄ¸ß¼¶¹¦ÄÜÑ¡Ïî¡£

¡¡¡¡Çë²Î¿¼ amd(8) ºÍ amd.conf(5) Áª»úÊֲᣬ ÒÔÁË½â½øÒ»²½µÄÇé¿ö¡£

29.3.6 ÓëÆäËûϵͳ¼¯³ÉʱµÄ³£¼ûÎÊÌâ

Contributed by John Lind.

¡¡¡¡Ä³Ð©Ìض¨µÄ ISA PC ϵͳÉϵÄÒÔÌ«ÍøÊÊÅäÆ÷ÉÏÓÐһЩÏÞÖÆ£¬ ÕâЩÏÞÖÆ¿ÉÄܻᵼÖÂÑÏÖØµÄÍøÂçÎÊÌ⣬ ÌØ±ðÊÇÓë NFS ÅäºÏʹÓÃʱ¡£ ÕâЩÎÊÌâ²¢·Ç FreeBSD ËùÌØÓеģ¬ µ« FreeBSD ϵͳ»áÊܵ½ÕâЩÎÊÌâµÄÓ°Ïì¡£

¡¡¡¡ÕâÑùµÄÎÊÌ⣬ ¼¸ºõ×ÜÊÇÔÚµ± (FreeBSD) PC ϵͳÓë¸ßÐÔÄܵŤ×÷Õ¾£¬ ÀýÈç Silicon Graphics, Inc., ºÍ Sun Microsystems, Inc. µÄ¹¤×÷Õ¾ÁªÍøÊ±·¢Éú¡£ NFS ¹Ò½ÓÄܹ»Õý³£¹¤×÷£¬ ¶øÇÒһЩ²Ù×÷Ò²¿ÉÄܳɹ¦£¬ µ«·þÎñÆ÷»áºÜ¿ì±äµÃ¶Ô¿Í»§»ú²»Ì«Àí»á£¬ ËäÈ»¶ÔÆäËû¿Í»§»úµÄÇëÇóÈÔÈ»Äܹ»Õý³£´¦Àí¡£ ÕâÖÖÇé¿öͨ³£·¢ÉúÔÚ¿Í»§¶Ë£¬ ÎÞÂÛËüÊÇÒ»¸ö FreeBSD ϵͳ»òÊÇÖÕ¶Ë¡£ ÔÚÐí¶àϵͳÉÏ£¬ Ò»µ©·¢ÉúÁËÕâÑùµÄÎÊÌ⣬ ͨ³£Ã»°ì·¨Õý³£µØ¹Ø±Õ¿Í»§»ú¡£ ΨһµÄ°ì·¨Í¨³£ÊÇÈÃÖն˸´Î»£¬ ÒòΪÕâÒ» NFS ×´¿öûÓа취±»½â¾ö¡£

¡¡¡¡¾¡¹Ü ¡°ÕýÈ·µÄ¡± ½â¾ö°ì·¨£¬ ÊÇΪ FreeBSD ϵͳÅ䱸һ¿é¸ßÐÔÄܵġ¢ ÊÊÓõÄÒÔÌ«ÍøÊÊÅäÆ÷£¬ È»¶øÒ²ÓÐ°ì·¨ÈÆ¹ýÎÊÌâ²¢µÃµ½Ïà¶ÔÂúÒâµÄ½á¹û¡£ Èç¹û FreeBSD ϵͳÊÇ ·þÎñÆ÷£¬ ÔòÔÚ¿Í»§»ú¹Ò½Óʱ£¬ Ó¦¸ÃÖ¸¶¨ -w=1024¡£ Èç¹û FreeBSD ϵͳÊÇ ¿Í»§»ú£¬ ÔòÓ¦¼ÓÈë -r=1024 ²ÎÊý¡£ ÕâЩѡÏî¿ÉÒÔͨ¹ýÔÚ¶ÔÓ¦µÄ fstab µÄµÚËĸö×ֶμÓÈ룬 ÒÔ±ãÈÿͻ§»úÄܹ»×Ô¶¯µØ¹Ò½Ó£¬ »òÕßͨ¹ý mount(8) µÄ -o ²ÎÊýÔÚÊÖ¹¤¹Ò½Óʱָ¶¨¡£

¡¡¡¡»¹ÐèҪעÒâµÄÊÇÁíÒ»¸öÎÊÌ⣬ ÓÐʱ»á±»ÎóÈÏΪÊǺÍÉÏÃæÒ»ÑùµÄÎÊÌâ¡£ Õâ¸öÎÊÌâ¶à¼ûÓÚ NFS ·þÎñÆ÷ºÍ¿Í»§»úÔÚ²»Í¬µÄÍøÂçÉÏʱ¡£ Èç¹ûÊÇÕâÖÖÇé¿ö£¬ Ò»¶¨Òª È·¶¨ ÄúµÄ·ÓÉÆ÷ȷʵ°Ñ±ØÐèµÄ UDP ÐÅϢ·Óɵ½ÁËÄ¿µÄµØ£¬ ·ñÔòÄú½«Ê²Ã´Ò²×ö²»ÁË¡£

¡¡¡¡ÏÂÃæµÄÀý×ÓÖУ¬ fastws ÊÇÖ÷»ú (½Ó¿Ú) µÄÃû×Ö£¬ ËüÊÇһ̨¸ßÐÔÄܵÄÖÕ¶Ë£¬ ¶ø freebox ÊÇÁíһ̨Ö÷»ú (½Ó¿Ú) µÄÃû×Ö£¬ ËüÊÇÒ»¸öʹÓýϵÍÐÔÄܵÄÒÔÌ«ÍøÊÊÅäÆ÷µÄ FreeBSD ϵͳ¡£ ͬʱ£¬ /sharedfs ½«±»µ¼³ö³ÉΪ NFS Îļþϵͳ (²Î¼û exports(5))£¬ ¶ø /project ½«Êǿͻ§»úÉϹҽÓÕâÒ»µ¼³öÎļþϵͳµÄ¹Ò½Óµã¡£ ËùÓеÄÓ¦Óó¡¾°ÖУ¬ Çë×¢Ò⸽¼ÓÑ¡Ï ÀýÈç hard »ò soft ÒÔ¼° bg ¿ÉÄÜÊÇÄúµÄÓ¦ÓÃËùÐèÒªµÄ¡£

¡¡¡¡¹ØÓÚ FreeBSD ϵͳ (freebox) ×÷Ϊ¿Í»§»úµÄʾ·¶ /etc/fstab Îļþ£¬ ¼ûÓÚ freebox Ö®ÉÏ£º

fastws:/sharedfs /project nfs rw,-r=1024 0 0

¡¡¡¡ÔÚ freebox ÉÏÊÖ¹¤¹Ò½Ó£º

# mount -t nfs -o -r=1024 fastws:/sharedfs /project

¡¡¡¡ÒÔ FreeBSD ϵͳ×÷Ϊ·þÎñÆ÷µÄÀý×Ó£¬ ÊÇ fastws É쵀 /etc/fstab£º

freebox:/sharedfs /project nfs rw,-w=1024 0 0

¡¡¡¡ÔÚ fastws ÉÏÊÖ¹¤¹Ò½ÓµÄÃüÁîÊÇ£º

# mount -t nfs -o -w=1024 freebox:/sharedfs /project

¡¡¡¡¼¸ºõËùÓÐµÄ 16-λ ÒÔÌ«Íø¿ØÖÆÆ÷£¬ ¶¼Äܹ»ÔÚûÓÐÉÏÊö¶Áд³ß´çÏÞÖÆµÄÇé¿öÏÂÕý³£¹¤×÷¡£

¡¡¡¡¶ÔÓÚÄÇЩ¹ØÐĵ½µ×ÊÇʲôÎÊÌâµÄÈË£¬ ÏÂÃæÊÇʧ°ÜÈçºÎ·¢ÉúµÄ½âÊÍ£¬ ͬʱÕâҲ˵Ã÷ÁËΪʲôÕâÊÇÒ»¸öÎÞ·¨»Ö¸´µÄÎÊÌâ¡£ µäÐÍÇé¿öÏ£¬ NFS »áʹÓÃÒ»¸ö ¡°¿é¡± Ϊµ¥Î»½øÐвÙ×÷£¬ Æä³ß´çÊÇ 8 K (ËäÈ»Ëü¿ÉÄܻὫ²Ù×÷·Ö³É¸üС³ß´çµÄ·ÖƬ)¡£ ÓÉÓÚ×î´óµÄÒÔÌ«Íø°ü³ß´ç´óÔ¼ÊÇ 1500 ×Ö½Ú£¬ Òò´Ë NFS ¡°¿é¡± »á·Ö³É¶à¸öÒÔÌ«Íø°ü£¬ ËäÈ»ÔÚ¸ü¸ß²ãµÄ´úÂë¿´À´ËüÈÔÈ»ÊÇÒ»¸öÍêÕûµÄµ¥Ôª£¬ ²¢ÔÚ½ÓÊÕ·½ÖØÐÂ×é×°£¬ ×÷Ϊһ¸öÕûÌåÀ´ È·ÈÏ¡£ ¸ßÐÔÄܵŤ×÷Õ¾£¬ ¿ÉÒÔ½«¹¹³É NFS µ¥ÔªµÄ°üѸËÙ·¢³ö£¬ Æä½Ú×à»á¿ìµ½±ê×¼ÔÊÐíµÄ×î´óÏÞ¶È¡£ ÔÚÈÝÁ¿½ÏСµÄ¿¨ÉÏ£¬ ºóÀ´µÄ°ü»á³åµôͬһµ¥ÔªÄڵĽÏÔçµÄ°ü£¬ Òò¶øÕû¸öµ¥ÔªÎÞ·¨±»Öؽ¨»òÈ·ÈÏ¡£ Æä½á¹ûÊÇ£¬ ¹¤×÷Õ¾½«³¬Ê±²¢ÖØÊÔ£¬ µ«ÈÔÈ»ÊÇÍêÕûµÄ 8 K µ¥Ôª£¬ ÕâÒ»¹ý³Ì½«ÎÞÐÝÖ¹µØÖظ´ÏÂÈ¥¡£

¡¡¡¡Èç¹û½«µ¥Ôª³ß´çÏÞÖÆÔÚÒÔÌ«Íø°ü³ß´ç֮ϣ¬ ÎÒÃǾÍÄܹ»È·±£Ã¿Ò»¸öÒÔÌ«Íø°ü¶¼Äܹ»±»¶ÀÁ¢µØ½ÓÊÕºÍÈ·ÈÏ£¬ ´Ó¶ø±ÜÃâÁËÉÏÃæµÄËÀËøÇéÐΡ£

¡¡¡¡Òç³öÔÚ¸ßÐÔÄܹ¤×÷Õ¾½«Êý¾Ý¿âͶÏò PC ϵͳʱÈԻᷢÉú£¬ µ«ÔÚ¸üºÃµÄÍø¿¨ÉÏ£¬ Äܹ»±£Ö¤ÕâÀàÒç³ö²»»áÔÚÿһ¸ö NFS ¡°µ¥Ôª¡± É϶¼·¢Éú¡£ µ±³öÏÖÒç³öʱ£¬ ±»Ó°ÏìµÄµ¥Ôª±»ÖØ´«£¬ Òò¶ø´ËʱÓкܴóµÄ»ú»áËü½«±»ÕýÈ·½ÓÊÕ¡¢ ÖØ×飬 ²¢È·ÈÏ¡£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.