IT pass HikiWiki - [Memo2008]090206『PC クラスターの作り方 (その 2)』(杉山(北大)) 補足資料 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
[((<ITPASSセミナー>))]
= クラスタ構築メモ
== ログインノードの構築
=== インストールの準備
* 今回は USB ディスクを利用する. 128 MB 程度の低容量のもので十分
* hd-media/boot.img.gz をダウンロード
((<URL:http://ftp.nl.debian.org/debian/dists/testing/main/installer-amd64/current/images/hd-media/boot.img.gz>))
* iso イメージをダウンロード
((<URL:http://cdimage.debian.org/cdimage/lenny_di_rc1/amd64/iso-cd/debian-testing-amd64-businesscard.iso>))
* ファームウェアをダウンロード
((<URL:http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/firmware.tar.gz>))
* [Mac] USB メモリをさすと自動でマウントされるので, アンマウントする.
$ sudo umont -vf /Volume/USBdisk
* [Mac] boot.img.gz を展開する. アクセスランプがつかなくなったら Ctrl-C.
$ sudo zcat ~/Desktop/boot.img.gz > /dev/disk1
* [Mac] iso イメージとファームウェアをコピーする.
USB メモリをさし直せばオートマウントされるので, ドラッグアンドドロップするだけ.
=== Debian GNU/Linux のインストール
* BIOS 画面で USB ディスクから起動するように設定する.
* Advanced options => Expert Install
* デフォルトだと, どうもうまくインストールできなかったので....
* 言語選択
* 日本
* ロケール: ja_JP.UTF8
* キーボード
* PC スタイル, 日本 (106 キーボード)
* インストーラー iso イメージの検索
* OK するだけ
* ネットワーク
* 適宜手動で. 今回は 133.87.45.15 を利用.
* ディスクのパーティショニング
* /dev/sda のパーティショニング. LVM は設定しない.
* /home のみ分割.
* /dev/sdb のパーティショニング. LVM は設定しない.
* パーティションテーブルタイプ: gpt
* /work01 にマウント
* インストールするカーネル
* linux-image-2.6-amd64
* ソフトウェアの選択
* 標準システムのみ
* システムの時刻は UTC に合わせない.
=== パッケージの追加
* ssh サーバをインストール
# apt-get install openssh-server
* sudo
# apt-get install sudo
# visudo
sugiyama ALL=(ALL) ALL
* rsync
# apt-get install rsync
=== カーネル再構築
* 計算ノード用のカーネルを作成する.
* パッケージのインストール. ncurces 関連は make menuconfig するために必要.
# apt-get install kernel-package linux-source-2.6.26 libncurses5-dev
* カーネルの展開
# cd /usr/src/
# tar jxvf linux-source-2.6.26.tar.bz2
# ln -s linux-source-2.6.26 linux
# cd linux
* Debian のでフォルトカーネルの設定ファイルをコピーしてくる.
# cp /boot/config-2.6.26-1-amd64 .config
* make
# make menuconfig
Network support => Network Options
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
[*] IP: RARP support
Device Drivers => Network device support => Ethernet (1000 Mbit)
<*> Intel(R) PRO/1000 Gigabit Ethernet support
File systems
<*> Ext3 journalling file system support
File systems => Network File Systems
<*> NFS file system support
[*] Root file system on NFS
# make-kpkg --initrd --revision=`date '+%Y%m%d'` --append_to_version=.`hostname` kernel_image kernel_headers
* カーネルのインストール
# cd /usr/src/
# dpkg -i linux-image-2.6.27.5_`date '+%Y%m%d'`_`hostname`.deb
# dpkg -i linux-headers-2.6.27.5_`date '+%Y%m%d'`_`hostname`.deb
* 作成したカーネルで起動するか確認
# reboot
=== ネットワークインターフェイスの設定
* eth1 に対してプライベートアドレスを割り当てる
auto eth0 eth1
iface eth0 inet static
address 133.87.45.15
netmask 255.255.255.0
network 133.87.45.0
broadcast 133.87.45.255
gateway 133.87.45.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 133.87.45.70
dns-search ep.sci.hokudai.ac.jp
iface eth1 inet static
address 192.168.90.100
netmask 255.255.255.0
network 192.168.90.0
broadcast 192.168.90.255
* ネットワークをリスタート
# /etc/init.d/network restart
* 確認
# ifconfig
== NFS サーバの設定
* パッケージのインストール
# apt-get install nfs-kernel-server
* 設定. /home/kodama, /usr, /work01 以下を 192.168.90.0/24 に対して公開
# vi /etc/exports
/home/kodama 192.168.90.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
/usr 192.168.90.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
/work01 192.168.90.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
# /etc/init.d/nfs-kernel-server restart
== 計算ノードの構築
* 計算ノードの IP は, 192.168.90.0/24 を利用することにする.
=== ファイルシステムの用意
* パッケージのインストール
# apt-get install debootstrap
* 置き場を作る. とりあえず /home/kodama としておく.
# adduser --disabled-password kodama
* debootstrap で最小限システムを作る.
システムは "/home/kodama/ノード番号" 以下に置く.
以下の例は, ノード番号 1 とする.
# debootstrap --arch=amd64 lenny 001 http://dennou-h.gfd-dennou.org/arch/cc-env/Linux/debian
* chroot して最低限の設定を行う
# LANG=C chroot /home/kodama/001 /bin/bash
# dpkg-reconfigure tzdata (時刻設定)
Asia -> Tokyo
# apt-get update
# apt-get install openssh-server linux-image-2.6-amd64 sudo nfs-common
# dpkg -i /usr/src/linux*deb
# passwd (root パスワード)
# exit
* 雛形をコピーして編集する. 雛形は /home/kodama/common 以下に置かれている.
# cd /home/kodama/common/
# cp linux *deb ../001/usr/src/ [カーネルをコピー]
# cp hosts ../001/etc/
# cat ../001/hosts
127.0.0.1 localhost
#133.87.45.15 asura.ep.sci.hokudai.ac.jp asura
192.168.90.1 kodama001 kodama001
192.168.90.2 kodama002 kodama002
192.168.90.3 kodama003 kodama003
.... (以下略)
# vi ../001/etc/hostname
kodama001
# cp fstab ../001/etc/
# vi ../001/etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
192.168.90.100:/home/kodama/001 / nfs defaults 0 0
192.168.90.100:/usr /usr nfs defaults 0 0
192.168.90.100:/work01 /work01 nfs defaults 0 0
proc /proc proc defaults 0 0
# cp interfaces ../001/etc/network/
# vi ../001/etc/network/
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.90.1
netmask 255.255.255.0
network 192.168.90.0
broadcast 192.168.90.255
* マウントするためのディレクトリを用意.
# cd /home/kodama/001
# mkdir work01
# mv usr usr.bk; mkdir usr [usr は計算ノードと共有するため]
* /home/kodama/bin/addnode.sh を作った (非常にダサイので誰か直して).
これは上記の操作を一括しておこなうものである.
=== 起動用 USB ディスクを作成する
* 必要なパッケージのインストール
# apt-get install syslinux mtools mbr
* USB ディスクを挿す. 今回は /dev/sdg として認識.
* パーティション作成
# /sbin/sfdisk --force /home/sdg <<EOF
0,1014,6,*
EOF
# /sbin/fdisk -l /home/sdg1 [確認]
* USB ディスクを FAT16 でフォーマット
# sbin/mkfs.msdos /dev/sdg1
* syslinux をインストール
# syslinux /dev/sdg1
* 必要なファイルをコピー
vmlinuz (カーネルバイナリ), syslinux.cfg (SYSLINUX 設定ファイル) が必要.
カーネルは再構築したものを利用すること.
# mount /dev/sdg1 /mnt/
# cp /boot/initrd.img-2.6.26-1-amd64 /mnt/initrd.img
# cp /boot/vmlinuz-2.6.26-1-amd64 /mnt/vmlinuz
* master boot recorder のインストール
# install-mbr /dev/sdg
* syslinux.cfg の編集. rw をつけないと read-only でマウントされてしまうので注意
DEFAULT vmlinuz
APPEND root=/dev/nfs rw nfsroot=192.168.90.100:/home/kodama/01 ip=192.168.90.1:192.168.90.100::255.255.255.0:::
* 上記操作を一括して行う簡単設定スクリプトを作った.
# ./mkusbmem.sh /dev/sdk 1 (デバイス名とノード番号を与える)
=== 参考
* ((<URL:http://blog.asial.co.jp/329>))
* ((<URL:http://www.jp.debian.org/releases/stable/amd64/ch04s03.html.ja>))
* ((<URL:http://www.linux.or.jp/JF/JFdocs/NFS-Root-Client.html>))
* ((<URL:http://www.linux.or.jp/JF/JFdocs/NFS-Root.html>))
* ((<URL:http://grape.mtk.nao.ac.jp/~makino/articles/diskless-note/doc/files/_/_diskless-note_cp.html>))
== スケジューラーの設定
=== Torque のインストール
* パッケージのインストール
# apt-get install gcc make
* ダウンロード. 最新版の URL を確認して, それを wget する.
$ wget ((<URL:http://www.clusterresources.com/downloads/torque/torque-2.3.6.tar.gz>))
$ tar zxvf torque-2.3.6.tar.gz
$ cd torque-2.3.6
$ ./configure --with-default-server=asura --with-server-home=/home/pbs --with-rcp=scp
# make
# make install
=== キューの作成
* サーバを起動する. 一番最初に起動する場合は -t オプションを付けるようだ.
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# pbs_server -t create
* qstat -a を実行してみる. まだキューを作成していないので, 何も表示されない.
# qstat -a
* キューを作成する.
今回は short (30 分, 優先度高) と, long (無制限, 優先度低) の 2 つを用意する.
# qmgr -c "set server scheduling=true"
# qmgr -c "create queue long queue_type=execution"
# qmgr -c "create queue short queue_type=execution"
# qmgr -c "set queue long started=true"
# qmgr -c "set queue short started=true"
# qmgr -c "set queue long priority=30"
# qmgr -c "set queue short priority=50"
# qmgr -c "set queue long enabled=true"
# qmgr -c "set queue short enabled=true"
# qmgr -c "set queue long resources_default.nodes=1"
# qmgr -c "set queue short resources_default.nodes=1"
# qmgr -c "set queue short resources_default.walltime=3600"
# qmgr -c "set server default_queue=short"
* 確認. 以下のコマンドでキューの情報が出れば OK.
# qstat -q
* 試しにジョブを実行する. qstat でジョブの情報が得られれば OK.
root ではキューを投げられないので注意.
$ echo "sleep 30" | qsub
$ qstat
=== torque の設定
* 計算ノードの一覧を作成. ログインノードで作業.
# vi /home/pbs/server_priv/nodes
kodama001 np=4
...
* 計算ノード用の pbs_mom を作成.
# cd torque-2.3.6
# make packages
# cp torque-package-mom-linux-x86_64.sh /home/kodama/01/home/pbs
# LANG=C chroot /home/kodama/001 /bin/bash
# cd /home/pbs
# ./torque-package-mom-linux-x86_64.sh --install
* 確認.
/home/pbs/server_name にログインノードのホスト名が含まれていることを確認しておく.
* /work01 を NFS しており, /work01 で計算を実行することを教え込む.
# vi /home/pbs/mom_pri/config
$usecp asura:/work01 /work01
=== サーバの起動
* 計算ノード
ログインして以下のコマンドを実行.
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# pbs_mon
* ログインノード
# /usr/local/pbs/sbin/pbs_server
# /usr/local/pbs/sbin/pbs_sched
=== テスト
* "/work01/ユーザ名" というディレクトリを用意し, そこでジョブを投入する.
root 権限ではジョブを投入できないので注意.
* ここでは, /work01/sugiyama/a.out を実行するスクリプト (test.sh) を作り,
それを qsub する.
$ vi test.sh
#!/bin/sh
#PBS -N sample
#PBS -j oe
#PBS -M sugiyama@gfd-dennou.org
#PBS -m e
cd /work01/sugiyama
./a.out
exit 0
$ qsub test.sh
$ qstat
* うまくいけば, 出力が sample.o** に書き出される.
=== 注意事項
* ログインノードにアカウントがあっても計算ノードにアカウントが無いと, ジョブを実行できない.
* /etc/passwd, /etc/shadow, ホームディレクトリを用意する.
* 自動化に関しては, 要検討.
=== 参考
* ((<URL:http://www.clusterresources.com/torquedocs21/a.ltorquequickstart.shtml>))
* ((<URL:http://debianclusters.cs.uni.edu/index.php/Resource_Manager:_Torque>))
* ((<URL:http://www.ie.u-ryukyu.ac.jp:16080/howto/index.php?Howto%2FTORQUE>))
[((<ITPASSセミナー>))]
[((<ITPASSセミナー>))]
= クラスタ構築メモ
== ログインノードの構築
=== インストールの準備
* 今回は USB ディスクを利用する. 128 MB 程度の低容量のもので十分
* hd-media/boot.img.gz をダウンロード
((<URL:http://ftp.nl.debian.org/debian/dists/testing/main/installer-amd64/current/images/hd-media/boot.img.gz>))
* iso イメージをダウンロード
((<URL:http://cdimage.debian.org/cdimage/lenny_di_rc1/amd64/iso-cd/debian-testing-amd64-businesscard.iso>))
* ファームウェアをダウンロード
((<URL:http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/firmware.tar.gz>))
* [Mac] USB メモリをさすと自動でマウントされるので, アンマウントする.
$ sudo umont -vf /Volume/USBdisk
* [Mac] boot.img.gz を展開する. アクセスランプがつかなくなったら Ctrl-C.
$ sudo zcat ~/Desktop/boot.img.gz > /dev/disk1
* [Mac] iso イメージとファームウェアをコピーする.
USB メモリをさし直せばオートマウントされるので, ドラッグアンドドロップするだけ.
=== Debian GNU/Linux のインストール
* BIOS 画面で USB ディスクから起動するように設定する.
* Advanced options => Expert Install
* デフォルトだと, どうもうまくインストールできなかったので....
* 言語選択
* 日本
* ロケール: ja_JP.UTF8
* キーボード
* PC スタイル, 日本 (106 キーボード)
* インストーラー iso イメージの検索
* OK するだけ
* ネットワーク
* 適宜手動で. 今回は 133.87.45.15 を利用.
* ディスクのパーティショニング
* /dev/sda のパーティショニング. LVM は設定しない.
* /home のみ分割.
* /dev/sdb のパーティショニング. LVM は設定しない.
* パーティションテーブルタイプ: gpt
* /work01 にマウント
* インストールするカーネル
* linux-image-2.6-amd64
* ソフトウェアの選択
* 標準システムのみ
* システムの時刻は UTC に合わせない.
=== パッケージの追加
* ssh サーバをインストール
# apt-get install openssh-server
* sudo
# apt-get install sudo
# visudo
sugiyama ALL=(ALL) ALL
* rsync
# apt-get install rsync
=== カーネル再構築
* 計算ノード用のカーネルを作成する.
* パッケージのインストール. ncurces 関連は make menuconfig するために必要.
# apt-get install kernel-package linux-source-2.6.26 libncurses5-dev
* カーネルの展開
# cd /usr/src/
# tar jxvf linux-source-2.6.26.tar.bz2
# ln -s linux-source-2.6.26 linux
# cd linux
* Debian のでフォルトカーネルの設定ファイルをコピーしてくる.
# cp /boot/config-2.6.26-1-amd64 .config
* make
# make menuconfig
Network support => Network Options
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
[*] IP: RARP support
Device Drivers => Network device support => Ethernet (1000 Mbit)
<*> Intel(R) PRO/1000 Gigabit Ethernet support
File systems
<*> Ext3 journalling file system support
File systems => Network File Systems
<*> NFS file system support
[*] Root file system on NFS
# make-kpkg --initrd --revision=`date '+%Y%m%d'` --append_to_version=.`hostname` kernel_image kernel_headers
* カーネルのインストール
# cd /usr/src/
# dpkg -i linux-image-2.6.27.5_`date '+%Y%m%d'`_`hostname`.deb
# dpkg -i linux-headers-2.6.27.5_`date '+%Y%m%d'`_`hostname`.deb
* 作成したカーネルで起動するか確認
# reboot
=== ネットワークインターフェイスの設定
* eth1 に対してプライベートアドレスを割り当てる
auto eth0 eth1
iface eth0 inet static
address 133.87.45.15
netmask 255.255.255.0
network 133.87.45.0
broadcast 133.87.45.255
gateway 133.87.45.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 133.87.45.70
dns-search ep.sci.hokudai.ac.jp
iface eth1 inet static
address 192.168.90.100
netmask 255.255.255.0
network 192.168.90.0
broadcast 192.168.90.255
* ネットワークをリスタート
# /etc/init.d/network restart
* 確認
# ifconfig
== NFS サーバの設定
* パッケージのインストール
# apt-get install nfs-kernel-server
* 設定. /home/kodama, /usr, /work01 以下を 192.168.90.0/24 に対して公開
# vi /etc/exports
/home/kodama 192.168.90.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
/usr 192.168.90.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
/work01 192.168.90.0/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)
# /etc/init.d/nfs-kernel-server restart
== 計算ノードの構築
* 計算ノードの IP は, 192.168.90.0/24 を利用することにする.
=== ファイルシステムの用意
* パッケージのインストール
# apt-get install debootstrap
* 置き場を作る. とりあえず /home/kodama としておく.
# adduser --disabled-password kodama
* debootstrap で最小限システムを作る.
システムは "/home/kodama/ノード番号" 以下に置く.
以下の例は, ノード番号 1 とする.
# debootstrap --arch=amd64 lenny 001 http://dennou-h.gfd-dennou.org/arch/cc-env/Linux/debian
* chroot して最低限の設定を行う
# LANG=C chroot /home/kodama/001 /bin/bash
# dpkg-reconfigure tzdata (時刻設定)
Asia -> Tokyo
# apt-get update
# apt-get install openssh-server linux-image-2.6-amd64 sudo nfs-common
# dpkg -i /usr/src/linux*deb
# passwd (root パスワード)
# exit
* 雛形をコピーして編集する. 雛形は /home/kodama/common 以下に置かれている.
# cd /home/kodama/common/
# cp linux *deb ../001/usr/src/ [カーネルをコピー]
# cp hosts ../001/etc/
# cat ../001/hosts
127.0.0.1 localhost
#133.87.45.15 asura.ep.sci.hokudai.ac.jp asura
192.168.90.1 kodama001 kodama001
192.168.90.2 kodama002 kodama002
192.168.90.3 kodama003 kodama003
.... (以下略)
# vi ../001/etc/hostname
kodama001
# cp fstab ../001/etc/
# vi ../001/etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
192.168.90.100:/home/kodama/001 / nfs defaults 0 0
192.168.90.100:/usr /usr nfs defaults 0 0
192.168.90.100:/work01 /work01 nfs defaults 0 0
proc /proc proc defaults 0 0
# cp interfaces ../001/etc/network/
# vi ../001/etc/network/
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.90.1
netmask 255.255.255.0
network 192.168.90.0
broadcast 192.168.90.255
* マウントするためのディレクトリを用意.
# cd /home/kodama/001
# mkdir work01
# mv usr usr.bk; mkdir usr [usr は計算ノードと共有するため]
* /home/kodama/bin/addnode.sh を作った (非常にダサイので誰か直して).
これは上記の操作を一括しておこなうものである.
=== 起動用 USB ディスクを作成する
* 必要なパッケージのインストール
# apt-get install syslinux mtools mbr
* USB ディスクを挿す. 今回は /dev/sdg として認識.
* パーティション作成
# /sbin/sfdisk --force /home/sdg <<EOF
0,1014,6,*
EOF
# /sbin/fdisk -l /home/sdg1 [確認]
* USB ディスクを FAT16 でフォーマット
# sbin/mkfs.msdos /dev/sdg1
* syslinux をインストール
# syslinux /dev/sdg1
* 必要なファイルをコピー
vmlinuz (カーネルバイナリ), syslinux.cfg (SYSLINUX 設定ファイル) が必要.
カーネルは再構築したものを利用すること.
# mount /dev/sdg1 /mnt/
# cp /boot/initrd.img-2.6.26-1-amd64 /mnt/initrd.img
# cp /boot/vmlinuz-2.6.26-1-amd64 /mnt/vmlinuz
* master boot recorder のインストール
# install-mbr /dev/sdg
* syslinux.cfg の編集. rw をつけないと read-only でマウントされてしまうので注意
DEFAULT vmlinuz
APPEND root=/dev/nfs rw nfsroot=192.168.90.100:/home/kodama/01 ip=192.168.90.1:192.168.90.100::255.255.255.0:::
* 上記操作を一括して行う簡単設定スクリプトを作った.
# ./mkusbmem.sh /dev/sdk 1 (デバイス名とノード番号を与える)
=== 参考
* ((<URL:http://blog.asial.co.jp/329>))
* ((<URL:http://www.jp.debian.org/releases/stable/amd64/ch04s03.html.ja>))
* ((<URL:http://www.linux.or.jp/JF/JFdocs/NFS-Root-Client.html>))
* ((<URL:http://www.linux.or.jp/JF/JFdocs/NFS-Root.html>))
* ((<URL:http://grape.mtk.nao.ac.jp/~makino/articles/diskless-note/doc/files/_/_diskless-note_cp.html>))
== スケジューラーの設定
=== Torque のインストール
* パッケージのインストール
# apt-get install gcc make
* ダウンロード. 最新版の URL を確認して, それを wget する.
$ wget ((<URL:http://www.clusterresources.com/downloads/torque/torque-2.3.6.tar.gz>))
$ tar zxvf torque-2.3.6.tar.gz
$ cd torque-2.3.6
$ ./configure --with-default-server=asura --with-server-home=/home/pbs --with-rcp=scp
# make
# make install
=== キューの作成
* サーバを起動する. 一番最初に起動する場合は -t オプションを付けるようだ.
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# pbs_server -t create
* qstat -a を実行してみる. まだキューを作成していないので, 何も表示されない.
# qstat -a
* キューを作成する.
今回は short (30 分, 優先度高) と, long (無制限, 優先度低) の 2 つを用意する.
# qmgr -c "set server scheduling=true"
# qmgr -c "create queue long queue_type=execution"
# qmgr -c "create queue short queue_type=execution"
# qmgr -c "set queue long started=true"
# qmgr -c "set queue short started=true"
# qmgr -c "set queue long priority=30"
# qmgr -c "set queue short priority=50"
# qmgr -c "set queue long enabled=true"
# qmgr -c "set queue short enabled=true"
# qmgr -c "set queue long resources_default.nodes=1"
# qmgr -c "set queue short resources_default.nodes=1"
# qmgr -c "set queue short resources_default.walltime=3600"
# qmgr -c "set server default_queue=short"
* 確認. 以下のコマンドでキューの情報が出れば OK.
# qstat -q
* 試しにジョブを実行する. qstat でジョブの情報が得られれば OK.
root ではキューを投げられないので注意.
$ echo "sleep 30" | qsub
$ qstat
=== torque の設定
* 計算ノードの一覧を作成. ログインノードで作業.
# vi /home/pbs/server_priv/nodes
kodama001 np=4
...
* 計算ノード用の pbs_mom を作成.
# cd torque-2.3.6
# make packages
# cp torque-package-mom-linux-x86_64.sh /home/kodama/01/home/pbs
# LANG=C chroot /home/kodama/001 /bin/bash
# cd /home/pbs
# ./torque-package-mom-linux-x86_64.sh --install
* 確認.
/home/pbs/server_name にログインノードのホスト名が含まれていることを確認しておく.
* /work01 を NFS しており, /work01 で計算を実行することを教え込む.
# vi /home/pbs/mom_pri/config
$usecp asura:/work01 /work01
=== サーバの起動
* 計算ノード
ログインして以下のコマンドを実行.
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# pbs_mon
* ログインノード
# /usr/local/pbs/sbin/pbs_server
# /usr/local/pbs/sbin/pbs_sched
=== テスト
* "/work01/ユーザ名" というディレクトリを用意し, そこでジョブを投入する.
root 権限ではジョブを投入できないので注意.
* ここでは, /work01/sugiyama/a.out を実行するスクリプト (test.sh) を作り,
それを qsub する.
$ vi test.sh
#!/bin/sh
#PBS -N sample
#PBS -j oe
#PBS -M sugiyama@gfd-dennou.org
#PBS -m e
cd /work01/sugiyama
./a.out
exit 0
$ qsub test.sh
$ qstat
* うまくいけば, 出力が sample.o** に書き出される.
=== 注意事項
* ログインノードにアカウントがあっても計算ノードにアカウントが無いと, ジョブを実行できない.
* /etc/passwd, /etc/shadow, ホームディレクトリを用意する.
* 自動化に関しては, 要検討.
=== 参考
* ((<URL:http://www.clusterresources.com/torquedocs21/a.ltorquequickstart.shtml>))
* ((<URL:http://debianclusters.cs.uni.edu/index.php/Resource_Manager:_Torque>))
* ((<URL:http://www.ie.u-ryukyu.ac.jp:16080/howto/index.php?Howto%2FTORQUE>))
[((<ITPASSセミナー>))]