분류 전체보기 (199)
ººº::Development™:: (66)
ººº::Learning™:: (31)
ººº::Information™:: (37)
ººº::Note™:: (11)
ººº::Photo™:: (50)
ººº::zEtc™:: (3)
rss

믹시
tistory 티스토리 가입하기!
'클러스터'에 해당되는 글 2건
2010. 4. 8. 15:22
Cluster환경을 구축하다보면 frontnode뿐만 아니라 계산을 담당하는 compute node에서도 수많은 설정과 설치가 이루어진다. 이럴때마다 매번 로그인해서 처리하는것은 여간 번거로운 작업이 아닐것이다. 이럴때 사용할 수 있는게 rsh인거 같다. cluster환경을 구축하면서 많은 문서와 웹검색을 하는 가운데 rsh관련된 내용이 많않는데 머지? 하면서 넘어갔는데 오늘 결국 설정해 버렸다. 설정하고 나니 넘 편하고 좋은거 같다는 느낌이!!  머 문서들 가운데 보안관련된 내용도 있어서 ssh를 사용하는것을 권장하는 문서들도 있지만 cluster와 같이 외부 환경과 분리된 상태에서는 rsh를 사용해도 별 문제가 없고, 작업역시 쉬워지는거 같다.

간단하게 rsh란 remote shell로 보면 된다. 원격에서 해당 호스트의 쉘을 이용하여 작업을 진행할 수 있게 해주는것이라고 보면 된다. rsh를 사용하기 위해서는 먼저 rsh client와 server를 front및 compute node에 설치해 줘야 한다. 해당 package는 인터넷 검색을 통하거나 본 포스팅에서 다운받아 설치하면 된다.

# rpm -Uvh rsh-*.rpm
#rpm -Uvh rsh-server-*.rpm

rsh 설치가 완료되었으면 아래와 같이 설정을 해주면 된다. 설정은 front및 compute node에 동일하게 해주면 된다.

1. /etc/services에 kshell 544/tcp krcmd   # Kerberized 'rsh'(v5)가 들어있는지 확인
2. /etc/xinetd.d/rsh 및 rlogin 에서 desable = yes를 disable = no로 변경
3. /etc/securetty 맨 아랫줄에 rsh와 rlogin 추가.
4. /etc/hosts.equiv 파일을 만들고 rsh접속을 원하는 hostname을 적어준다. 이때 hostname은 /etc/hosts에 명시된 host와 동일해야 한다.
5. /etc/rc.d/inetd.d/xinetd restat로 xinetd demon 재시작

위와 같은 과정으로 설정을 완료하였으면 일반 사용자는 rsh로 원격 호스트로 접속하는데 문제가 없을 것이다.
하지만 root로 접속을 하기 위해서는 몇가지 과정을 더 거쳐야 한다.

1. root 홈디렉토리에 /.rhosts 파일을 생성해서 /etc/hosts.equiv의 내용을 동일하게 써주거나 혹은 별도로 작성해 준다.

만약 위와 같은 방법으로 접속을 시도했을 경우 password를 물어보면

1. /etc/pam.d/rsh 와 /etc/pam.d/rlogin 내용 중 "auth       required     pam_rhosts_auth.so" 이 부분을 "auth       required     pam_rhosts_auth.so promiscuous" 와 같이 수정한다.

만약 위와 같은 방법으로도 password를 물어보면 위 내용을 아이에 주석처리해준다.

설정을 모두 바쳤으면 아래 명령으로 rsh가 정상작동하는지 확인해 보면 된다.
# rsh host1
Last login: Thu Apr  8 14:44:38 from gmi3
[host1] #

# rsh host1 "ls"
.. host1의 root 디렉토리 내용 출력

rsh 파일 다운로드



2010. 4. 1. 15:11
연구실에서 다양한 프로그램과 어플리케이션들을 돌리는 과정에서 대량의 계산이 필요한 어플리케이션들이 있다. 그러한 어플리케이션을 좀더 효율적으로 돌리고 다양한 사용자들의 다양한 Job들을 관리할 필요성이 생겼고, 그로인해 Cluster머신을 생각하게 되었다. 지금 그 첫번째로 Rocks나 여타 Linux cluster를 새로 설치하는것이 아니라 기존에 설치되어 있는 Redhat 기반에서 Cluster를 구성해 본다.

Cluster를 만들기위한 여러 솔루션들이 있지만 무료이면서도 만힝 사용되고 있는 Torque를 이용해 Cluster를 구성해 본다.


1. Torque Download
   Torque는 아래 사이트에서 최신 버전 혹은 원하는 버전을 다운 받도록 한다.
   http://www.clusterresources.com/
   Torque는 PBS를 기반으로 만들어지고 있다고 한다. 그렇기 때문에 PBS에서 사용가능한 명령어는 Torque에서도 사용 가능하다고 되어 있다(만약 이 부분이 틀렸다면 정확한 내용을 알려주세요~~^^)

2. Torque 설치
  Torque는 Front 노트와 Compute노드로 이루어져 있다. 간단하게 설명하면 Frontnode는 작업을 최초 생성하고 Compute노드로 작업을 할당해주는 main head node라고 생각하면 간단하고 compute node는 하위 노드로 단순하게 계산을 처리하는 node로 생각하면 쉽다.

그럼 지금부터 Torque를 설치해 보자
1) Frontnode 설치
# tar -zxvf torque.tar.gz
# ./configure --prefix=/opt/torque --with-server-home-/opt/torque
# make
# make install
  위와 같은 방법으로 Torquq를 설치하면 되고,  configure 옵션은 Torque사이트에보면 더 많은 옵션이 존재한다.
  다음으로 torque의 기본적은 서버 환경을 설정해 보자
# ./torquq.setup root ( torque 압출 해제 폴더)
iniializing TORQUE (admin: ......)
PBS_Ser...
do you wish to continue y/(n) ? y
Max open server : 4
...
######  PBS 에서 사용한 기본적은 compute node 등록
# /opt/torque/server_priv/
# vi nodex
###### PBS 에서 사용한 node 등록
node1 np=4
node2 np=4
 위와 같이 설정을 해주었으면 server의 기본적인 환경은 설정되었다. 설정 중 compute node를 등록하는 부분에서는 vi editor로 nodes파일을 열고(기본은 없다.) compute node로 사용될 서버들의 이름을 적어주고 np옵션은 해당 node의 core수를 기입해 주면된다.

  이 부분에서 유의할 점은 node명을 ip가 아닌 dns명으로 적어주어야 한다(사실 ip로 해보지는 않았음). 보통은 /etc/hosts 파일명에 가상의 cluster ip를 dns명으로 메핑해주고 이곳에 node로 등록해 주면 된다.

2) Compute node 설치
 1)에서와 같이 front node를 설치했으면 이제 실제 계산이 이루어지는 compute node를 설치해야 한다. 설치는 아래와 같다. front node 설치는 아주 간단하다.
# make package
  torque압출 해제 디릭토리에서 make package 명령을 사용하면 compute node에 필요한 package들을 자동으로 만들어 준다. 이렇게 만들어진 package중 mom자가 들어가는 package를 해당 compute node로 복사 이후 아래 명령으로 설치를 계속 진행하면 된다.
# ./torque-package-mom-linux.sh --install
node1: ...
...
node1: Done
 자 이제 job이 실행된 pbs_mom이 정상적으로 설치가 되었다 .그러면 다음과 같이 간단하게 mom 환경 설정을 해준다.
# cd /opt/torque/mom_priv
# vi config
########## pbs_mom config
$pbsserver  node0
#logever     255
위에서 pbsserver는 처음 설치한 frontnode 이름을 명시해 주면 된다.

자 이렇게 모든 설치가 완료되었으면 이제 모든 front 및 compute node에서 pbs_mom을 재실해 준다. 실행파일은 /opt/torquq/sbin/pbs_mom, pbs_server 이다.
다음으로 front node에서 pbsnodes -a 명령을 통해 모든 compute node가 정상적으로 올라오는지 확인하면된다.
정상적으로 pbs_mom이 작동하고 있으면 모든 노드에서 state가 free로 되어 있어야 한다.

다음에 torque를 좀더 자세하게 설정해보도록 하겠다.



prev"" #1 next