다음 이전 차례

3. 서버측 설정

3.1 커널 컴파일

서버의 커널에 RARP기능을 넣는 것은 좋은 생각이다. 커널 인자없이 부팅하려면 이 기능이 반드시 필요하다. 한편 클라이언트가 서버와 다른 서브넷에 있다면 이 기능은 도움이 되지 못한다.

웍스테이션의 커널은 최소한 다음 조건들을 만족시켜야 한다:

웍스테이션이 커널 인자없이 부팅되려면 루트 장치를 0:255로 설정할 필요가 있다. mknod /dev/nfsroot b 0 255를 함으로써 더미 장치를 만든 후, rdev <kernel-image> /dev/nfsroot를 타이핑함으로써 커널 이미지의 루트 장치를 설정할 수 있다.

3.2 루트 파일 시스템의 작성

파일 시스템 복사

경고: 이들 명령어들이 잘 작동한다 하더라도, 제작 환경(production enviroment)에서 결코 적절한 것은 아니다. 클라이언트의 루트 파일시스템을 설정하기 위한 더욱 나은 방법이 Ofer Maor <ofer@hadar.co.il>씨의 NFS-Root-Client 미니 하우투에 잘 나와 있다.

루트 트리의 위치를 정한 다음에, 예를 들어, mkdir -p <directory>tar cClf / - | tar xpCf <directory> -를 함으로써 트리를 만든다.

LILO없이 커널을 부팅하려면 루트 디렉토리는 /tftpboot/<IP-address>가 되어야 한다. 기본값이 맘에 안 든다면 커널 소스의 Makefile에서 NFS_ROOT = -DNFS_ROOT="\"/tftpboot/%s\""부분을 찾은 다음 적당히 고치고 다시 컴파일을 하면 된다.

루트 파일 시스템에서의 변화

이제 불필요한 파일들을 지우고, /etc/rc.d 스크립트들을 검사한다.

파일시스템을 익스포트하기

웍스테이션을 위해 루트 디렉토리를 익스포트한다. exports(5)를 참조하라. 이 작업후 nfsd/mountd를 재시작해야 한다. RedHat에서는 간단히 /etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start를 하면 재시작할 수 있다.

RARP 설정

네트상의 어딘가에 RARP를 설치하라. nfsroot 인수없이 부팅하려 한다면, RARP서버는 또한 NFS서버여야 한다. 보통 RARP서버가 NFS서버의 역할도 맡는다. RARP를 설치하려면 커널이 RARP를 지원하도록 설정되어야 한다.

그리고 나서, 다음을 실행시킨다(그리고 서버의 /etc/rc.d의 어딘가에 이 명령문을 설치해야 한다!):

/sbin/rarp -s <ip-addr> <hardware-addr>

여기에서

ip-addr

은 웍스테이션의 IP주소이고

hardware-addr

은 웍스테이션의 네트워크 카드의 이더넷 주소이다.

예: /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12

서버가 이름으로 IP주소를 찾을 수 있다면(/etc/hosts나 DNS를 이용해서), IP주소대신에 이름을 사용할 수 있다.

BOOTP 설정

BOOTP 설정을 위해서 /etc/bootptab을 편집해야 한다. bootpd(8)bootptab(5) 맨 페이지를 참조하라.

하드웨어 주소 알아 내기

필자는 하드웨어 주소(역주: 웍스테이션의 랜카드의 이더넷 주소)를 모른다. 어떻게 알아 낼 수 있을까?


다음 이전 차례