>> Delete No. 1828 article
No. diskless 머신 세팅하기 (nfs-root)

등록 2001-11-04 03:34:00     조회 5
이름 Arcy    

		:: nfs root mini howto ::
 ..... nfs-root 란? .....
 diskless 머신에서, 루트 파티션을 nfs 로 마운팅해 쓰는 것입니다.
플로피 한장에 커널을 넣고,
커널을 올리고 랜카드를 잡은뒤
rarp 혹은 bootp 로 아이피를 받아
nfs 서버로부터 루트 파티션을 마운팅해 마저 부팅하고 실행됩니다.
  이 howto 에서는 rarp 와 nfs 를 이용한 nfs-root 에 대해 설명합니다.
서버는 rarp, nfs 가 돌아가는 머신을 말하고,
클라이언트는 fixed disk 없이 돌아가는 diskless 클라이언트를 말합니
다.
   ..... diskless client 준비 .....
 커널만 있으면 됩니다.
다음은 컴파일시 주의할점에 대한 설명입니다.
보통 컴파일에 추가해야 할 것들이죠.
( 2.2.17 기준입니다만.. 큰 차이는 없을겁니다.)
 Networking options  --->
 IP: kernel level autoconfiguration  : Yes 로 해야 합니다.
 그러면 DHCP, BOOTP, RARP 의 세가지 옵션이 나타나는데..
 쓰실 것만 넣어도 되고, 세개 다 넣어도 됩니다.
  IP: Reverse ARP : rarp 방식을 사용하시려면 Yes 로 해야 합니다.
 Filesystems  --->
 Network File Systems  --->
  NFS filesystem support : 모듈이 아닌 Yes 로 해서 커널에 넣어야
합니다.
   Root file system on NFS : 위에서 IP 커널 오토컨피그를 켜셨다
면, 이 항목이 나타납니다.
                             Yes 해줍니다.
 그리고 make clean; make dep; make bzImage 하면..
arch/boot/i386/bzImage 라는 커널이 생깁니다.. 인텔 기준..
 그러면 이 커널을 nfs-root 용으로 만들기 위해서, rdev 로 루트 파티션
을 설정해줍니다.
nfs-root 는 루트 파티션이 major 0, minor 255 입니다.
 가짜 nfs-root 디바이스를 만듭니다.
# mknod /dev/nfsboot b 0 255
 그리고 bzImage 에, 이 커널은 nfsroot 을 쓸것이다.. 라고 마킹을 합니
다.
# rdev arch/boot/i386/bzImage /dev/nfsboot
 준비가 다 되었으니, 커널을 플로피에 넣습니다.
# dd if=arch/boot/i386/bzImage of=/dev/fd0
윈도우에서 기록하려면 rawrite 를 쓰면 되겠죠.
 이제 클라이언트에서는 서버가 준비된뒤, 이 플로피 디스켓을 넣고 부팅만
하면 됩니다.
   ..... 서버 준비하기 .....
 rarp 방식을 사용하시려면, 서버도 커널에서 rarp 를 켜야 합니다.
 그리고 rarp 를 준비하죠.
# rarp -s host HWADDR
 혹은 /etc/ethers 에..
HWADDR1 host1
HWADDR2 host2
의 형식으로 설정한후, # rarp -f 를 해줍니다.
rarp -a 로 확인할 수 있습니다.
 위에서 host 는 ip 나 호스트네임 아무거나 쓸 수 있고..
HWADDR 은 랜카드의 MAC 어드레스죠..
00:ea:20:f0:64:0d 식의, hex 6byte 로 이루어져 있습니다.
(그 머신에 os 가 설치되어 있다면, ping 한다음 arp -a 해보면 나옵니
다.
 리넉 윈도 동일.. 랜카드 드라이버에 따라서, 위의 커널 부팅디스켓으로
 부팅할때 나오기도 합니다.)
 이런식으로 rarp 를 잡아주면, 클라이언트 머신이 부팅하면서 rarp 로
자기 MAC address (HWADD) 를 토대로 자신이 어떤 아이피를 쓸 것인지 결
정합니다.
   다음은 클라이언트가 루트 파일시스템으로 쓸, nfsroot 를 설정합니다.
rarp-nfs 방식으로는, rarp 서버와 nfs 서버가 같은 머신이어야 합니다.
커널 부팅 파라메터를 넘겨주지 못하거든요.
 /tftpboot/클라이언트ip -> 이것이 부팅되는 클라이언트의 루트 파티션
이 됩니다.
클라이언트가 서버하고 같이 돌아가게 하려면,
다음과 같이 nfsroot 디렉토리를 만듭니다.
 # mkdir -p /tftpboot/클라이언트아이피
# tar clf - * -C / |tar xpf - -C /tftpboot/클라이언트아이피/
루트 디렉토리를 tar 로 그대로 퍼다가 저기에 같은 퍼미션으로 복사합니
다.
 /tftpboot/클라이언트아이피/etc/sysconfig/network 나..
/tftpboot/클라이언트아이피/etc/sysconfig/network-scripts/ifcfg-
eth0
등은, 클라이언트 세팅에 맞춰서 바꿔줘야 할겁니다.
 /tftpboot/클라이언트아이피/etc/fstab 도 바꾸어줘야죠.
서버아이피:/tftpboot/클라이언트아이피        /       nfs   
defaults        1 0
   이번엔 nfs 세팅을 합니다..
/etc/exports 를 설정해야죠.
 /tftpboot 클라이언트아이피(rw,no_root_squash)
 와일드카드(*) 도 먹습니다.
 그리고 nfs 데몬 시작..
/etc/rc.d/init.d/nfs start
   그리고, 클라이언트에 아까 만둔 부팅디스켓을 넣고..
리붓한뒤, 프롬프트 떨어지기를 기다립니다.
  끝.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved