본문 바로가기

IT n Linux

생물정보학자를 위한 클러스터 만들기 #6v1 Sun Grid Engine 설치하기

  1. 클러스터 이해하기
  2. 시스템 구성과 CentOS 설치하기
  3. Perceus 설치하기
  4. Perceus 설정하기
  5. Perseus Node 설정하기
  6. Sun Grid Engine 설치하기
이번에는 Queueing System 을 설치할 차례입니다. Queueing System 은 사용자가 돌리려는 프로그램을 현재 아무런 일도 하고 있지 않는 Node를 찾아서 자동으로 실행시켜 주는 프로그램을 말합니다. Cluster 에 가장 중요한 프로그램이라고 할 수 있는데요. 다양한 Queueing System 이 존재합니다. OpenPBS, Torque, Sun Grid Engine 중 우리는 Sun Grid Engine 를 설치할 것입니다.

알림 : 앞으로 할 모든 내용은 root 권한에서 이루어 진다는 가정을 하고 있습니다.

SGE 의 구성
SGE 는 전체 시스템을 몇가지 host 로 나눠서 관리하고 있습니다. 기본적으로 알아야 할 몇 가지를 알아보면
  • Administrator Host : 전체 시스템을 구성하는 여러가지 설정들을 할 수 있는 Host. Cluster 를 구성하는 모든 컴퓨터들은 이 admin host 로 지정하게 된다.
  • Submit Host : Queueing 시스템에 Job 을 넣는데 사용되는 컴퓨터. 여기서는 Cluster Master 가 이 역할을 하므로 Cluster Master 를 Submit Host 로 지정한다.
  • Executive Host : Queue 에서 job 을 가져와서 실행하는 컴퓨터. Cluster Node 들이 이 것에 해당한다. Cluster Master 에서도 Job 을 실행하고 싶으면, Cluster master 도 이것으로 등록하면 된다.
SGE 를 실행하는데 사용할 계정 설정
SGE를 root 계정으로 작동시키는 것 보다 별도의 계정으로 동작시키는게 좋습니다. 여기서 SGE가 사용할 계정은 sge 로 정합니다. 그리고 sge 가 사용할 uid 는 20202 로 하겠습니다.
# useradd  -u 20202 sge

파일 받기 및 압축 풀기
SGE 공식 홈페이지 에서 왼쪽 메뉴중 Get GE Binaries 에서 안정 버젼인 GE 6.2 Binaries 을 선택합니다. 6.2 버젼은 이전 버젼과는 달리 common 과 platform-specific binary 가 한 파일에 묶여 있습니다. 여기서는 62  Bit 를 기준으로 하므로 ge62_lx24-amd64.tar.gz 파일을 받습니다.

받은 파일의 압축을 풀면 다음의 2가지 파일이 나옵니다.
  • ge6.2/ge-6.2-bin-lx24-amd64.tar.gz
  • ge6.2/ge-6.2-common.tar.gz
이 파일은 특별한 과정 필요없이 압축만 풀면 사용할 수 있도록 되어있습니다. 받은 파일을 설치경로로 이동한 뒤에 압축을 풀도록 합니다. 여기서는 "/home/sge" 에 설치하도록 합니다.
# mkdir /home/sge
# cp /root/ge6.2/ge-6.2-bin-lx24-amd64.tar.gz /home/sge
# cp /root/ge6.2/ge-6.2-common.tar.gz /home/sge
# cd /home/sge
# tar xfz ge-6.2-bin-lx24-amd64.tar.gz
# tar xfz ge-6.2-common.tar.gz

/etc/service 수정
SGE 이 작동하기 위해서는 어떤 Port 를 이용해서 Daemon 들 사이에 통신을 할 것인가를 알려주어야 합니다. SGE 는 이 내용을 사용자가 /etc/service 파일에서 지정하게 되어있습니다.다음 내용을 /etc/service 파일에 넣어 줍니다.
sge_qmaster     536/tcp
sge_execd       537/tcp

/etc/hosts 수정
CentOS 를 설치하게 되면 hostname 이 127.0.0.1 과 같이 묶여 있습니다. 이 경우 SGE 설치과정에서 에러가 납니다. 그래서 /etc/hosts 파일을 열어서 이를 수정해 줍니다. hostname 을 127.0.0.1 이 아닌 다른 IP (eth0 의 IP 등)와 맞춰주면 됩니다. 저는 다음과 같이 설정했습니다.
127.0.0.1       localhost.localdomain   localhost
10.0.0.1     master  master.neosgen.net

SGE_ROOT 지정
환경설정 변수에 SGE_ROOT 를 지정해야 합니다. RedHat 계열의 시스템(RHEL, CentOS)의 경우 다음 내용을 가진 파일을 /etc/profile.d/sge.sh 에 추가합니다.
SGE_ROOT=/home/sge
export SGE_ROOT
환경 설정을 반영하기 위해서 다음 명령을 수행 합니다.
# source /root/.bashrc

SGE Que Master 설정
설치는 "/home/sge/install_qmaster" 를  실행하면 됩니다.
# cd /home/sge
# ./install_qmaster
첫 화면에서 License  가 나오고 이 내용에 동의하면, 다음부터 설정 창으로 넘어가게 됩니다. 설정과정은 특별한 이유가 없다면 기본 값을 따라 가면 됩니다. 입력 중에 Choosing a Grid Engine admin user name 항목 입력이 있습니다. 여기에는 앞에서 설정한 sge 계정을 지정해 줍니다.
Choosing a Grid Engine admin user name
--------------------------------------

Please enter a valid user name >> sge

Installing Grid Engine as admin user >sge<

Hit <RETURN> to continue >>
그리고 중간에 잘못 입력한 것이 있으면 Ctrl+C 를 눌러서 중단시키고 ./install_qmaster 를 다시 실행시키면 됩니다.

Adding admin and submit hosts 항목에서 사용할 node 들의 정보를 추가해도 되고, 이후에 추가 하셔도 됩니다. 여기서는 나중에 하겠습니다. Queue Master 의 기본 설정이 끝난 것입니다.

설정파일 등록
기본 설정이 끝나면 생성된 설정파일이 사용자가 로그인 할때 항상 실행되게 해야 합니다. 여기서는 profile.d 에 sge 설정을 직접 등록하겠습니다.
# cp /home/sge/default/common/settings.sh /etc/profile.d/sge.sh
Queue Master 설정이 끝났습니다.

perceus vnfs image 에 sge 설정 추가 및 /etc/service 수정
이제 각 Node 를 sge의 queue 에 추가해야 합니다. 우선 해야 할 일은 앞서 설정한 파일의 결과로 나온 sgeexecd 파일을 node가 처음 켜질때 자동으로 실행하도록 하는 것입니다.
# perceus vnfs mount centos-5.2.x86_64
# cp /opt/sge/default/common/sgeexecd /mnt/centos-5.2.x86_64/etc/init.d/sgeexecd.p536
# ln -s ../init.d/sgeexecd.p536 /mnt/centos-5.2.x86_64/etc/rc3.d/S50sgeexecd.p536
# ln -s ../init.d/sgeexecd.p536 /mnt/centos-5.2.x86_64/etc/rc5.d/S50sgeexecd.p536
cp /opt/sge/default/common/settings.sh  /mnt/centos-5.2.x86_64/etc/profile.d/sge.sh
그리고 Master 에서 했던 것과 똑같이 services 파일을 수정해야 합니다. 위의 내용을 참고해서 /mnt/centos-5.2.x86_64/etc/services 파일을 수정하시기 바랍니다.

이제 vnfs 이미지를 unmount 하고 변경값을 적용시키기 위해서 각 node 를 재부팅합니다.

Administrator host 추가
master 와 각 node 를 사용하기 위해서 queue 에 submit host 나 administrator host 로 등록을 해야 합니다. 방법은 다음과 같습니다.
# qconf -ah n0001
n0001 added to administrative host list
위와 같은 방법으로 모든 node 를 등록해 줍니다.

Submit Host 추가
Queue 에 Job 을 넣기 위해서는 사용하는 컴퓨터가 Submit Host 로 등록되어 있어야 합니다. 다음 명령어로 Master 를 submit host 에 추가합니다.
# qconf -as master
위에서 master 부분은 당연히 master 노드의 이름으로 바꾸셔야 합니다.

Queue 에 Node 추가
node 에서 프로그램을 실행하기 위해서 queue 에 executive host 로 각 node 들을 등록해야 합니다. executive host 를 등록하기 위해서는 다음 명령어를 실행합니다.
# cd /home/sge
# ./install_exec
master 설정 때 처럼 기본값으로 진행하시면 큰 문제 없습니다.

이제 설정이 마무리 되었습니다. SGE 의 자세한 사용법은 인터넷을 찾으시면 많이 나옵니다.^^

'IT n Linux' 카테고리의 다른 글

Amber 10 설치하기  (0) 2009.03.18
MPICH2 설치하기  (0) 2009.03.05
아파치 보안 설정 하기 : .htaccess 와 간단한 아파치 설정 사용  (0) 2008.05.09
Amber9 설치하기  (0) 2008.04.17
OpenMPI 설치하기  (1) 2008.04.14