>> Edit article
이름
제목
패스워드
:: 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