3.3. Networking

3.3.1. »ç¼³ ³×Æ®¿öÅ© ±¸Ãà

»ç¼³ ³×Æ®¿öÅ©¸¦ ±¸ÃàÇÏ´Â ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù.

3.3.2. °ü¸®³ëµå ¼Â¾÷

OS ¼³Ä¡°¡ ³¡³µ´Ù¸é ¸ðµç ³ëµå¿¡¼­ ÀÛ¾÷ÇÒ¼ö ÀÖ´Â ÀÏ¹Ý À¯Àú °èÁ¤À» Çϳª ¸¸µéÀÚ. ½ÇÁ¦ °èÁ¤À̸§Àº ¾î¶°ÇÑ °ÍÀÌµç »ó°ü¾ø´Ù.

[root@master root]# useradd -d /home/share micro
[root@master root]# passwd micro

Ŭ·¯½ºÅÍ ³ëµå°£ ³×Æ®¿öÅ© ¼¼ÆÃÀ» ÇÑ´Ù. ÇÊÀÚÀÇ ¿¬±¸½Ç ³»ºÎ ³×Æ®¿÷Àº »ç¼³¸ÁÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. µû¶ó¼­ °ü¸®³ëµå ÀÇ IP ÁÖ¼Ò´Â Á¢¼Ó°¡´ÉÇÑ (³»ºÎ ³×Æ®¿÷¿¡¼­ °ü¸®³ëµå·Î) ip ÁÖ¼Ò¿©¾ß ÇÑ´Ù. ¿©±â¼­ ÁÖ¾îÁö´Â ip ÁÖ¼Ò´Â ÇÊÀÚÀÇ È¯°æ¿¡ ¸Â°Ô ¼¼ÆÃµÈ °Í ÀÌ¸ç ½ÇÁ¦·Î´Â ¾î¶°ÇÑ °ªÀÌ ÁÖ¾îÁ®µµ »ó°ü¾ø´Ù.

[root@master root]# /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:E0:81:20:07:84
inet addr:10.1.1.1  Bcast:10.1.1.255  Mask:255.255.255.0
eth0:0    Link encap:Ethernet  HWaddr 00:E0:81:20:07:85
inet addr:192.168.0.64 Bcast:192.168.0.255 Mask:255.255.255.0
eth1      Link encap:Ethernet  HWaddr 00:E0:81:20:07:85
inet addr:10.1.2.1  Bcast:10.1.2.255  Mask:255.255.255.0
	   

eth0 ÀÇ 10.1.1.0~254 C class »ç¼³ IP ´ë¿ªÀº ³ëµå°£ NFS ¸¦ À§ÇÑ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ÀÌ´Ù. ¸ðµç ³ëµå´Â eh0 ¸¦ ÅëÇØ NFS ¼­ºñ½º¸¦ ÁÖ°í ¹ÞÀ» °ÍÀÌ´Ù. eth0:0 Àº ÇÊÀÚ°¡ ÀÓÀÇ·Î ¸¶½ºÄ¿·¹À̵ùÀ» ÅëÇØ °¡»ó IP ¸¦ ÁذÍÀÌ¸ç ³»ºÎ ȤÀº ¿ÜºÎ »ç¿ëÀÚ ³×Æ®¿÷ ȯ°æ¿¡¼­ Á¢¼ÓÇÒ IP ÁÖ¼Ò¸¦ ¼¼ÆÃÇÑ´Ù. ¸ðµç »ç¿ëÀÚ ¹× °ü¸®ÀÚ´Â °ü¸®³ëµåÀÇ eth0:0 ÀÇ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ·Î Á¢¼Ó ÇÒ°ÍÀÌ´Ù. eth1 ÀÇ 10.1.2.0 ~ 254 C class »ç¼³ IP ´ë¿ªÀº °è»êÀÛ¾÷ ¿ë Åë½ÅÀ» À§ÇÑ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ÀÌ´Ù. °ü¸®¿ë, NFS ¿ë Åë½Å¸Á°ú ³í¸®ÀûÀ¸·Î ºÐ¸®¸¦ ½ÃÄÑ µ¶¸³ÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϵµ·Ï ÇÑ´Ù. ÇÑÆí ¶ó¿ìÆÃÀº ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. netconfg ¸í·ÉÀ̳ª xwindow »ó¿¡¼­ netcfg ¸í·ÉÀ¸·Î ¼³Á¤ÇÒ¼ö ÀÖ´Ù.

[root@master root]# /sbin/route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *              	255.255.255.0   U     0      0        0 eth0
10.1.1.0        *               255.255.255.0   U     0      0        0 eth0
10.1.2.0        *               255.255.255.0   U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         your.gateway   	0.0.0.0         UG    0      0        0 eth0
	   

/etc/hosts ÆÄÀÏÀ» ÆíÁý ÇÑ´Ù. Ŭ·¯½ºÅ͸¦ ÀÌ·ç°í ÀÖ´Â °¢³ëµåÀÇ ÁÖ¼Ò¿Í À̸§À» Á¤ ÀÇ ÇØÁØ´Ù. À̰ÍÀº °ü¸®³ëµå¿Í ¸ðµç ÄÄÇ»ÆÃ ³ëµå¿¡ µ¿ÀÏÇÏ°Ô ¼³Á¤ÇØ ÁØ´Ù.

[root@master root]# vi /etc/hosts
# °¢ node ¿ë ip ´ë¿ª
10.1.2.1        node00          master
10.1.2.2        node01
10.1.2.3        node02
10.1.2.4        node03
10.1.2.5        node04
10.1.2.6        node05
10.1.2.7        node06
127.0.0.1       localhost
# NFS ¿ë IP ´ë¿ª
10.1.1.1	nfsserver
10.1.1.2	nfs01
10.1.1.3	nfs02
10.1.1.4	nfs03
10.1.1.5	nfs04
10.1.1.6	nfs05
10.1.1.7	nfs06
	   

°øÀ¯µð·ºÅ丮 ¸¦ ¼³Á¤ ÇÑ´Ù. ¿©±â¼± /home/share ¸¦ °øÀ¯µð·ºÅ丮·Î ¼³Á¤ÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ /etc/exports ÆÄÀÏÀ» ÆíÁýÇÏÀÚ.

[root@master root]# cat /etc/exports
/home/share     *(rw)
	   

±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÏ¿© nfs ¼­¹ö¸¦ ´Ù½Ã ½ÃÀÛÇØÁÖÀÚ.

[root@master root]# /etc/rc.d/init.d/nfs restart
	   

¸¶½ºÅÍ ³ëµå¿¡ nfs µ¥¸óÀÌ Á¦´ë·Î ¶°ÀÖ´ÂÁö È®ÀÎÇØ º¸ÀÚ. ¾Æ·¡¿Í ºñ½ÁÇÏ°Ô ³ª¿Í¾ß ÇÑ´Ù.

[root@master root]# ps -auex | grep nfs
root      4633  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4634  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4635  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4636  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4637  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4638  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4639  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
root      4640  0.0  0.0     0    0 ?        SW   May01   0:00 [nfsd]
	   

nfs µ¥¸óÀÌ ¶°ÀÖÁö ¾Ê´Ù¸é nfs ´Â RPC(Remote Procedure Call) À» »ç¿ëÇϱ⠶§¹®¿¡ Æ÷Æ®¸ÅÆÛ (Port mapper) ¶ó´Â µ¥¸óÀÌ ¸ÕÀú ¶°ÀÖ¾î¾ß ÇÑ´Ù. À̸¦ È®ÀÎÇØ º¸ÀÚ.

[root@master root]# rpcinfo -p
program vers proto   port
100000    2   tcp    111  portmapper
100000    2   udp    111  portmapper
¡¦¡¦¡¦
	   

ÀÌ µ¥¸óÀÌ ¶° ÀÖÁö ¾Ê´Ù¸é ´ÙÀ½°ú °°Àº ¸í·ÉÀ» »ç¿ëÇÏ¿© portmapper ¸¦ ¸ÕÀú ¶ç¿ì°í nfs ¸¦ Àç½ÃÀÛ ÇØº¸ÀÚ.

[root@master root]# /etc/rc.d/init.d/portmap start
	   

À§ µÎ°¡Áö ¸ðµÎ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÑ´Ù¸é nfs °¡ Á¦´ë·Î µ¿ÀÛ ÇÒ°ÍÀÌ´Ù. ±×·¯³ª ±×·¸ Áö ¾Ê´Ù¸é nfs °¡ Ä¿³Î¿¡¼­ Áö¿øµÇÁö ¾Ê´Â °æ¿ìÀϼö ÀÖ´Ù. À̸¦ À§Çؼ­´Â Ä¿³Î ÄÄ ÆÄÀÏÀ» ÇØÁÖ¾î¾ß ÇÑ´Ù. Ä¿³Î ÄÄÆÄÀϽà nfs °ü·Ã ¿É¼ÇµéÀ» ¸ðµÎ Ä¿³Î¿¡ Æ÷ÇÔ ½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù. À̰ÍÀº Ä¿³Î ÄÄÆÄÀÏ¿¡ Àͼ÷ÇÑ »ç¿ëÀÚ ¶ó¸é º° ¾î·Á¿òÀÌ ¾ø°ÚÁö¸¸ ±× ·¸Áö ¾ÊÀº »ç¿ëÀÚ¶ó¸é KLDP homepage¿¡¼­ "kernel compile" À̶ó´Â °Ë»ö¾î·Î °Ë»öÇÏ¸é ¸¹Àº ¹®¼­¸¦ ãÀ»¼ö ÀÖÀ»°ÍÀÌ´Ù. À̸¦ Âü°íÇÏÀÚ. Ä¿³Î ÄÄÆÄÀÏ ¿É¼Ç¿¡¼­ FileSystem -> Network File Systems a NFS °ü·ÃµÈ ¿É¼ÇÀº ¸ðµÎ ¼±ÅÃÀ» Çϰí ÄÄÆÄÀÏ À» ÇÑ´Ù. Ä¿³Î ÄÄÆÄÀÏÀ» ¸¶ÃÆÀ¸¸é Ä¿³Î°ú ¸ðµâµéÀ» ÀûÀçÇϰí ÀçºÎÆÃ ÇÑÈÄ nfs ¸¦ ´Ù½Ã ½ÃÀÛ ÇØ º¸ÀÚ.

ÀÌ»óÀÌ ¾øÀ¸¸é rsh À» Çã°¡ÇÑ´Ù. Ŭ·¯½ºÅÍ ³»ÀÇ ¸ðµç ³ëµåµé°£¿¡ rsh ÀÌ °¡´ÉÇϵµ ·Ï ¼¼ÆÃÇØ¾ß ÇÑ´Ù. À̰ÍÀº º´·Ä ¶óÀ̺귯¸® ÀÇ ÇϳªÀÎ MPI (Message Passing Interface) °¡ Á¤»óÀÛµ¿Çϱâ À§ÇØ ÇÊ¿äÇÏ´Ù. rsh °ü·Ã ¼¼ÆÃÀº °ü¸® ³ëµå¿Í ÄÄÇ»ÆÃ ³ëµå¿¡ µ¿ÀÏÇÏ°Ô ¼³Á¤ÇØ Áà¾ß¸¸ ÇÑ´Ù. /etc/xinetd.d µð·ºÅ丮 ¿¡¼­ rsh , rlogin, rexec µîÀÇ ÆÄÀÏÀ» ÆíÁýÇÑ´Ù.

[root@master root]# vi /etc/xinetd.d/rsh
service shell
	{
        disable = no
	socket_type = stream
	...
	  

À§¿Í °°ÀÌ disable ¶õÀ» no ·Î ¹Ù²ãÁÖÀÚ. ÇØ´ç ÆÄÀÏÀ» ¸ðµÎ ¼öÁ¤ÇßÀ¸¸é xinetd µ¥ ¸óÀ» Àç½ÃÀÛ Çϸé Àû¿ëÀÌ µÈ´Ù.

[root@master root]# /etc/rc.d/init.d/xinetd restart
	  

ÀÌÁ¦ ¾î¶² ÄÄÇ»ÅÍ µéÀÌ Àڽſ¡°Ô rsh ÀÌ °¡´ÉÇϵµ·Ï Çã°¡ÇÒÁö¸¦ Á¤ÀÇÇØ Áà¾ß ÇÑ´Ù. °ü·Ã ÆÄÀÏÀº .rhosts ÆÄÀÏ¿¡ Àû¿ëÇÏ´Â ¹ý°ú /etc/hosts.equiv ÆÄÀÏ¿¡ Àû¿ëÇϴ¹ý ÀÌ Àִµ¥ ¿©±â¼­´Â /etc/hosts.equiv ¿¡ Àû¿ëÇϵµ·Ï ÇϰڴÙ.

[root@master root]# cat /etc/hosts.equiv
master node00
node01
node02
node03
node04
node05
node06
	  

/etc/hosts.equiv ÆÄÀÏÀÌ ¾øÀ¸¸é ¸¸µé°í À§¿Í °°ÀÌ È£½ºÆ® ³×ÀÓÀ» Àû¾îÁÖÀÚ. ´ÙÀ½Àº root À¯Àú°¡ rsh À» ÀÌ¿ëÇÏ¿© ·Î±×ÀÎ ÇÒ¼ö ÀÖµµ·Ï /etc/securetty ÆÄÀÏÀ» ¼öÁ¤ÇØ ÁÖµµ·Ï ÇÑ´Ù.

[root@master root]# vi /etc/securetty
vc/1
vc/2
vc/3
¡¦¡¦
tty1
tty2
¡¦¡¦
rsh
rexec
rlogin
	  

À§¿Í °°ÀÌ ¸¶Áö¸· ¶óÀο¡ rsh °ü·Ã ¸í·ÉÀ» Ãß°¡ ½ÃŲ´Ù. ´ÙÀ½À¸·Î ³ëµå°£ rsh , rlogin ½Ã ÆÐ½º¿öµå ÁúÀÇ ÀýÂ÷¸¦ »ý·«Çϱâ À§Çؼ­ /etc/pam.d µð·ºÅ丮ÀÇ rsh, rlogin, rexec ÆÄÀÏÀ» ¼öÁ¤ÇØÁÖÀÚ.

	  [root@master root]# vi /etc/pam.d/rsh
#%PAM-1.0
auth       sufficient   /lib/security/pam_nologin.so
auth       sufficient   /lib/security/pam_securetty.so
auth       sufficient     /lib/security/pam_env.so
auth       sufficient     /lib/security/pam_rhosts_auth.so
account    sufficient   /lib/security/pam_stack.so service=system-auth
session    sufficient   /lib/security/pam_stack.so service=system-auth
[root@master root]# vi /etc/pam.d/rlogin
#%PAM-1.0
# For root login to succeed here with pam_securetty, "rlogin" must be
# listed in /etc/securetty.
auth       sufficient   /lib/security/pam_nologin.so
auth       sufficient   /lib/security/pam_securetty.so
auth       sufficient     /lib/security/pam_env.so
auth       sufficient   /lib/security/pam_rhosts_auth.so
auth       sufficient   /lib/security/pam_stack.so service=system-auth
account    sufficient   /lib/security/pam_stack.so service=system-auth
password   sufficient   /lib/security/pam_stack.so service=system-auth
session    sufficient   /lib/security/pam_stack.so service=system-auth
[root@master root]# vi /etc/pam.d/rexec 
#%PAM-1.0
# For root login to succeed here with pam_securetty, "rexec" must be
# listed in /etc/securetty.
auth       sufficient   /lib/security/pam_nologin.so
auth       sufficient   /lib/security/pam_securetty.so
auth       sufficient     /lib/security/pam_env.so
auth       sufficient   /lib/security/pam_stack.so service=system-auth
account    sufficient   /lib/security/pam_stack.so service=system-auth
session    sufficient   /lib/security/pam_stack.so service=system-auth
	  

¼öÁ¤À» ³¡¸¶ÃÆÀ¸¸é xinetd µ¥¸óÀ» Àç½ÃÀÛ ÇÑ´Ù.

	  [root@master root]# /etc/rc.d/init.d/xinetd restart
	  

3.3.3. ÄÄÇ»ÆÃ³ëµå ¼Â¾÷

°ü¸®³ëµå¿Í ¸¶Âù°¡Áö·Î ¸®´ª½º¸¦ ¼³Ä¡Çϵµ·Ï ÇÏÀÚ ±×¸®°í °¢ »ç¿ëÀÚ´Â ¸ðµç ³ëµå¿¡ µ¿ÀÏÇÑ °èÁ¤À» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ±ÇÀåÇÏ´Â ¹æ¹ýÀº °ü¸®³ëµåÀÇ /etc/passwd, /etc/passwd- ÆÄÀϰú /etc/shadow, /etc/shadow- ÆÄÀϵé, /etc/group , /etc/group- ÆÄÀϵéÀ» ¸ðµç ³ëµå¿¡ Ä«ÇÇ ÇÏ´Â °ÍÀÌ´Ù. ÀÌ·Î½á °ü¸®³ëµå¿¡¼­ Ãß°¡ÇÑ À¯Àú°èÁ¤ µéÀ» ¸ðµç ³ëµå¿¡¼­ »ç¿ëÇÒ¼ö ÀÖ°Ô µÇ¾ú´Ù. ´ÙÀ½Àº ³×Æ®¿öÅ© ¼³Á¤¿¡ µé¾î°¡º¸ÀÚ. ÀüüÀûÀÎ ¼³Á¤Àº °ü¸®³ëµå¿Í Å©°Ô ´Ù¸¦¹Ù°¡ ¾ø´Ù.

           [root@node01 root]# /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:E0:81:20:07:84
inet addr:10.1.1.2 Bcast:10.1.1.255  Mask:255.255.255.0
eth1      Link encap:Ethernet  HWaddr 00:E0:81:20:07:85
inet addr:10.1.2.2  Bcast:10.1.2.255  Mask:255.255.255.0
           

eth0 ÀÇ 10.1.1.0~254 C class »ç¼³ IP ´ë¿ªÀº ³ëµå°£ NFS ¸¦ À§ÇÑ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ÀÌ´Ù. ¸ðµç ³ëµå´Â eh0 ¸¦ ÅëÇØ NFS ¼­ºñ½º¸¦ ÁÖ°í ¹ÞÀ» °ÍÀÌ´Ù. eth1 ÀÇ 10.1.2.0 ~ 254 C class »ç¼³ IP ´ë¿ªÀº °è»êÀÛ¾÷ ¿ë Åë½ÅÀ» À§ÇÑ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º ÀÌ´Ù. °ü¸®¿ë °ú NFS ¿ë Åë½Å¸Á°ú ³í¸®ÀûÀ¸·Î ºÐ¸®¸¦ ½ÃÄÑ µ¶¸³ÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÑ´Ù. ÇÑÆí ¶ó¿ìÆÃÀº ¾Æ·¡¿Í °°ÀÌ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ±âº» °ÔÀÌÆ®¿þÀÌ ´Â °ü¸® ³ëµå°¡ µÈ´Ù. netconfg ¸í·ÉÀ̳ª xwindow »ó¿¡¼­ netcfg ¸í·ÉÀ¸·Î ¼³Á¤ÇÒ¼ö ÀÖ´Ù.

	   [micro@node01 share]$ /sbin/route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.1.0        *               255.255.255.0   U     0      0        0 eth0
10.1.2.0        *               255.255.255.0   U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
default         node00          0.0.0.0         UG    0      0        0 eth1
	   

etc/hosts ÆÄÀÏÀ» ÆíÁý ÇÑ´Ù. Ŭ·¯½ºÅ͸¦ ÀÌ·ç°í ÀÖ´Â °¢³ëµåÀÇ ÁÖ¼Ò¿Í À̸§À» Á¤ÀÇ ÇØÁØ´Ù. À̰ÍÀº °ü¸®³ëµå¿Í ¸ðµç ÄÄÇ»ÆÃ ³ëµå¿¡ µ¿ÀÏÇÏ°Ô ¼³Á¤ÇØ ÁØ´Ù.

[root@master root]# vi /etc/hosts
# °¢ node ¿ë ip ´ë¿ª
10.1.2.1        node00          master
10.1.2.2        node01
10.1.2.3        node02
10.1.2.4        node03
10.1.2.5        node04
10.1.2.6        node05
10.1.2.7        node06
127.0.0.1       localhost
# NFS ¿ë IP ´ë¿ª
10.1.1.1		nfsserver
10.1.1.2		nfs01
10.1.1.3		nfs02
10.1.1.4		nfs03
10.1.1.5		nfs04
10.1.1.6		nfs05
10.1.1.7		nfs06
	   

°øÀ¯µð·ºÅ丮 ¸¦ ¼³Á¤ ÇÑ´Ù. ¿©±â¼± /home/share ¸¦ °øÀ¯µð·ºÅ丮·Î ¼³Á¤ÇÑ´Ù. ÀÌ¹Ì °ü¸®³ëµå ¿¡¼­´Â ¸ðµç node °¡ °ü¸®³ëµå ÀÚ½ÅÀÇ /home/share ¸¦ ¸¶¿îÆ® Çϴ°ÍÀ» Çã¶ôÇß´Ù. µû¶ó¼­ ÄÄÇ»ÆÃ ³ëµå ¿¡¼­´Â °ü¸®³ëµåÀÇ /home/share °ø°£À» /etc/fstab ¿¡ Ãß°¡ÇØ ÁÖµµ·Ï ÇÏÀÚ.

	   [root@node01 /]# vi /etc/fstab
¡¦¡¦¡¦¡¦
node00:/home/share      /home/share             nfs     bg,intr,noac    0 0
	   

°ü¸®³ëµå node00 ÀÇ /home/share ¸¦ ÀÚ½ÅÀÇ /home/share ·Î ¸¶¿îÆ® ÇÏ ´Â ¸í·ÉÀÌ´Ù. ÆÄÀϽýºÅÛÀº nfs À̰í nfs ¸¶¿îÆÃ ¿É¼ÇÀº bg, intr, noac À¸ ·Î ¼¼ÆÃ ÇØÁØ´Ù. bg ´Â ¸¸¾à ù¹øÂ° NFS ¸¶¿îÆ® ½Ãµµ°¡ ŸÀӾƿô¿¡ °É¸®¸é ¹é±×¶ó¿îµå ¿¡¼­ ½ÇÇàÀ» °è¼ÓÇÑ´Ù. noac ¿É¼ÇÀº ¹Ýµå½Ã ¼³Á¤ÇØÁà¾ß ÇÑ´Ù. MPI ¶óÀ̺귯¸® (ƯÈ÷ MPICH) ¿¡¼­ NFS V3 ¿Í I/O °ü·Ã Ãæµ¹ ¹®Á¦°¡ ¸®Æ÷ÆÃ µÇ¾ú´Âµ¥, °ü·Ã ¹ö±×¸¦ ¸·±â À§ÇØ noac ¿É¼ÇÀÌ ÇÊ¿äÇÏ´Ù. À̰ÍÀº NFS ÀÇ ¼Ó¼º ij½¬¸¦ ÇØÁ¦ÇÏ´Â °ÍÀ¸·Î ¼­¹ö È¿À²À» ¶³¾î¶ß¸®±â´Â ÇÏÁö¸¸ µÎ°³ÀÇ ´Ù¸¥ NFS Ŭ¶óÀÌ¾ðÆ®·Î ÇÏ¿©±Ý ¼­¹ö»óÀÇ °øÅë ÆÄÀÏ ½Ã½ºÅÛ¿¡ ¾²±â ÀÛ¾÷À» ÇÒ¶§ ÁÁÀº È¿À²À» ¾òÀ»¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌÁ¦ /home/share °øÀ¯µð·ºÅ丮 ¸¦ ¸¶¿îÆÃ ÇØº¸ÀÚ.

	   [root@node01 /]# mount -t nfs node00:/home/share /home/share
	   

ÀÌ»ó¾øÀÌ ¸¶¿îÆÃÀÌ µÇ¾úÀ¸¸é rsh ¼Â¾÷¿¡ µé¾î°¡µµ·Ï ÇÑ´Ù. rsh ¼¼ÆÃÀº ±â º»ÀûÀ¸·Î °ü¸®³ëµå¿Í ´Ù¸£Áö ¾Ê´Ù. rsh °ü·Ã ¼Â¾÷ÀÌ ¿Ï·á µÇ¾úÀ¸¸é ÀÌÁ¦ °¢ È£½ºÆ® °£¿¡´Â rsh ¸í·ÉÀÌ °¡´ÉÇØ Áú °ÍÀÌ´Ù. ´ÙÀ½Àº rsh ÀÌ Á¤»óÀûÀ¸·Î µ¿ÀÛ ÇÏ´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÑ´Ù. °ü¸® ³ëµå¿¡¼­ ÄÄÇ»ÆÃ ³ëµå·Î rsh ÀÌ µÇ´ÂÁö È®ÀÎÇØ º¸ÀÚ.

	   [micro@master micro]$ rsh node01
Last login: ¡¦¡¦¡¦
[micro@node01 micro]$
	   

ÄÄÇ»ÆÃ ³ëµå¿¡¼­ °ü¸®³ëµå·Î rsh ÀÌ µÇ´ÂÁö È®ÀÎÇØ º¸ÀÚ.

	   [micro@node01 micro]$ rsh master
Last login: ¡¦¡¦¡¦
[micro@master micro]$
	   

3.3.4. ½Ã°£ µ¿±âÈ­

Ŭ·¯½ºÅÍ °£ ½Ã°£À» µ¿±âÈ­ ÇÑ´Ù´Â°Ç ¸Å¿ì Áß¿äÇÑ ÀÏÀÌ´Ù. ¾î¶°ÇÑ ÀÌÀ¯°¡ ÀÖ´õ¶óµµ Ŭ·¯½ºÅͰ£¿¡ ½Ã°£À» ¸ÂÃçÁà¾ß ÇÑ´Ù. ¸ðµç ½Ã½ºÅÛÀÇ ½Ã°¢À» ÇöÀç½Ã°¢À¸·Î ¸ÂÃá´Ù. ±× ´ÙÀ½ ±× ½Ã°¢À» CMOS ½Ç½Ã°£ ½Ã°£À¸·Î "hwclock -w" À» ÀÌ¿ë º¯°æÇÑ´Ù. ½Ã°£µ¿±âÈ­ÀÇ ÁÁÀº ÆÐŰÁöÁß Çϳª´Â ¼öÇÐÀÚ Ãâ½ÅÀÎ D.J.Bernstein ÀÌ ¸¸µç clockspeed °¡ ÀÖ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½¿¡¼­ È®ÀÎÇÒ¼ö ÀÖ´Ù. http://cr.yp.to/clockspeed.html ȤÀº http://kldp.org/~eunjea/clockspeed.php À§ÀÇ url ¿¡¼­ clockspeed ¼Ò½º¸¦ ´Ù¿î·Îµå ÇÑ´Ù.

[root@master opt]# wget http://cr.yp.to/clockspeed/clockspeed-0.62.tar.gz
¡¦¡¦¡¦¡¦¡¦¡¦
[root@master opt]# tar xzf clockspeed-0.62.tar.gz
[root@master opt]# cd clockspeed-0.62
[root@master opt]# make
[root@master opt]# make setup check
	   

ÆÄÀϵéÀº /usr/local/clockspeed ¿¡ ¼³Ä¡µÈ´Ù. ½ÇÇàÆÄÀϵéÀº /usr/local/clockspeed/bin ¿¡ ¼³Ä¡µÇ¹Ç·Î »ç¿ëÀÚÀÇ $PATH ¿¡ Ãß°¡ÇØ ÁÖµµ·Ï ÇÑ´Ù. ´ÙÀ½Àº ½ÇÁ¦ µ¿±âÈ­ ÇÏ´Â °úÁ¤ÀÌ´Ù. ¸ÕÀú ntp ¼­¹ö¿Í Ŭ·¯½ºÅͼ­¹ö ¿ÍÀÇ ½Ã°£ µ¿±âÈ­¸¦ ÇÑ´Ù. ¿©±â¼­´Â ntp ¼­¹ö·Î ntp.nasa.gov ¸¦ ÀÌ¿ëÇß´Ù.

[root@master /]# nslookup 
¡¦¡¦¡¦¡¦¡¦¡¦¡¦
> ntp.nasa.gov
¡¦¡¦¡¦¡¦¡¦¡¦¡¦
Non-authoritative answer:
ntp.nasa.gov    canonical name = ntp-nasa.arc.nasa.gov.
Name:   ntp-nasa.arc.nasa.gov
Address: 198.123.30.132   ©¬----- ntp ¼­¹ö ÁÖ¼Ò
[root@master /]# sntpclock 198.123.30.132 | clockadd 
	   

ÀÌÁ¦ ntp ¼­¹ö¿Í Ŭ·¯½ºÅÍ ¿ÍÀÇ ½Ã°£À» µ¿±âÈ­ Çß´Ù. ÀÌÁ¦´Â Á»Àü¿¡ ntp ¼­¹ö¿Í µ¿±âÈ­¸¦ ¸ÂÃá master ¼­¹ö¿Í ³ª¸ÓÁö Ŭ·¯½ºÅÍµé °£ÀÇ µ¿±âÈ­ ÀÛ¾÷À» Çϵµ·Ï ÇÏÀÚ. µ¿±âÈ­ÀÇ ±âÁØÀÌ µÇ´Â ¼­¹ö´Â master ¼­¹ö ÀÌ´Ù. ±âº»ÀûÀÎ ½ÇÇàÀº master ¼­¹ö¿¡¼­ taiclockd ¼­¹ö µ¥¸óÀ» ½ÇÇà½ÃÄÑ ÁÖ°í ³ª¸ÓÁö ¼­¹ö¿¡¼­ taiclock Ŭ¶óÀÌ¾ðÆ® ¸¦ »ç¿ëÇÏ¿© µ¿±âÈ­ ¸¦ ½ÃÄÑÁÖ´Â ¹æ½ÄÀÌ´Ù.

[micro@master /]$ taiclockd &   ©¬--- master ¼­¹ö (root ±ÇÇÑÀ¸·Î ½ÇÇàÇÏÁö ¾Ê¾Æµµ µÊ)
[micro@node01 /]$ taiclock 10.1.2.1 > /tmp/adjust   ©¬--- Ŭ¶óÀÌ¾ðÆ® ¼­¹ö
[micro@node01 /]$ clockview < /tmp/adjust  ©¬-- ½Ã°£Â÷ È®ÀÎ
before: 2003-05-06 10:50:05.824066000000000000
after:  2003-05-06 10:50:32.290600000000000000
	   

¾à 23ÃÊ Á¤µµ Â÷À̰¡ ³ª°í ÀÖ´Ù. ½Ã°£À» ¸ÂÃçÁÖÀÚ.

[micro@node01 /]$ clockadd < /tmp/adjust 
[root@node01 /]# /sbin/hwclock -w 
	   

À§ÀÇ °úÁ¤À» Ŭ·¯½ºÅÍ ½Ã½ºÅÛ ¿¡¼­ Á¤±âÀûÀ¸·Î ½ÇÇàÇÏ¸é µÈ´Ù. ÇÊÀÚ´Â master ¼­¹ö ¿¡ ´ÙÀ½°ú °°ÀÌ shell script ¸¦ ¸¸µé¾î cron À» »ç¿ëÇÏ¿© Á¤±âÀûÀ¸·Î Ŭ·¯½ºÅͰ£ ½Ã°£À» µ¿±âÈ­ Çϰí ÀÖ´Ù.

[root@master bin]# vi /root/bin/sync_nodes_time.sh
#!/bin/sh

#
# First, correct time of this machine
#
/usr/local/clockspeed/bin/sntpclock 198.123.30.132 | \ 
/usr/local/clockspeed/bin/clockadd 
/sbin/hwclock -w 
#
# Next, sync time of each nodes
#

echo Start taiclockd ...
/usr/local/clockspeed/bin/taiclockd &

echo Correct time of node01
rsh node01 '/usr/local/clockspeed/bin/taiclock 10.1.3.1 > /tmp/adjust ; \
                /usr/local/clockspeed/bin/clockadd < /tmp/adjust; \
                /sbin/hwclock -w'
echo Correct time of node02
rsh node02 '/usr/local/clockspeed/bin/taiclock 10.1.3.1 > /tmp/adjust ; \
                /usr/local/clockspeed/bin/clockadd < /tmp/adjust; \
                /sbin/hwclock -w'
echo Correct time of node03
rsh node03 '/usr/local/clockspeed/bin/taiclock 10.1.3.1 > /tmp/adjust ; \
                /usr/local/clockspeed/bin/clockadd < /tmp/adjust; \
                /sbin/hwclock -w'
echo Correct time of node04
rsh node04 '/usr/local/clockspeed/bin/taiclock 10.1.3.1 > /tmp/adjust ; \
                /usr/local/clockspeed/bin/clockadd < /tmp/adjust; \
                /sbin/hwclock -w'
echo Correct time of node05
rsh node05 '/usr/local/clockspeed/bin/taiclock 10.1.3.1 > /tmp/adjust ; \
                /usr/local/clockspeed/bin/clockadd < /tmp/adjust; \
                /sbin/hwclock -w'
echo Correct time of node06
rsh node06 '/usr/local/clockspeed/bin/taiclock 10.1.3.1 > /tmp/adjust ; \
                /usr/local/clockspeed/bin/clockadd < /tmp/adjust; \
                /sbin/hwclock -w'
               
echo Stop taiclockd ...
killall taiclockd

echo done.
# end of file