PBS是功能最為齊全,曆史最悠久,支援最廣泛的本地叢集排程器之一。 PBS的目前包括openPBS,PBS Pro和Torque三個主要分支。 其中OpenPBS是最早的PBS系統,目前已經沒有太多後續開發,PBS pro是PBS的商業版本,功能最為豐富。Torque是Clustering公司接過了OpenPBS,并給與後續支援的一個開源版本。
下面是本人安裝torque的過程。
一、Torque安裝
在master(管理結點上)
1、解壓安裝包
[[email protected] tmp]# tar zxvf torque-2.3.0.tar.gz
2、進入到解壓後的檔案夾
./configure --with-default-server=master
make
make install
安裝完成後,将torque檔案夾中的bin、sbin加入到環境變量中
3、
(1)[[email protected] torque-2.3.0]#./torque.setup <user>
<user>必須是個普通使用者
(2)[[email protected] torque-2.3.0]#make packages
把産生的 tpackages , torque-package-clients-linux-x86-64.sh,
torque-package-mom-linux-x86-64.sh 拷貝到所有節點。
(3)[[email protected] torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[[email protected] torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
(4)編輯/var/spool/torque/server_priv/nodes (需要自己建立)
加入如下内容
master np=4
node01 np=4
.......
node09 np=4
(5)啟動pbs_server,pbs_sched,pbs_mom,并把其寫到/etc/rc.local裡使其能開機自啟動。
(6)建立隊列
[[email protected] ~]# qmgr
create queue students
set queue students queue_type = Execution
set queue students Priority = 40
set queue students resources_max.cput = 96:00:00
set queue students resources_min.cput = 00:00:01
set queue students resources_default.cput = 96:00:00
set queue students enabled = True
set queue students started = True
4、在node0x (x=1-9,計算結點上)
[[email protected] torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[[email protected] torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
然後啟動pbs_mom ,把pbs_mom寫入/etc/rc.local
二、Torque PBS使用
1、建立使用者
在master的root下
useradd test
passwd test
輸入test密碼
到/var/yp下make一下
2、配置普通使用者的ssh
su test
cd
ssh-keygen -t dsa
cd .ssh
cat id_pub.dsa >>authorized_keys
chmod 600 authorized_keys
3、編寫作業腳本
[[email protected] t]vi pbsjob
#!/bin/tcsh
#PBS -o /home/test1/pbstest/t/output 标準輸出檔案
#PBS -e /home/test1/pbstest/t/error 錯誤輸出檔案
#PBS -l nodes=5:ppn=4 規定使用的節點數以及每個節點能跑多少核
#PBS –q students 把任務送出到students隊列中
cd $PBS_O_WORKDIR 到工作目錄下(此為PBS提供的環境變量)
mpirun –machine $PBS_NODEFILE -np 20 ./vasp
4、啟動mpd
mpdboot -n 10 -f mfa
mfa内容:
master:4
node01:4
….
node09:4
5、送出,查詢,删除作業
送出作業:qsub pbsjob
作業送出後會有一個作業号
[[email protected] pbstest]$ qsub pbsjob
48.master
查詢作業:qstat
[[email protected] pbstest]$ qstat
Job id Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -------------------------------
48.master pbstest test1 00:00:00 R students
删除作業:qdel 作業号
[[email protected] pbstest]$ qdel 48
====================================================================
下載下傳torque-2.3.0.tar包,置于HOME下
tar xvf torque-2.3.0.tar
cd torque-2.3.0
./configure
make
make install
./torque.setup
注1:這一步後面的user必須得是非root使用者。
注2:這一步之前要把/usr/local/sbin/加入到PATH中。
make packages
将産生的 tpackages,torque-package-clients-linux-x86-64.sh和torque-package-mom-linux-x86-64.sh 拷貝到所有節點。
在所有節點上執行./torque-package-clients-linux-x86_64.sh --install和./torque-package-mom-linux-x86_64.sh --install,主節點上也執行一下。
編輯/var/spool/torque/server_priv/nodes
格式為
node1 np=8
node2 np=8
……
編輯/var/spool/torque/server_name内容為主節點的名字。
在主節點啟動pbs_server,pbs_sched,pbs_mom,直接輸入這三個指令就可以了,在計算節點隻要啟動pbs_mom。
建立隊列,使用root使用者
qmgr
create queue students
set queue students queue_type = Execution
set queue students enabled = True
set queue students started = True
注:這裡不能使用它預設的那個隊列,否者用ms送出任務時會出現權限問題,不知道為什麼。
至此配置完成,可以使用qstat/qstat -Q/qstat -q/qstat -f等指令檢視隊列狀态。
4配置MS網關
假設MS安裝在預設位置,在HOME下
設定使用PBS管理作業:
cd ~/Accelrys/MaterialsStudio44/etc/Gateway/config/
./configure queue -queuepath PBS/dsd_pbs -activate
編輯../../Gateway/root_default/dsd/conf/gw-info.sbd
設定參數queuingsystem=PBS/dsd_pbs
編輯../../Gateway/root_default/dsd/conf/gwparams.cfg
設定參數gw_queuingsystem=PBS
重新開機網關~/Accelrys/MaterialsStudio44/etc/Gateway/msgateway_control_18888 restart
5Windows下的設定:
在Sever Console下重新整理伺服器,确認伺服器屬性中的queue裡有我們建立的students隊列。
在送出計算任務裡的queue選上students,就可以啦~~
PS:如果隊列一直顯示queued不開始,而确實伺服器上又沒有任務在計算的話,可以使用qrun jobid來開始任務。我第一次是這麼開始,之後就不用了,不知道為什麼