본문 바로가기

Science n Bioinfo

생물정보학자를 위한 클러스터 만들기 #3.1 Perceus 설치하기

---------------------
다시 쓰여진 글이 있습니다. 다음 글을 보시기 바랍니다. http://blog.neosgen.net/40
---------------------

  1. 클러스터 이해하기
  2. 시스템 구성과 CentOS 설치하기
  3. Perceus 설치하기

회사 클러스터 메인 하드가 고장이 나서 클러스터를 새롭게 구성했습니다. "CentOS 4.5 + Perceus 1.3.1" 입니다.

Perceus 는 이전에 Warewulf 를 만들던 곳에서 Warewulf 를 좀 더 관리하기 쉽게 다시 작성한 Cluster Software 입니다. Warewulf 는 3 이 준비되고 있지만, 언제나올지 잘 모르겠군요. Perceus는 Warewulf 와는 다르게 하나의 실행 파일에서 옵션들을 변경해서 각 노드들을 관리하게 되어 있습니다. 그래서 좀 더 관리하기가 편리합니다. 홈페이지는 http://www.perceus.org/ 입니다. 홈페이지가 (아마 Trac 이 아닌가 싶은데요.) 위키 형식으로 구성되어 있습니다.

CentOS 4.5의 설치에 대한 내용은 별도로 언급하지 않겠습니다. 여기서 사용한 시스템은 2007.10.21에 "#yum update" 명령을 통해서 최신버젼 갱신되었습니다. CentOS 4.5 설치시에 SELinux 와 방화벽 설정을 끄시길 바랍니다. SELinux는 사용하지 않으셔야 하며, 방화벽은 Perceus 설치 끝내고 정상적으로 작동이 되는 것을 확인하고 다시 활성 시키는게 정신건강에 좋습니다.^^

Perceus 1.3.1  버젼부터는 PDF 형식의 Documentation 이 제공됩니다. 오호... 그러나. 이전에 홈페이지에 있던 SunGrid Engine  설치 같은 몇 가지 추가 항목이 없어졌습니다. 그리고 몇 가지 과정이 아직 완벽하지 않더군요. 여기서는 Documentation 을 참고해서 CentOS 4.5 에 맞는 방법으로 설치하겠습니다.

Perceus 를 설치를 위한 Host 설정

Perceus 설치하기 전에 몇 가지 설정을 먼저 합니다. 우리가 구성하는 시스템은 랜카드를 2개 가지고 있습니다. 외부 인터넷과 연결되는 eth0 와 내부 클러스터 노드들과 연결되는 eth1 카드 입니다. 이중  eth1 카드를 설정해야 합니다.

CentOS 에서 eth1 카드에 대한 환경 설정 파일은 /etc/sysconfig/network-scripts/ifcfg-eth1 에 존재합니다. 이 파일을 열어서 다음과 같은 내용으로 바꿔 줍니다. 이때 HWADDR= 로 시작하는 라인은 그대로 유지합니다.
DEVICE=eth1
BOOTPROTO=static
BROADCAST=10.0.255.255
IPADDR=10.0.0.1
NETMASK=255.255.0.0
NETWORK=10.0.0.0
ONBOOT=yes
TYPE=Ethernet
그리고 네트워크를 재시작 합니다.
# /etc/init.d/network restart

Perceus 설치를 위한 관련 라이브러리 설치

Perceus 가 동작하기 위한 관련 라이브러리들이 먼저 설치되어 있어야 합니다(너무 당연하가요?^^;). 먼저 yum 에서 제공되는 것들을 설치 합니다.
# yum -y groupinstall "Development Tools"
저는 이 과정에서 redhat-lsb pakcage 가 error 를 내더군요. 그래서 이 패키지를 제거하고 설치했습니다. "# yum remove redhat-lsb" 명령어로 제거 할 수 있습니다. 그리고 다음은 nasm 과 perl-DBI 를 설치합니다.
# yum -y install nasm
# yum -y install perl-DBI
이제 추가 패키지로
  • bash-completion
  • perl-IO-Interface
  • perl-Net-ARP
  • perl-Unix-Syslog
를 설치해야 합니다. 그런데 이 패키지 설치에 문제가 있습니다. 이 패키지를 Perceus 홈페이지에서 받을 수 있는데, 설치가 정상적으로 되지 않고, 에러가 납니다. 그래서 여기서는 perl 관련패키지 들을 cpan 에서 직접 받아서 설치하겠습니다. 다음은 현제 최신버젼을 받아서 설치하는 과정입니다.
# wget http://search.cpan.org/CPAN/authors/id/L/LD/LDS/IO-Interface-1.03.tar.gz
# wget http://search.cpan.org/CPAN/authors/id/C/CR/CRAZYDJ/Net-ARP-1.0.1.tgz
# wget http://search.cpan.org/CPAN/authors/id/M/MH/MHARNISCH/Unix-Syslog-1.0.tar.gz
# tar xfz IO-Interface-1.03.tar.gz
# tar xfz Net-ARP-1.0.1.tgz
# tar xfz Unix-Syslog-1.0.tar.gz
# cd IO-Interface-1.03
# perl Makefile.PL  &&  make && make install
# cd ../Net-ARP
# perl Makefile.PL  &&  make && make install
# cd ../Unix-Syslog-1.0
# perl Makefile.PL  &&  make && make install
# cd ..

이제 bash-completation 을 설치합니다. bash-completation 은 Perceus 에서 제공하는 것을 사용합니다.

[root@palza apps]#wget http://www.perceus.org/downloads/perceus/v1.x/dependencies/bash-completion-20060301-1.caos.src.rpm
# rpmbuild --rebuild bash-completion-20060301-1.caos.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/noarch/bash-completion-20060301-1.redhat.noarch.rpm


Perceus 본격 설치

Perceus 1.3.1 파일을 받습니다.

# cd /root/
# mkdir perceus/
# cd perceus/
# wget http://www.perceus.org/portal/files/perceus-1.3.1.tar.gz
# export TAR_OPTIONS=--wildcards
# rpmbuild -ta perceus-1.3.1.tar.gz

이러면 이런 저런 메세지를 내뿜으면서 perceus  의 rpm 패키지가 만들어 집니다. 만들어진 패키지는 /usr/src/redhat/RPMS 의 어딘가(^^)에 존재합니다. 만들어진 rpm 파일은 총 3개 입니다. 이중 설치할 패키지는 perceus-1.3.1.rpm 파일 입니다. 이때 그냥 설치할 경우 perl 관련 라이브러리가 설치되야 한다는 에러가 나옵니다. 이 에러는 우리가 perl 관련 라이브러리를 직접 설치했기 때문입니다. 이 에러를 무시하고 설치하기 위해서 --nodeps 옵션을 주고 설치하겠습니다.

# rpm -Uvh --nodeps /usr/src/redhat/RPMS/*/perceus-1.3.1.rpm

설치가 끝나게 됩니다. 이제 Perceus 설정을 해야죠. 한 프로그램에서 모든 것을 처리하기 때문에 이전의 Warewulf  보다 훨씬 쉽습니다.