RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
출처 블로그 > 섹 스코리아
원본 http://blog.naver.com/korean44/5537771
PBS(Portable Batch System) 설치하기작성자: 김상완(sangwan@kisti.re.kr)최초 작성일: 2002-10-14이 문서는 PBS(Portable Batch System) 을 설치하고 사용하는 방법을 설명한다.설치에 사용된 운영체제는 RedHat 7.1이고, 이 문서에서 설치된 OpenPBS 버젼은2.3.16이다. 소스 코드와 RPM 패키지로 설치하는 방법을 설명한다.문서 업데이트2002-10-16: 버그 수정, RPM 제거 방법2002-10-17: PBS 제시작 스크립트목차1. 소스로 설치하기  1.1. 마스터 노드에 설치    0) 다운로드 받기    1) 압축풀기    2) 컴파일하기    3) 설치하기    4) 서버 설정    5) 서버 데몬 시작하기    6) 클라이언트 노드 접속 확인    7) 서버 데몬 제시작 시키기    8) PBS 제거하기  1.2. 클라이언트 노드에 설치    1) 압축풀기    2) 컴파일하기    3) 설치하기    4) 클라이언트 설정    5) 클라이언트 데몬 시작하기2. RPM으로 설치  2.1. 마스터 노드에 설치    1) RPM 패키지 설치    2) 환경 변수의 추가    3) 서버 설정    4) 서버 데몬 시작하기  2.2. 클라이언트 노드에 설치    1) RPM 패키지 설치    2) 클라이언트 설정    3) 클라이언트 데몬 시작하기    4) PBS 제거하기3. 기타  3.1. MAN 페이지 참조  3.2. PBS 데몬의 종류  3.3. 네트웍 주소와 포트  3.4. 부팅시 데몬을 자동으로 실행하기  3.5. PBS 제시작 스크립트참고자료
1. 소스로 설치하기 [[목차]]1.1. 마스터 노드에 설치 [[목차]]0) 다운로드 받기http://www.openpbs.org에서 PBS 최신 버젼을 다운로드 받는다.또는 KISTI Grid Testbed의 '소프트웨어 다운로드 디렉토리'에서(http://gridtest.gridcenter.or.kr/software/index.php?dir=/OpenPBS)OpenPBS_2_3_16.tar.gz을 다운 받는다.1) 압축풀기$ tar zxvf OpenPBS_2_3_16.tar.gz$ cd OpenPBS_2_3_162) 컴파일하기--enable-docs 옵션이 없으면 man 문서가 설치되지 않는다.$ ./configure --prefix=/usr/pbs --enable-docs --disable-mom$ make주의>>OpenPBS 2.3.12등의 이전 버젼에서는 컴파일과정에서"'CLK_TCK' undeclared" 등의 에러가 발생할 수 있으나 헤더화일 include등을수정하면 컴파일이 가능하다.3) 설치하기/usr/pbs에 바이너리가 설치되고,/usr/spool/PBS에 환경설정 및 로그화일 디렉토리 등이 설치된다.$ su# make install4) 서버 설정# cd /usr/spool/PBS서버 이름을 지정하여 준다.# cat server_namesdd114.foobar.com서버에 연결된 노드들을 명시하여 준다.# vi server_priv/nodessdd105sdd106sdd107:wq참고>> nodes 화일의 형식은 다음과 같다.node_name[:ts] [property ...] [np=NUMBER]노드 이름 다음에 ts는 timeshared를 의미한다.np=NUMBER 는 VP(virtual processor)의 개수를 지정한다.자세한 것은 참고자료를 참고 할 것.소스로 설치할 경우 설정 화일이 생성되지 않으므로 만들어 준다.# vi /usr/spool/PBS/pbs_server.conf## Create queues and set their attributes.# Create and define queue workq#create queue workqset queue workq queue_type = Executionset queue workq enabled = Trueset queue workq started = True## Set server attributes.#set server scheduling = Trueset server default_queue = workqset server log_events = 511set server mail_from = admset server query_other_jobs = Trueset server scheduler_iteration = 600:wqserverdb 화일 생성, 큐 생성 등의 초기화# /usr/pbs/sbin/pbs_server -t create# /usr/pbs/bin/qmgr < /usr/spool/PBS/pbs_server.confMax open servers: 4# /usr/pbs/bin/qterm5) 서버 데몬 시작하기# /usr/pbs/sbin/pbs_server# /usr/pbs/sbin/pbs_sched# ps -ax | grep pbs15038 ? S 0:00 /usr/pbs/sbin/pbs_server15040 ? S 0:00 /usr/pbs/sbin/pbs_sched6) 클라이언트 노드 접속 확인# /usr/pbs/bin/pbsnodes -asdd105 state = free np = 1 ntype = clustersdd106 state = free np = 1 ntype = clustersdd107 state = free np = 1 ntype = cluster7) 서버 데몬 제시작 시키기# killall pbs_server ; killall pbs_sched ; \ /usr/pbs/sbin/pbs_server ; /usr/pbs/sbin/pbs_sched8) PBS 제거하기# killall pbs_sched pbs_server# killall pbs_mom# rm -rf /usr/spool/PBS /usr/pbs1.2. 클라이언트 노드에 설치 [[목차]]1) 압축풀기$ tar zxvf OpenPBS_2_3_16.tar.gz$ cd OpenPBS_2_3_162) 컴파일하기$ ./configure --help$ ./configure --prefix=/usr/pbs --disable-server --enable-mom \ --set-default-server=sdd114.foobar.com참고>> --set-default-server 옵션의 값은 server_name 화일에 저장된다.$ make3) 설치하기$ su# make install/usr/pbs에 바이너리가 설치되고,/usr/spool/PBS에 환경설정 및 로그화일 디렉토리 등이 설치된다.4) 클라이언트 설정# cd /usr/spool/PBS# cat server_namesdd114.foo.bar.com# vi mom_priv/config$clienthost sdd114.foo.bar.com:wq5) 클라이언트 데몬 시작하기# /usr/pbs/sbin/pbs_mom# ps -ax | grep pbs17812 ? S 0:00 /usr/pbs/sbin/pbs_mom2. RPM으로 설치 [[목차]]www.openpbs.org에서 PBS 최신 버젼을 다운로드 받는다.또는 KISTI Grid Testbed의 '소프트웨어 다운로드 디렉토리'에서(http://gridtest.hpcnet.ne.kr/software/index.php?dir=/OpenPBS)openpbs-2.3pl2-1.i386.rpm (마스터 노드용)openpbs-exechost-2.3pl2-1.i386.rpm (계산 노드용)위의 두 화일을 다운 받는다.2.1. 마스터 노드에 설치 [[목차]]1) RPM 패키지 설치tcl, tk 패키지등의 의존성 문제가 있으므로 --nodeps 옵션을 주어 설치한다.# rpm -ivh --nodeps openpbs-2.3pl2-1.i386.rpmPreparing... ########################################### [100%] 1:openpbs ########################################### [100%]2) 환경 변수의 추가# vi ~/.bashrc...# PBSexport PATH=/usr/pbs/bin:/usr/pbs/sbin:$PATHexport PBS_SERVER_HOME=/usr/spool/PBSexport PBS_HOME=/usr/spool/PBS...:wq# source ~/.bashrc3) 서버 설정# cd /usr/spool/PBS# vi server_priv/nodessdd105sdd106sdd107:wq# vi server_namesdd114.foo.bar.com:wq4) 서버 데몬 시작하기# /usr/pbs/sbin/pbs_server# /usr/pbs/sbin/pbs_sched# ps -ax | grep pbs15270 ? S 0:00 /usr/pbs/sbin/pbs_server15274 ? S 0:00 /usr/pbs/sbin/pbs_sched2.2. 클라이언트 노드에 설치 [[목차]]1) RPM 패키지 설치# rpm -qpl openpbs-exechost-2.3pl2-1.i386.rpm/etc/rc.d/init.d/pbs/usr/doc/openpbs-exechost-2.3pl2.../usr/spool/PBS/usr/spool/PBS/aux/usr/spool/PBS/checkpoint/usr/spool/PBS/mom_logs/usr/spool/PBS/mom_priv/usr/spool/PBS/mom_priv/jobs/usr/spool/PBS/pbs_environment/usr/spool/PBS/server_name/usr/spool/PBS/spool/usr/spool/PBS/undeliveredtcl, tk 패키지등의 의존성 문제가 있으므로 --nodeps 옵션을 주어 설치한다.# rpm -ivh --nodeps openpbs-exechost-2.3pl2-1.i386.rpmPreparing... ########################################### [100%] 1:openpbs-exechost ########################################### [100%]2) 클라이언트 설정# cd /usr/spool/PBS# vi server_namesdd114.foo.bar.com:wq# vi mom_priv/config$clienthost sdd114.foo.bar.com:wq3) 클라이언트 데몬 시작하기# /usr/pbs/sbin/pbs_mom# ps -ax | grep pbs 4178 ? S 0:00 /usr/pbs/sbin/pbs_mom4) PBS 제거하기RPM으로 PBS를 설치하였을 경우 PBS를 제거하려면 실행중인 프로세스를 죽이고,패키지를 제거하면 된다.# killall pbs_server ; killall pbs_sched ; killall pbs_mom# ps -ax | grep pbs# rpm -qa | grep pbsopenpbs-2.3pl2-1openpbs-exechost-2.3pl2-1# rpm -e openpbs...error: cannot remove /usr/spool/PBS - directory not empty# rpm -e openpbs-exechost...error: cannot remove /usr/spool/PBS - directory not empty# rpm -qa | grep pbs# rm -rf /usr/spool/PBS3. 기타 [[목차]]3.1. MAN 페이지 참조 [[목차]]--enable-docs 옵션을 주어 컴파일 하면 /usr/pbs/man 에 메뉴얼 페이지가 설치된다.이것을 MANPATH에 추가 하여 두려면 다음 행을 .bashrc 에 추가해 두자.# export MANPATH=`man --path`:/usr/pbs/man3.2. PBS 데몬의 종류 [[목차]]Job Server (pbs_server) 사용자로 부터 배치 작업을 받거나 생성한는 역할을 한다. 작업을 수정하거나, 시스템 정지로 인한 작업의 손실을 방지하는 역할도 한다.Job Executor (pbs_mom) 실제로 작업을 실행시키는 역할을 한다. 모든 실행중인 작업의 mother 라는 뜻으로 mom 이라고 부른다. 작업의 출력을 서버로 전달하는 역할을 한다.Job Scheduler (pbs_sched) 어떤 작업을 어디에서 언제 실행시킬지를 결정하는 역할을 한다. Mom 들로 부터 시스템의 자원상태를 모니터링 하기 위한 정보를 수집하며, Server로 부터 수행해야 될 작업에 대한 정보를 수집한다.3.3. 네트웍 주소와 포트 [[목차]]PBS의 데몬들과 명령어들은 사용할 포트 번호를 알아내기 위해서 /etc/services를검색한다. 포트 번호는 모든 서버와 클라이언트에 동일하게 지정되어 있어야 한다.만약 /etc/services에 포트 번호를 지정해 주지 않았을 경우에는 다음의 포트들이사용된다.pbs 15001/tcp # pbs server (pbs_server)pbs_mom 15002/tcp # mom to/from serverpbs_resmom 15003/tcp # mom resource management requestspbs_resmom 15003/udp # mom resource management requestspbs_sched 15004/tcp # scheduler참고>>pbs_resmom 은 이전 버전의 PBS에서 사용되던 포트번호이다. 지금은 pbs_mom 데몬으로 그 기능이 합쳐졌다.3.4. 부팅시 데몬을 자동으로 실행하기 [[목차]]데몬을 자동으로 실행하려면 /etc/rc.d/rc.local 화일에 데몬 실행 명령을 추가해 준다.마스터 노드# vi /etc/rc.d/rc.local...# PBS daemons (master node)/usr/pbs/sbin/pbs_server/usr/pbs/sbin/pbs_sched:wq클라이언트 노드# vi /etc/rc.d/rc.local# PBS daemons (client nodes)/usr/pbs/sbin/pbs_mom:wq3.5. PBS 제시작 스크립트 [[목차]]전체 클러스터의 PBS 시스템을 중지시키고, 설정화일을 복사한 후 다시 제시작시키는 스크립트이다. rsh과 rcp가 동작하여야 한다.$ cat pbsrestart.sh#!/bin/sh# stop serverkillall pbs_serverkillall pbs_schedps -ax | grep pbs_sleep 1# stop momsrsh sdd105 "killall pbs_mom"rsh sdd106 "killall pbs_mom"rsh sdd107 "killall pbs_mom"rsh sdd105 "ps -ax | grep pbs_"rsh sdd106 "ps -ax | grep pbs_"rsh sdd107 "ps -ax | grep pbs_"sleep 1# copy mom.conf to client nodes# mom.conf should be under the current directoryrcp mom.conf sdd105:/usr/spool/PBS/mom_priv/configrcp mom.conf sdd106:/usr/spool/PBS/mom_priv/configrcp mom.conf sdd107:/usr/spool/PBS/mom_priv/configsleep 1# start momsrsh sdd105 /usr/pbs/sbin/pbs_momrsh sdd106 /usr/pbs/sbin/pbs_momrsh sdd107 /usr/pbs/sbin/pbs_momrsh sdd105 "ps -ax | grep pbs_"rsh sdd106 "ps -ax | grep pbs_"rsh sdd107 "ps -ax | grep pbs_"sleep 1# start server/usr/pbs/sbin/pbs_server/usr/pbs/sbin/pbs_schedps -ax | grep pbs_sleep 1# set server attributes# e.g.# qmgr -c "s q workq max_running=10"# show nodes statuspbsnodes -a | more$참고자료 [[목차]]1. Portable Batch System Administrator Guide (Release 2.3) http://www.openpbs.org/docs.html2. PBS man pages-EOF- PBS 설치하기 [[TOP]]
2006/09/11 08:44 2006/09/11 08:44
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)