강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

하드(디스크)를 장착하지 않은 클러스터 (Diskless)

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.gif title02_02.gif


1) rsh, rlogin, tftp 설정

Diskless 클러스터는 기본형 클러스터 설정과 마찬가지로 hosts, rhosts, hosts.equiv 파일을 설정하면 되고, /etc 디렉토리에 hosts.equiv 파일을 직접 만들어야 한다.

hosts 파일 설정

[root@ime etc]#more hosts

210.106.86.128 ime.kongju.ac.kr ime

192.168.100.1 doom1.kongju.ac.kr doom1

192.168.100.2 doom2.kongju.ac.kr doom2

192.168.100.3 doom3.kongju.ac.kr doom3

192.168.100.4 doom4.kongju.ac.kr doom4

hosts.equiv 파일 설정

[root@ime etc]#vi hosts.equiv

210.106.86.128

192.168.100.1

192.168.100.2

192.168.100.3

192.168.100.4


(1) .rhosts 설정

rlogin을 허용할 계정의 홈 디렉토리에 만들어 설정한다.

예)계정 : doo 홈 디렉토리 : /home/doo

[root@ime doo]# vi .rhosts

192.168.100.1

192.168.100.2

192.168.100.3

:wq


주위할 점은 파일 앞에 (.)은 숨김 파일이라는 뜻이며 .rhosts 파일의 퍼미션은 사용자만 읽고 쓸 수 있도록 한다. .rhosts 파일을 제외한 모든 설정은 root 권한으로 한다. 예) [doo@lai doo]$ chmod 600 .rhosts

(2) inetd.conf 파일 설정

[root@ime etc]# vi inetd.conf

...

...

#shell stream tcp nowait root /usr/sbin/tcpd in.RSHd

#rlogin stream tcp nowait root /usr/sbin/tcpd in.rlogind

...

#tftp stream tcp nowait root /usr/sbin/tcpd in.tftpd

...


앞의 주석을(#) 제거하고 저장한다.

 

데몬 실행 방법

[root@ime etc]#/etc/rc.d/init.d/inet.restart


2) 커널 컴파일

NFS-Root, rarp 또는 bootp 기능이 가능하도록 커널 컴파일 한다. 디렉토리 위치는 /usr/src/linux 이며, 그림과 같은 순으로 설정한다.

[root@ime linux]# make menuconfig

ZAHJP006.GIF

 

① rarp 또는 bootp 기능을 선택한다.

ZAHJP007.GIF

  ZAHJP008.GIF

ZAHJP009.GIF

디스크 없는 노드가 서버의 파일을 이용하기 위해서는 NFS-ROOT 기능을 커널에 추가해야한다. 저장 후 다음과 같은 방법으로 컴파일 한다.

[root@ime linux]# make dep

[root@ime linux]# make clean

[root@ime linux]# make bzImage


NFS 장치 파일을 만드는 방법으로 실행 후 /dev 디렉토리에 nfsroot 장치 파일이 생성된다. 설정 방법은 다음과 같다.

[root@ime linux]# makenod /dev/nfsroot b 0 255

[root@ime boot]# cd /usr/src/linux/arch/i386/boot

[root@ime boot]# rdev bzImage /dev/nfsroot

 

부팅디스크 만들기

[root@ime boot]# dd if=bzImage of=/dev/fd0


3) 노드들의 환경 설정

서버의 디스크공간에 클라이언트의 설정 파일들이 들어갈 공간이 필요하다. 서버는 이 공간을 nfs 서비스를 통하여 제공한다.

http://www.sci.usq.edu.au/staff/jacek/beowulf에서 sdct, adcn 스크립트 파일을 다운 받아 실행 권한을 부여한다.

[root@ime /]#chmod 755 sdct adcn

(1) sdct 및 adcn 파일 실행

디스크 없는 노드가 루트(/) 디렉토리로 사용될 공간을 만드는 스크립트 파일로 실행 후 /tftpboot라는 디렉토리가 생성되며, /tftpboot 디렉토리 안에 노드의 루트(/) 디렉토리를 만들어 준다. 만드는 방법은 Template라는 디렉토리를 copy 명령으로 복사하며 디렉토리 이름은 구별하기 쉽게 하기 위해서 디스크 없는 노드의 IP로 하였다.

[root@ime /]# ./sdct

[root@ime /]# ls /tftpboot/

Template/


/tftpboot에 노드 수만큼 다음과 같은 디렉토리를 만든다.

[root@ime tftpboot]#cp -R Template 192.168.100.2

[root@ime tftpboot]#cp -R Template 192.168.100.3

[root@ime tftpboot]#cp -R Template 192.168.100.4


/tftpboot 디렉토리 구조

[root@atom /root]# ls /tftpboot/

Template/ 192.168.100.2/ 192.168.100.3/ 192.168.100.4/ doom2.kongju.ac.kr@ doom3.kongju.ac.kr@ doom4.kongju.ac.kr@ node2@ doom3@ doom4@

[root@ime tftpboot]# ls /tftpboot/192.168.100.2/

bin/ boot/ etc/ lib/ proc/ sbin/ usr/

bin.tar.gz dev/ home/ mnt/ root/ tmp/ var/

[root@ime tftpboot]# ls

bin/ boot/ etc/ lib/ proc/ sbin/ usr/ dev/ home/ mnt/ root/ tmp/ var/


위 디렉토리들 중 스크립트의 오류로 링크로 만들어진 것이 있다. 링크를 모두 지우고, 빈 디렉토리를 생성해 준다. adcn 스크립 파일을 서버에서 실행시키며, 프롬프트 상태에서 다음과 같은 설정을 한다.

[root@ime /]#./adcn -f -i 192.168.100.2 -c node2 -d kongju.ac.kr -m 00:a0:cc:5b:27:0f -g 192.168.100.1 -s 192.168.100.1

[root@ime /]#./adcn -f -i 192.168.100.3 -c node3 -d kongju.ac.kr -m 00:aa:00:c0:e2:5b -g 192.168.100.1 -s 192.168.100.1

[root@ime /]#./adcn -f -i 192.168.100.4 -c node4 -d kongju.ac.kr -m 00:aa:00:c1:24:59 -g 192.168.100.1 -s 192.168.100.1


(2) rarp 설정

rarp는 디스크 없는 노드가 네트워크를 위해 필요한 IP, netmask 등의 정보를 서버로부터 제공받기 위해 사용된다. /etc/rc.d/rc.local 파일에 아래와 같은 설정을 추가하거나 프롬프트 상태에서 직접 실행하면 된다.

/sbin/rarp -s 192.168.100.2 00:aa:00:c0:e1:46

/sbin/rarp -s 192.168.100.3 00:aa:00:c0:e2:5b

/sbin/rarp -s 192.168.100.4 00:aa:00:c1:24:59


4) NFS 설정

설정 방법은 기본형 클러스터와 마찬가지이다.

▶ 서버 설정

exports 파일 설정

192.168.100.1:/home doom2(rw,no_root,squash,no_all_squash)

192.168.100.1:/usr doom2(rw,no_root,squash,no_all_squash)

192.168.100.1:/home doom3(rw,no_root,squash,no_all_squash)

192.168.100.1:/usr doom3(rw,no_root,squash,no_all_squash)

192.168.100.1:/home doom4(rw,no_root,squash,no_all_squash)

192.168.100.1:/usr doom4(rw,no_root,squash,no_all_squash)


NFS 데몬 실행

첫 번째 실행 파일을 직접 실행한다.

[ime@root /sbin]# ./rpc.nfsd

[ime@root /sbin]# ./rpc.mountd

rpc.nfsd, rpc.mountd 파일 위치 /usr/sbin

두 번째 /etc/rc.d/init.d 디렉토리로 이동하여 nfs 파일을 실행한다.

[ime@root /init.d]# ./nfs stop

[ime@root /init.d]# ./nfs start

 

▶ 클라이언트 설정

모든 노드의 fstab 파일을 설정하며, 파일의 위치는 /etc 디렉토리에 있다.

[root@ime /]# more /tftpboot/node2/fstab

192.168.100.1:/tftpboot/192.168.100.2 / nfs hard,intr,rw

192.168.100.1:/usr /usr nfs soft,intr,rw

192.168.100.1:/home /home nfs hard,intr,rw

주의 할 점은 fstab 파일을 설정하고 난 후에 [ime@root /etc]# mount -a 명령을 실행하여 노드에서 서버 노드의 디렉토리가 mount 될 수 있도록 한다. 그리고 MPI 및 PVM 설치 및 설정 방법은 위 기본형 클러스터와 같으며 NFS를 사용하여 /home 디렉토리를 공유할 경우 서버 노드에만 설치하면 된다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  89 명