Diskless Cluster-HOWTO
Diskless Cluster using Redhat 9.0 + Openmosix ¶±èµ¿Èñ
KAIST ¹°¸®Çаú
idji (at) kaist.ac.kr
v. 0.8
History:
0.8 : ÃÖÃÊÀÛ¼º (2003/11/19)
1.1. µé¾î°¡¸ç ¶¸ÕÀú ÀÌ ±ÛÀº Ŭ·¯½ºÅ͸¦ óÀ½ ¸¸µé¾î º¸·Á´Â »ç¶÷µéÀ» ´ë»óÀ¸·Î ÇßÀ½À» ¹àÈù´Ù.
ÀÌ ¹®¼¿¡¼´Â Diskless Ŭ·¯½ºÅ͸¦ ¸¸µå´Â °úÁ¤À» ¼³¸íÇÑ´Ù.
»ç¿ëµÈ ¹èÆ÷ÆÇÀº Redhat 9.0 ÀÌ°í Ä¿³Î 2.4.22 ¸¦ openmosix
ÆÐÄ¡¸¦ ÇÑ ´ÙÀ½ ÄÄÆÄÀÏ ÇÏ¿© »ç¿ëÇÏ¿´´Ù. ºÎÆùæ¹ýÀº pxelinux ¸¦ ÀÌ¿ëÇÑ PXE ºÎÆà ¹æ¹ýÀ» ½è´Ù.
»ç¿ëµÈ Çϵå¿þ¾î´Â ´ÙÀ½°ú °°´Ù.
Openmosix ´Â ÀÏÁ¾ÀÇ Ä¿³Î ÆÐÄ¡·Î¼ »ó´çÈ÷ ³î¶ó¿î ±â´ÉÀ» ÇÑ´Ù. ¿¹¸¦ µé¾î, ÄÄÇ»Å͸¦ ¿©·¯ ´ë
ºÙ¿©¼ Ŭ·¯½ºÅ͸¦ ¸¸µé¾ú´Ù Ä¡´õ¶óµµ, Äڵ带 Â¥¼ ÄÄÆÄÀÏÀ» ÇÑ ´ÙÀ½ 2 °³ÀÇ ½ÇÇà ÆÄÀÏÀ»
µ¿½Ã¿¡ ½ÇÇà½ÃÅ°¸é ¸ðµÎ ·Î±äµÇ¾îÀÖ´Â ÄÄÇ»ÅÍÀÇ CPU ¿¡¼ ¼öÇàµÈ´Ù. ÀÌ°É ´Ù¸¥ ÄÄÇ»ÅÍÀÇ
CPU ¿¡¼ ½ÇÇà½ÃÅ°·Á¸é PBS °°Àº ½ºÄÉÁì·¯¸¦ ½á¼ batch job À¸·Î ½ÇÇàÇØ¾ß ÇÑ´Ù.
±×·¯³ª Openmosix Ä¿³ÎÀº ÀڱⰡ ¾Ë¾Æ¼ Ŭ·¯½ºÅÍ »ó¿¡ ³î°í ÀÖ´Â CPU ¸¦ ã¾Æ¼ ±× °÷¿¡¼
½ÇÁ¦·Î ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°Ô ÇÑ´Ù. »ó´çÈ÷ À¯¿ëÇÑ ±â´ÉÀ¸·Î »ý°¢µÈ´Ù. MPI Àü¿ë °è»ê¸¸
Çϸé ÇÊ¿ä¾ø´Â ±â´ÉÀÌ°ÚÀ¸³ª ¸¸¾à serial Äڵ带 ¿©·¯ ¸íÀÌ ¸¹ÀÌ ½ÇÇàÇÑ´Ù¸é ±× À¯¿ë¼ºÀÌ
¸Å¿ì ³ô´Ù.
1.2. ¾î¶»°Ô ÀÛµ¿µÇ³ª? ¶Å¬¶óÀ̾ðÆ®°¡ ³×Æ®¿÷À» ÅëÇØ ºÎÆõǴ °úÁ¤Àº ´ÙÀ½°ú °°´Ù. Ŭ¶óÀ̾ðÆ® ÄÄÇ»ÅÍ¿¡
¹ÙÀÌ¿À½º ¼¼ÆÃÀÌ ³×Æ®¿öÅ© ºÎÆÃÀ¸·Î ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡ Ŭ¶óÀ̾ðÆ®¸¦
ÄÑ¸é ³×Æ®¿÷ Ä«µå°¡ Àڽſ¡ ´ëÇÑ Á¤º¸¸¦ ³×Æ®¿÷¿¡¼ ã´Â´Ù. À̶§ Ŭ¶óÀ̾îÆ®¿Í
¿¬°áµÈ ¼¹ö¿¡ DHCP ¼¹ö°¡ Á¦´ë·Î ¼³Á¤ÀÌ µÇ¾î¼ ÀÛµ¿ÇÏ°í ÀÖ´Ù¸é Ŭ¶óÀ̾ðÆ®
ÄÄÇ»Å͸¦ ÀνÄÇÏ°í Ŭ¶óÀ̾ðÆ®ÀÇ IP ¿Í ´Ù¸¥ Á¤º¸¸¦ º¸³»°Ô µÈ´Ù. ´Ù¸¥ Á¤º¸¶ó´Â
°ÍÀº ÆÄÀÏÀÌ µÉ ¼öµµ Àִµ¥ ¿©±â¼´Â pxelinux.0 ¶ó´Â ºÎÆ® ·Ò À̹ÌÁö ¸¦
º¸³»°í ÀÌ À̹ÌÁö´Â ¼¹ö·Î ºÎÅÍ kernelÀ» ¹Þ¾Æ¿À°Ô µÇ¾î ºÎÆÃÀÌ ÀÌ·ç¾îÁø´Ù.
¿©±â¼ ÆÄÀÏÀÏ º¸³»°í ¹Þ´Â °ÍÀº tftp ¸¦ ÅëÇØ ÀÌ·ç¾îÁø´Ù. ÀÏ´Ü
ºÎÆÃÀÌ ½ÃÀ۵Ǹé Ä¿³Î¸»°í ºÎÆÿ¡ ÇÊ¿äÇÑ ´Ù¸¥ ÆÄÀϵéÀÌ ÇÊ¿äÇÏ°Ô µÇ´Âµ¥,
ÀÌ·± ÆÄÀϵéÀº nfs ¸¦ ÅëÇØ ¼¹ö¿¡¼ °øÀ¯µÈ´Ù.
µû¶ó¼ ¼¹ö¿¡ ¹Ýµå½Ã ÇÊ¿äÇÑ ¼ºñ½º´Â DHCP,TFTP,NFS ÀÌ°í, ÀÌÈÄ ºÎÅÍ ÀÌ
¼ºñ½ºµéÀ» ¼³Á¤ÇÏ´Â °Í°ú pxelinux µî ³×Æ®¿÷ ºÎÆÃÀÇ ÀÚ¼¼ÇÑ ¼³Á¤¿¡ ´ëÇØ ¼³¸íÇÏ°Ú´Ù.
1.3. Çϵå¿þ¾î ¼³Ä¡ ¹× ³×Æ®¿÷ ±¸¼º ¶´Ü¼øÈ÷ Å©·Î½º ÄÉÀ̺íÀ» »ç¿ëÇÏ¿© ¼¹ö¿Í Ŭ¶óÀ̾ðÆ®¸¦ ¿¬°áÇÑ´Ù. Å©·Î½º ÄÉÀ̺íÀº
±¸ÀÔÀ» ÇϵçÁö Á÷Á¢ ¸¸µé´øÁö ÇϸéµÈ´Ù. ¸¸µå´Â ¹ýÀº ÀÎÅͳÝÀ» °Ë»öÇÏ¸é ¸¹ÀÌ ³ª¿Â´Ù.
¼¹öÀÇ eth1 Àº ¿ÜºÎ·Î ¿¬°áµÇ´Â ¼±À» ²È¾Ò°í, eth0 °ú eth2 ´Â Ŭ¶óÀ̾ðÆ®ÀÇ
eth0 ¿Í eth2 ¿¡ °¢°¢ ¿¬°áÇÑ´Ù. eth0,1,2 ´Â ³×Æ®¿÷ Ä«µå¸¦ ²È´Â ½½·Ô°ú ¸ÞÀκ¸µåÀÇ
Ư¼º¿¡ µû¶ó °áÁ¤µÇ´Âµ¥, ¿øÇÏ´Â µ¥·Î eth0,1,2 °¡ °áÁ¤µÇÁö ¾Ê¾Ò´Ù¸é ±×³É ½½·ÔÀÇ
À§Ä¡¸¦ ¹Ù²Ù¾î ²ÈÀ¸¸é µÇ°Ú´Ù. (¼ÒÇÁÆ®¿þ¾îÀû ¹æ¹ýÀº ¸ð¸§.)
Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö¸¦ ¿¬°áÇÏ´Â ³×Æ®¿÷ Ä«µåµé¿¡´Â 192.168.x.x ¶Ç´Â 10.0.x.x °°Àº »ç¼³ IP ¸¦ ÇÒ´çÇÑ´Ù.
¿©±â¼´Â 10.0.0.1 (eth0,¼¹ö), 10.0.1.1 (eth2,¼¹ö), 10.0.0.2 (eth0,Ŭ¶óÀ̾ðÆ®), 10.0.1.2 (eth1,Ŭ¶óÀ̾ðÆ®) ÀÌ´Ù.
¿Ö ³×Æ®¿÷Ä«µå¸¦ 2À徿 ¿¬°áÇÏ´À³Ä°í ¹°À» ¼öµµ ÀÖ´Ù. ¿ø·¡´Â channel bonding À» Çغ¸·ÁÇ߱⠶§¹®ÀÌ´Ù.
±×·¯³ª, ¾ÆÁ÷ Àß ¾ÈµÇ°í ÀÖ´Ù.
1.4.1. ¹èÆ÷ÆÇ ¼³Ä¡ ¶¼¹ö¿¡ Redhat 9À» ¼³Ä¡ÇÑ´Ù. Ưº°ÇÑ ÀÛ¾÷ ¾øÀÌ ±×³É everything À» ¼±ÅÃÇÏ¿©
¼³Ä¡ÇÏ¸é º° ¹®Á¦ ¾ø´Ù. ±×¸®°í up2date ¸¦ ½á¼ ÆÐÅ°Áö¸¦ ÃֽŹöÀüÀ¸·Î ¸¸µç´Ù.
´Ù¸¸ ÁÖÀÇ ÇÒ °ÍÀº / ÆÄƼ¼ÇÀ» Á» Å©°Ô Àâ¾Æ ³õ¾Æ¾ßÇÑ´Ù. ±×¸®°í ÇÑ°¡Áö.
ntp ¸¦ ¼³Á¤ÇÏ¿© ½Ã°è¸¦ ¸ÂÃß¾î ³õ´Â´Ù.
1.4.2. ³×Æ®¿öÅ© Ä«µå ¼³Á¤ ¶´ÙÀ½°ú °°ÀÌ (ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸Â°Ô °íÃļ) ¼³Á¤ÇÑ´Ù.
/etc/sysconfig/network-scripts/ifcfg-eth0 ÀÇ ³»¿ë: (ip-address ´Â ½ÇÁ¦¿Í ´Ù¸§.)
DEVICE=eth0 BOOTPROTO=none BROADCAST=xxx.xxx.xxx.xxx IPADDR=xxx.xxx.xxx.xxx NETMASK=255.255.255.0 NETWORK=xxx.xxx.xxx.0 ONBOOT=yes TYPE=Ethernet USERCTL=no PEERDNS=no GATEWAY=xxx.xxx.xxx.1 °¢°¢ÀÇ ¼ýÀÚ°¡ ¹«¾ùÀ» ÀǹÌÇÏ´Â Áö´Â ´Ù ¾Æ½Ã¸®¶ó ¹Ï´Â´Ù. ±Ã±ÝÇÑ °ÍÀº redhat ȨÆäÀÌÁö¿¡ °¡¸é
customization guide °¡ ÀÖ´Ù. Âü°íÇϽñæ.
/etc/sysconfig/network-scripts/ifcfg-eth1 ÀÇ ³»¿ë:
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none IPADDR=10.0.0.1 BROADCAST=10.0.0.255 NETMASK=255.255.255.0 NETWORK=10.0.0.0 /etc/sysconfig/network-scripts/ifcfg-eth2 ÀÇ ³»¿ë:
DEVICE=eth2 ONBOOT=yes BOOTPROTO=none IPADDR=10.0.1.1 NETMASK=255.255.255.0 NETWORK=10.0.1.0 /etc/sysconfig/network ÀÇ ³»¿ë:
NETWORKING=yes HOSTNAME=name.x.x.x GATEWAY=xxx.xxx.xxx.1 NISDOMAIN=nisdomain.org ¸Ç ¸¶Áö¸· ºÎºÐÀÇ NISDOMAIN Àº NIS ¸¦ ¼³Á¤Çϱâ À§ÇØ ÇÊ¿äÇÑ °ÍÀÌ´Ù. ´çÀåÀº ÇÊ¿ä¾ø´Ù.
/etc/hosts
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost xxx.xxx.xxx.xxx name.x.x.x 10.0.0.1 gateway.name.x.x.x 10.0.0.2 node1.name.x.x.x node1 10.0.1.1 client0.name.x.x.x client0 10.0.1.2 client1.name.x.x.x client1 À§¿Í °°ÀÌ ¼³Á¤ÇÑ ÈÄ Àû¿ë½ÃÄÑÁØ´Ù. /etc/init.d/network restart ¶Ç´Â ±×³É reboot ÇÑ´Ù.
1.4.3. DHCP ¼³Á¤ ¶/etc/dhcpd.conf
dns-update-style none; default-lease-time 21500; max-lease-time 43200; option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; option routers 10.0.0.1; option domain-name-servers name.x.x.x; option domain-name "name.x.x.x"; subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.2 10.0.0.100; } group { filename "pxelinux.0"; use-host-decl-names on; host node1 { fixed-address 10.0.0.2; hardware ethernet 00:0A:01:D4:DA:5B; option root-path "/tftpboot/10.0.0.2"; } } ÀÚ¼¼ÇÑ ³»¿ëÀº ºÎµð DHCP ¿¡ °üÇÑ ¹®¼¸¦ ã¾Æº¸±â¸¦ ¹Ù¶õ´Ù...(ÀÚ¼¼ÇÑ °Ç º»Àεµ ¸ð¸¥´Ù.)
´Ù¸¸ ¿©±â¼ ¤°í ³Ñ¾î°¥ °ÍÀº router °¡ ¼¹öÀÇ eth0 (10.0.0.1) ·Î ¼³Á¤ÀÌ µÇ¾ú´Ù´Â °Í°ú
Ŭ¶óÀ̾ðÆ®·Î º¸³¾ ÆÄÀÏÀÇ À̸§, IP µîÀÌ´Ù. À§ÀÇ ¼³Á¤Àº ethernet address °¡ 00:0a:01:d4:da:5b ÀÎ
³×Æ®¿÷ Ä«µå¸¦ ¹ß°ßÇÏ¸é ±× ÁÖ¼Ò¸¦ 10.0.0.2 ·Î Á¤ÇÏ°í, Ŭ¶óÀ̾ðÆ®ÀÇ root µð·ºÅ丮¸¦ ¼¹öÀÇ /tftpboot/10.0.0.2 ·Î
Á¤ÇÑ´Ù´Â °ÍÀÌ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ È£½ºÆ®³×ÀÓ°ú dhcpd ¼³Á¤ÀÇ host ... °¡ °°¾Æ¾ß µÇ´ÂÁö´Â ¸ð¸£°ÚÁö¸¸
¿©±â¼´Â ¶È°°ÀÌ node1 À̶ó°í ¼³Á¤Çß´Ù.
´Ù ¼³Á¤ÇßÀ¸¸é /sbin/chkconfig dhcpd on À» ÇÏ¿© ºÎÆà µÉ ¶§ ½ÃÀ۵ǵµ·Ï ÇÏ°í, /etc/init.d/dhcpd start Çؼ
DHCP µ¥¸óÀ» ½ÇÇàÇÑ´Ù.
1.4.4. TFTP ¼³Á¤ ¶/etc/xinetd.d/tftp ¿¡¼ diable=no ·Î ¹Ù²Û´Ù.
# default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } ¿©±â¼ diable=no ´Â tftp ¼¹ö¸¦ »ç¿ëÇÑ´Ù´Â Àǹ̰í, server_args = -s /tftpboot
tftpÀÇ root °¡ /tftpboot ¶ó´Â Àǹ̴Ù.
´Ù ÇßÀ¸¸é /etc/init.d/xinetd restart ÇÏ¿© xinetd ¸¦ ´Ù½Ã ½ÃÀÛÇÑ´Ù.
1.4.5. NFS ¼³Á¤ ¶/etc/export ÆÄÀÏÀ» ÆíÁýÇÑ´Ù.
/tftpboot/10.0.0.2 10.0.0.2(rw,sync,no_root_squash,no_subtree_check) /usr 10.0.0.2(rw,sync,no_root_squash,no_subtree_check) /opt 10.0.0.2(rw,sync,no_root_squash,no_subtree_check) /var 10.0.0.2(rw,sync,no_root_squash,no_subtree_check) /home 10.0.0.2(rw,sync,no_root_squash,no_subtree_check) Ŭ¶óÀ̾ðÆ® (10.0.0.2) ÀÇ root °¡ /tftp/10.0.0.2 °¡ µÉ °ÍÀÌ°í,
ºÎÆÿ¡ ÇÊ¿äÇÏÁö ¾ÊÀº ÆÄÀϵéÀº nfs ·Î server ¿Í °øÀ¯ÇÑ´Ù.
nfs¸¦ ½ÃÀÛÇϱâ À§Çؼ /sbin/chkconfig portmap on, /sbin/chkconfig nfs on,
/sbin/chkconfig nfslock on, /etc/init.d/portmap start, /etc/init.d/nfs start, /etc/init.d/nfslock start
ÇÏ¿© µ¥¸óµéÀ» Àç½ÃÀÛÇÑ´Ù.
1.4.6. openmosix ÆÐÄ¡ ¹× Ä¿³Î ÄÄÆÄÀÏ ¶http://openmosix.sourceforge.net/ °¡ openmosix ÀÇ °ø½Ä »çÀÌÆ®ÀÌ´Ù Ä¿³Î ÆÐÄ¡´Â ¿©±â¿¡ ÀÖ´Â
HOWTO ¸¦ ÀÐ°í µû¶ó ÇϸéµÈ´Ù. ¸¸¾à Ä¿³Î ÄÄÆÄÀÏÀ» ÇÑ ¹øµµ ¾ÈÇغ¸¾Ò´Ù ÇÏ´õ¶óµµ °Ì³¾ ÇÊ¿ä´Â
¾ø´Ù. óÀ½¿¡´Â ºÎÆÃÁ¶Â÷ Á¦´ë·Î ¾ÈµÇ°ÚÁö¸¸ °è¼Ó µµÀüÇÏ¸é °á±¹ ½¬¿öÁø´Ù.
º»ÀÎÀÌ Ä¿³Î ÆÐÄ¡¿Í ÄÄÆÄÀÏÀ» ÇÑ ¼ø¼´Â ´ÙÀ½°ú °°´Ù.
1.4.7. openmosix ¼³Á¤ ¶openmosix ÀÇ ±â´ÉÀ» ¾²±â À§Çؼ´Â /etc/openmosix.map À̶ó´Â ¼³Á¤ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù.
1 xxx.xxx.xxx.xxx 1 1 10.0.0.1 alias 2 10.0.0.2 1 ÀÌ ³»¿ëÀº °°Àº ÄÄÇ»ÅÍÀÎ xxx.xxx.xxx.xxx/10.0.0.1 °ú 10.0.0.2 ·Î ±¸¼ºµÈ Ŭ·¯½ºÅͻ󿡼 jobÀÌ migration µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
ÀÚ¼¼ÇÑ ¹®¹ýÀº HOWTO ¸¦ Àо½Ã¶ó. ÇÑ °¡Áö ÁÖÀÇ ÇÒ °ÍÀº xxx.xxx.xxx.xxx ¿Í 10.0.0.1 Àº °°Àº ÄÄÇ»ÅÍ ÀÌÁö¸¸ µÑ ´Ù ¾È ³ÖÀ¸¸é
¿¡·¯°¡ ³´Ù´Â °ÍÀÌ´Ù.
ºÎÆà µÉ ¶§ ÀÚµ¿À¸·Î openmosix ¸¦ ½ÃÀÛÇϱâ À§Çؼ´Â /sbin/chkconfig --add openmosix; /sbin/chkconfig openmosix on À» Çؼ
ºÎÆà µÉ ¶§ ½ÃÀ۵Ǵ ¼ºñ½º¿¡ Æ÷ÇÔ½Ãų¼ö ÀÖ´Ù.
HOWTO ¿Í openmosix-tools ¿¡ ÀÖ´Â README ³¡ºÎºÐÀ» ¹Ýµå½Ã Àоî¾ß ÇÑ´Ù. ¸î°¡Áö ¼öÁ¤ÇÒ °ÍÀÌ ´õ ÀÖ´Ù. (/etc/inittab,
/etc/rc.d/init.d/sshd)
1.5. Ŭ¶óÀ̾ðÆ®¸¦ À§ÇÑ ¼³Ä¡ ¶Å¬¶óÀ̾ðÆ®¸¦ ¼³Ä¡ÇÒ Â÷·ÊÀÌ´Ù. Ŭ¶óÀ̾ðÆ®°¡ ¾µ µð½ºÅ© °ø°£Àº ¼¹öÀÇ /tftpboot/10.0.0.2/ ¾Æ·¡ÀÇ µð·ºÅ丮µéÀÌ´Ù.
1.5.1. pxelinux ¼³Ä¡ ¶¿ì¼±, ³×Æ®¿öÅ© ºÎÆÃÀÌ µÇµµ·Ï pxelinux ¸¦ ¼³Ä¡ÇØ¾ß µÈ´Ù. ÀÛ¾÷Àº °£´ÜÇÏ´Ù. ÆÄÀÏÇϳª º¹»çÇÏ°í µð·ºÅ丮 Çϳª ¸¸µé°í
ÅؽºÆ® ÆÄÀÏ Çϳª ¸¸µé¸é ³¡ÀÌ´Ù. ¿ì¼± syslinux ȨÆäÀÌÁö http://syslinux.zytor.com/ ¿¡ °¡¼ syslinux ÆÐÅ°Áö¸¦
³»·Á¹Þ´Â´Ù. ¾ÐÃàÀ» Ç®¾îº¸¸é pxelinux.0 ¶ó´Â ÆÄÀÏÀÌ Çϳª°¡ Àִµ¥ ½ÇÁ¦·Î ¾µ ÆÄÀÏÀº ÀÌ°Í Çϳª »ÓÀÌ´Ù.
pxelinux.0 ¸¦ /tftpboot ¿¡ º¹»çÇÑ´Ù. ±×¸®°í, pxelinux.cfg ¶ó´Â µð·ºÅ丮¸¦ /tftpboot ¾Æ·¡¿¡ ¸¸µç´Ù.
/tftpboot/pxelinux.cfg ¾Æ·¡¿¡ default ¶ó´Â ÆÄÀÏÀ» vi ·Î ¸¸µé°í ´ÙÀ½ ³»¿ëÀ» ³Ö´Â´Ù.
label linux kernel vmlinuz-2.4.22-openmosix-1-clients append root=/dev/nfs ip=dhcp init=/sbin/init kernel ´ÙÀ½¿¡ ¿À´Â °ÍÀº Ŭ¶óÀ̾ðÆ®·Î º¸³¾ Ä¿³Î À̸§ÀÌ´Ù. ´Ù¸¥ °Ç °Çµå¸®Áö ¸»°í, kernel Á¤ÇÏ°í ½ÍÀºµ¥·Î ¹Ù²Û´Ù.
1.5.2. Ŭ¶óÀ̾ðÆ® Ä¿³Î ¼³Ä¡ ¶Å¬¶óÀ̾ðÆ®¿ë Ä¿³ÎÀ» µû·Î ÄÄÆÄÀÏ ÇØ¾ß ÇÑ´Ù. openmosix ÆÐÄ¡µÈ Ä¿³ÎÀ» Ŭ¶óÀ̾ðÆ®¿¡ ¸Â°Ô ¹Ù²Ù°í, ¾µµ¥¾ø´Â °ÍµéÀº ´Ù »«´Ù.
²À µé¾î°¡¾ßµÉ ¿É¼ÇÀº IP:kernel level autoconfiguration -> dhcp,bootp ¿Í NFS ¿¡ °ü·ÃµÇ´Â ³»¿ëµéÀÌ´Ù.
ƯÈ÷, root file system on NFS ´Â ¹Ýµå½Ã üũÇÑ´Ù. ¸ðµç Ç׸ñÀº ¸ðµâ·Î ¼³Á¤Çؼ´Â ¾ÈµÈ´Ù.
¼¹ö Ä¿³ÎÀ» ÄÄÆÄÀÏ ÇÒ ¶§¿Í °°ÀÌ Çϴµ¥ make bzImage ±îÁö¸¸ ÇÑ´Ù.
±×·¯¸é, ÄÄÆÄÀÏµÈ Ä¿³ÎÀÌ arch/i386/boot ¹Ø¿¡ bzImage ¶ó´Â À̸§À¸·Î ÀÖ´Ù. À̸§À» ÀûÀýÈ÷ ¹Ù²Ù¾î¼ /tftpboot ·Î º¹»çÇÑ´Ù.
ÀÌ À̸§Àº ´ç¿¬È÷ pxelinux ¼³Á¤ÇÒ ¶§ÀÇ Ä¿³Î À̸§°ú °°¾Æ¾ß ÇÑ´Ù.
±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇÑ´Ù.
mknod /dev/nfs c 0 255 /usr/sbin/rdev (kerne-name) /dev/nfs¹«½¼ ¶æÀÎÁö´Â ¸ð¸£°ÚÀ¸³ª ÇØ ÁÖ¾î¾ß ÇÑ´Ù. 1.5.3. Ŭ¶óÀ̾ðÆ® ÆÄÀϽýºÅÛ ¼³Ä¡ ¶Å¬¶óÀ̾ðÆ® ÆÄÀϽýºÅÛÀ» ¸¸µå´Â °ÍÀº ´Ü¼øÈ÷ µð·ºÅ丮 ¸¸µé°í ÆÄÀÏÀ» º¹»çÇÏ´Â ÀÛ¾÷µéÀÌ´Ù.
¸ÕÀú /tftpboot ¹Ø¿¡ 10.0.0.2 µð·ºÅ丮¸¦ ¸¸µç´Ù. ÇÏÇÊÀ̸é ip ÁÖ¼ÒÀÎ ÀÌÀ¯´Â dhcp ¼³Á¤ÇÒ ¶§ ±×·¸°Ô Ç߱⠶§¹®ÀÌ´Ù.
/tftpboot/10.0.0.2 ¹Ø¿¡ cp -a /bin /boot /dev /etc /lib /root /sbin /tftpboot/10.0.0.2/ ·Î Çؼ
ÁÖ¿ä µð·ºÅ丮¸¦ º¹»çÇÑ´Ù. -a ¿É¼ÇÀº Æ۹̼ÇÀ» À¯ÁöÇÏ¸é¼ º¹»çÇ϶ó´Â °ÍÀÌ´Ù.
±×¸®°í /tftpboot/10.0.0.2 ¹Ø¿¡ root, usr, home, opt, mnt, proc, tmp µð·ºÅ丮¸¦ ¸¸µé¾î ÁØ´Ù.
usr ¹Ø¿¡µµ ¹Ýµå½Ã º¹»çÇØ¾ß ÇÒ ÆÄÀϵéÀÌ Àִµ¥, /usr/sbin, /usr/bin /usr/lib ¸¦ -a ¿É¼ÇÀ» ÁÖ¾î¼
º¹»çÇÑ´Ù. ÀÌ·± ÆÄÀϵéÀ» º¹»çÇÏ´Â ÀÌÀ¯´Â /usr °°Àº µð·ºÅ丮µéÀ» nfs ·Î ¸¶¿îÆ® Çϱâ Àü¿¡ ÇÊ¿äÇÑ ÆÄÀϵéÀ̱⠶§¹®ÀÌ´Ù.
var µð·ºÅ丮µµ ÇÊ¿äÇѵ¥ ´Ù ÇÊ¿äÇÑ °ÍÀÌ ¾Æ´Ï¶ó rpm µ¥ÀÌÅͺ£À̽º¸¸ ÀÖÀ¸¸é µÇ¹Ç·Î /var ¿Í ¶È°°ÀÌ µð·ºÅ丮¸¸ ¸¸µé°í
/var/lib/rpm/* ¸¸ -a ¿É¼ÇÀ¸·Î º¹»çÇؿ´Ù.
1.5.4. ³×Æ®¿÷ ¼³Á¤ ¶/tftpboot/10.0.0.2/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 BOOTPROTO=static IPADDR=10.0.0.2 NETMASK=255.255.255.0 NETWORK=10.0.0.0 ONBOOT=yes /tftpboot/10.0.0.2/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none IPADDR=10.0.1.2 BROADCAST=10.0.1.255 NETMASK=2555.255.255.0 NETWORK=10.0.1.0 USERCTL=false /tftpboot/10.0.0.2/etc/sysconfig/network
NETWORKING=yes HOSTNAME=node1.name.x.x.x DOMAINNAME=name.x.x.x GATEWAY=10.0.0.1 NISDOMAIN=nisdomain.org /tftpboot/10.0.0.2/etc/hosts
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost xxx.xxx.xxx.xxx name.x.x.x 10.0.0.1 gateway.name.x.x.x 10.0.0.2 node1.name.x.x.x node1 10.0.1.1 client0.name.x.x.x client0 10.0.1.2 client1.name.x.x.x client1 1.5.5. ÇÊ¿äÇÑ ¼ºñ½º ¼³Á¤ ¶Å¬¶óÀ̾ðÆ®´Â ¿ÀÁ÷ °è»êÀ» À§ÇØ ¾²¿©Áö¹Ç·Î Àâ´ÙÇÑ µ¥¸óµéÀÌ ÇÊ¿ä¾ø´Ù. ¿ì¼± ¸ðµç ¼ºñ½º¸¦ Á¦°ÅÇÑ´Ù.
¸ÕÀú root µð·ºÅ丮¸¦ /usr/sbin/chroot /tftpboot/10.0.0.2 Çؼ /tftpboot/10.0.0.2 ·Î ¹Ù²Û´Ù.
/etc/init.d ¿¡ ÀÖ´Â ¼ºñ½º À̸§À» single, killall, functions, microdoce_ctl, kudzu, network, portmap, nfslock, netfs, sshd, crond ¸¦ Á¦¿ÜÇÑ ¸ðµç ¼ºñ½º¸¦ /sbin/chkconfig --del (service_name) ·Î ¸ðµÎ Á¦°ÅÇÑ´Ù.
±×¸®°í exit ·Î ¿ø·¡ root ¸¦ ¿ø·¡´ë·Î ¹Ù²Û´Ù.
1.5.6. NFS Ŭ¶óÀ̾ðÆ® ¼³Á¤ ¶/tftpboot/10.0.0.2/etc/fstab ÀÇ ³»¿ëÀ» ´ÙÀ½°ú °°ÀÌ Çؼ ÁÖ¿ä µð·ºÅ丮¸¦ nfs ¸¦ ÅëÇØ ¸¶¿îÆ®Çϵµ·Ï ÇÑ´Ù.
10.0.0.1:/tftpboot/10.0.0.2 / nfs rw,defaults 0 0 10.0.0.1:/usr /usr nfs rw,defaults 0 0 10.0.0.1:/home /home nfs rw,defaults 0 0 10.0.0.1:/opt /opt nfs rw,defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 1.5.7. ±âŸ ÆÄÀÏ ¼³Á¤ ¶/tftpboot/10.0.0.2/etc/inittab ¿¡¼ id:5:initdefault: ¸¦ id:3:initdefault: ·Î ¹Ù²Ù¾î¼ text ¸ðµå·Î ºÎÆÃÇϵµ·Ï ÇÑ´Ù.
(cf. 5 ´Â X À©µµ¿ì·Î ½ÃÀÛµÊ. Ãß°¡Àû ¼ºñ½º ¼³Á¤ ÇÊ¿ä.)
|