NAREGI Middleware GridVM - NAREGI-CA

管理者ガイド
NAREGI Middleware
GridVM
(Grid Virtual Machine)
2010年3月
国立情報学研究所
管理者ガイド NAREGI Middleware GridVM
ドキュメントリスト
◆ 管理者ガイド グループ
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
管理者ガイド NAREGI Middleware
IS(Distributed Information Service)
管理者ガイド NAREGI Middleware
IS(Distributed Information Service) - LRPSConfig 管理者ガイド NAREGI Middleware SS(Super Scheduler)
管理者ガイド NAREGI Middleware
GridVM(Grid Virtual Machine)
管理者ガイド NAREGI Middleware Portal
管理者ガイド NAREGI Middleware
PSE(Problem Solving Environment)
管理者ガイド NAREGI Middleware
WFT(GUI Workflow Tool)
管理者ガイド NAREGI Middleware
GVS (Grid Visualization System)
管理者ガイド NAREGI Middleware DataGrid
管理者ガイド NAREGI Middleware CA(Certification Authority)
管理者ガイド NAREGI Middleware
UMS(User Management Server)
管理者ガイド NAREGI Middleware Authorization Service
管理者ガイド NAREGI Middleware Renewal Service
管理者ガイド NAREGI Middleware
SBC(Synchronous Data Transfer Library)
管理者ガイド NAREGI Middleware Mediator
i
管理者ガイド NAREGI Middleware GridVM
◆ 利用者ガイド グループ
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
¾
利用者ガイド NAREGI Middleware IS(Distributed Information Service)
利用者ガイド NAREGI Middleware Portal
利用者ガイド NAREGI Middleware PSE(Problem Solving Environment)
利用者ガイド NAREGI Middleware
PSE(Problem Solving Environment) - Command line Interface 利用者ガイド NAREGI Middleware WFT(GUI Workflow Tool)
プログラミングガイド NAREGI Middleware WFT(GUI Workflow Tool)
利用者ガイド NAREGI Middleware
GVS(Grid Visualization System) - Client Module 利用者ガイド NAREGI Middleware
GVS(Grid Visualization System) - Parallel Visualization Module 利用者ガイド NAREGI Middleware CA(Certification Authority)
利用者ガイド NAREGI Middleware UMS(User Management Server)
利用者ガイド NAREGI Middleware Authorization Service
利用者ガイド NAREGI Middleware Renewal Service
利用者ガイド NAREGI Middleware
SBC (Synchronous Data Transfer Library)
利用者ガイド NAREGI Middleware Mediator
Copyright© 2004 National Institute of Informatics, Japan. All rights reserved.
This file or a portion of this file is licensed under the terms of the NAREGI Public License, found at
http://www.naregi.org/download/. If you redistribute this file, with or without modifications, you must include this
notice in the file.
ii
管理者ガイド NAREGI Middleware GridVM
【目次】
第 1 章. はじめに..............................................................................................................................................1
1.1. 導入の概要.................................................................................................................................................. 1
1.2. 動作環境...................................................................................................................................................... 3
1.2.1. 必要なハードウェア【GridVM スケジューラの場合】................................................................. 3
1.2.2. 必要なハードウェア【GridVM エンジンの場合】......................................................................... 3
1.2.3. 必要なソフトウェア【GridVM スケジューラの場合】................................................................. 4
1.2.4. 必要なソフトウェア【GridVM エンジンの場合】......................................................................... 5
1.2.5. 必要な環境設定ファイル................................................................................................................... 5
1.2.6. 必要な環境ファイル .......................................................................................................................... 6
1.2.7. ファイルの所有権と権限について................................................................................................... 6
1.3. 運用に必要な動作条件.............................................................................................................................. 6
第 2 章. GridVM のインストールについて......................................................................................................7
2.1. GridVM スケジューラのインストール..................................................................................................... 7
2.1.1. インストールの概要 .......................................................................................................................... 7
2.1.2. インストール前の作業....................................................................................................................... 8
2.1.3. インストール....................................................................................................................................12
2.1.4. インストール結果の確認.................................................................................................................17
2.1.5. インストールに失敗した場合の対処方法 .....................................................................................18
2.1.6. インストール後の作業.....................................................................................................................18
2.2. GridVM エンジンのインストール...........................................................................................................19
2.2.1. インストールの概要 ........................................................................................................................19
2.2.2. インストール前の作業.....................................................................................................................19
2.2.3. インストール....................................................................................................................................19
2.2.4. インストール結果の確認.................................................................................................................23
2.2.5. インストールに失敗した場合の対処方法 .....................................................................................25
2.2.6. インストール後の作業.....................................................................................................................26
第 3 章. ローカルスケジューラのセットアップについて...........................................................................28
3.1. PBS Professional......................................................................................................................................28
3.2. SGE(Sun Grid Engine).............................................................................................................................29
3.3. LoadLeveler...............................................................................................................................................31
第 4 章. GridVM のセットアップについて....................................................................................................34
4.1. GridVM スケジューラのセットアップ...................................................................................................34
iii
管理者ガイド NAREGI Middleware GridVM
4.1.1. 初期状態............................................................................................................................................34
4.1.2. GridVM スケジューラの設定...........................................................................................................36
4.1.3. Globus Toolkit 関連ログの設定.....................................................................................................42
4.1.4. 利用量制御機能の設定.....................................................................................................................44
4.2. GridVM エンジンのセットアップ...........................................................................................................50
4.2.1. 初期状態............................................................................................................................................50
4.2.2. GridVM エンジン設定ファイルの設定 ...........................................................................................51
4.2.3. アクセス保護機能の設定.................................................................................................................54
第 5 章. GridVM の起動/停止と保守について............................................................................................60
5.1. GridVM の運用操作と保守.......................................................................................................................60
5.2. 運用手順....................................................................................................................................................60
5.2.1. 起動....................................................................................................................................................60
5.2.2. 起動の確認........................................................................................................................................61
5.2.3. 停止....................................................................................................................................................62
5.2.4. 停止の確認........................................................................................................................................62
5.3. 保守............................................................................................................................................................63
5.3.1. キュー情報更新................................................................................................................................63
5.3.2. ローカルスケジューラを再起動した場合 .....................................................................................63
5.4. 索引............................................................................................................................................................64
第 6 章. GridVM のアンインストールについて............................................................................................65
6.1. GridVM スケジューラのアンインストール ...........................................................................................65
6.1.1. アンインストールの概要.................................................................................................................65
6.1.2. アンインストール前の作業.............................................................................................................65
6.1.3. アンインストール ............................................................................................................................65
6.1.4. アンインストール結果の確認.........................................................................................................66
6.1.5. アンインストールに失敗した場合の対処方法..............................................................................68
6.1.6. アンインストール後の作業.............................................................................................................68
6.2. GridVM エンジンのアンインストール...................................................................................................68
6.2.1. アンインストールの概要.................................................................................................................68
6.2.2. アンインストール前の作業.............................................................................................................69
6.2.3. アンインストール ............................................................................................................................69
6.2.4. アンインストール結果の確認.........................................................................................................70
6.2.5. アンインストールに失敗した場合の対処方法..............................................................................71
6.2.6. アンインストール後の作業.............................................................................................................72
iv
管理者ガイド NAREGI Middleware GridVM
第 1 章. はじめに
1.1. 導入の概要
GridVM は、サイト単位で資源やジョブの監視・制御を行う GridVM スケジューラと、サ
イト中の各ノードで資源やジョブの監視・制御を行う GridVM エンジンから成る。
GridVMのノード構成を図 1-1に示す。GridVMスケジューラは、クラスタ内でローカル
スケジューラの管理コンポーネントが配置される管理ノード上に配置する。GridVMエンジ
ンは、ローカルスケジューラの計算コンポーネントが配置される計算ノード上に配置する。
ローカルスケジューラの管理ノードが計算ノードを兼ねるよう設定されている場合には、管
理ノード上にもGridVMエンジンを配置する。
クラスタ
管理ノード
GridVM スケジューラ
GridVM エンジン
ローカルスケジューラ(管理)
計算ノード
GridVM エンジン
ローカルスケジューラ(計算)
図 1-1 GridVM のノード構成
1
管理者ガイド NAREGI Middleware GridVM
現在 GridVM のサポート範囲は、次のとおりである。
表 1-1 GridVM のサポート範囲
環境
OS
CPU
ローカルスケジュー
ラ
Linux 環境
Linux(RHEL5)
IA-32 プロセッサ
PBS Professional1
Linux(openSUSE10)
AMD64 Opteron プロセッサ
Sun Grid Engine2
+ PluS3
AIX 環境
AIX
POWER4+プロセッサ
LoadLeveler4
GridVM の導入は、以下の手順で行う。
1
1.
ローカルスケジューラのインストール(2.1.2節)
2.
GridVMスケジューラのインストール(2.1.3節)
3.
GridVMエンジンのインストール(2.2節)
4.
ローカルスケジューラのセットアップ(第 3 章)
5.
GridVMスケジューラのセットアップ(4.1節)
6.
GridVMエンジンのセットアップ(4.2節)
The Portable Batch System。Altair Engineering からリリースされているクラスタ用ワークロード
管理ソフトウェア
2
サン・マイクロシステムズよりリリースされているワークロード管理/グリッドプロビジョニング
ソフトウェア
3
TORQUE や Sun Grid Engine に予約機能を追加するソフトウェア
4
IBM よりリリースされているジョブ管理システム
2
管理者ガイド NAREGI Middleware GridVM
1.2. 動作環境
1.2.1. 必要なハードウェア【GridVMスケジューラの場合】
[Linux(PBS)環境]
z
CPU:
IA-32 プロセッサ
z
メモリ:
512MB 以上
z
ハードディスク:
10GB 以上
[Linux(SGE)環境]
z
CPU:
AMD64 Opteron プロセッサ
z
メモリ:
2GB 以上
z
ハードディスク:
10GB 以上
[AIX 環境]
z
CPU:
POWER4+ プロセッサ
z
メモリ:
512MB 以上
z
ハードディスク:
10GB 以上
1.2.2. 必要なハードウェア【GridVMエンジンの場合】
[Linux(PBS)環境]
z
CPU:
IA-32 プロセッサ
z
メモリ:
1GB 以上
z
ハードディスク:
30GB 以上
[Linux(SGE)環境]
z
CPU:
AMD64 Opteron プロセッサ
z
メモリ:
1GB 以上
z
ハードディスク:
30GB 以上
[AIX 環境]
3
管理者ガイド NAREGI Middleware GridVM
z
CPU:
POWER4+ プロセッサ
z
メモリ:
1GB 以上
z
ハードディスク:
30GB 以上
1.2.3. 必要なソフトウェア【GridVMスケジューラの場合】
[Linux(PBS)環境]
z
OS
Linux(Red Hat Enterprise Linux Server Release 5)
z
その他
PBS Professional 9.1.0, glibc2.5.12, jwsdp-2.01, Globus Toolkit 4.0.52, j2sdk 1.5.0,
libxml2 2.5.43
[Linux(SGE)環境]
z
OS
Linux(openSUSE 10.2)
z
その他
Sun Grid Engine 6.0u12, PluS 1.0.0, glibc2.5-25, jwsdp-2.0, Globus Toolkit 4.0.5,
j2sdk 1.5.0, libxml2 2.6.26
[AIX 環境]
z
OS
AIX Version5.2
z
その他
LoadLeveler V3.2 または LoadLeveler V3.3.2, jwsdp-2.0, Globus Toolkit 4.0.5, jdk
1.5.0, libxml2 2.5.4
1
http://java.sun.com/webservices/jwsdp/index.jsp
2
http://www.globus.org/
3
http://xmlsoft.org/index.html
4
管理者ガイド NAREGI Middleware GridVM
1.2.4. 必要なソフトウェア【GridVMエンジンの場合】
[Linux(PBS)環境]
z
OS
Linux(Red Hat Enterprise Linux Server Release 5)
z
その他
glibc 2.5.12, libcap 1.10, libxml2 2.5.4, sudo 1.6.81
[Linux(SGE)環境]
z
OS
Linux(openSUSE 10.2)
z
その他
glibc2.5-25, libcap 1.92, libxml2 2.6.26, sudo 1.6.8
[AIX 環境]
z
OS
AIX 5L V5.2
z
その他
libxml2 2.5.4, sudo 1.6.7
1.2.5. 必要な環境設定ファイル
下記表中に記述している“sched_inst_Dir”、“engine_inst_Dir”は、それぞれ GridVM
スケジューラ、GridVM エンジンのインストール先ディレクトリを示す。
表 1-2 必要な環境設定ファイル
ミドルウェア名
ファイルパス名
必須= ○
詳細情報
選択= △
GridVM スケジューラ
GridVM エンジン
1
/sched_inst_Dir/etc/gvms.conf
○
4.1.2節
/sched_inst_Dir/etc/policy_ru.xml
△
4.1.4節
/engine_inst_Dir/etc/nodes
△
2.1節
http://www.courtesan.com/sudo/
5
管理者ガイド NAREGI Middleware GridVM
/engine_inst_Dir/etc/config.xml
○
4.2.2節
/engine_inst_Dir/etc/policy_ap.xml
△
4.2.3節
1.2.6. 必要な環境ファイル
表 1-3 必要な環境ファイル
内容
ファイルパス名
必須= ○
詳細情報
選択= △
sudo 設定ファイル
○
/etc/sudoers
2.2.4節
1.2.7. ファイルの所有権と権限について
下記表中で、“engine”は GridVM エンジン実行ユーザを示す。
表 1-4 ファイルの所有権と権限
ファイルパス名
所有権
ユーザ
権限
グループ
/sched_inst_Dir/etc/gvms.conf
root
system
-rw-r--r--
/sched_inst_Dir/etc/policy_ru.xml
root
system
-rw-r--r--
/engine_inst_Dir /etc/nodes
engine
engine
-rw-rw-r--
/engine_inst_Dir /etc/config.xml
engine
engine
-rw-rw-r--
/engine_inst_Dir /etc/policy_ap.xml
engine
engine
-rw-rw----
/etc/sudoers
root
system
-r—r-----
1.3. 運用に必要な動作条件
z
AIX 環境の場合、GridVM を運用するクラスタ内の全計算ノードにおいて、
GridVM エンジンの実行ユーザの環境変数 LIBPATH に、libxml2 のライブラリの
パスが設定されていること。
6
管理者ガイド NAREGI Middleware GridVM
第 2 章. GridVMのインストールについて
GridVM を運用するクラスタの管理ノード上に GridVM スケジューラを、計算ノード上に
GridVM エンジンをインストールする。
2.1. GridVMスケジューラのインストール
GridVM スケジューラは、GridVM を運用するクラスタの管理ノード上にインストールす
る。
2.1.1. インストールの概要
GridVM スケジューラのインストールに先立って、クラスタの管理ノード上に Globus
Toolkit 4.0.5 がインストールされている必要がある。また、クラスタの管理ノード、計算ノ
ード上には、Linux 環境の場合は PBS Professional 9.1、または Sun Grid Engine 6.0 および
PluS 1.0.0(管理ノードのみ)が、AIX 環境の場合は LoadLeveler がインストールされてい
る必要がある。
GridVM スケジューラのインストールは次の手順で行う。
0) Globus ToolkitおよびPBS ProfessionalまたはSun Grie EngineとPluS または
LoadLevelerのインストール
1) GridVMスケジューラパッケージの展開、AIX環境の場合はさらにLoadLevelerの
scheddホスト上でGridVMスケジューラのLoadLeveler用モジュールを展開 (複数
ホストでscheddが運用されている場合は、その全ホスト上でインストールが必要)
2) Globus Toolkit用GridVMモジュールのインストール
3) Globus ToolkitへのGridVMJobサービス(GridVMのジョブ管理機能を提供するグリッ
ドサービス)の配置
4) LRPSへの情報プロバイダーの配置
インストール媒体
GridVM スケジューラパッケージ:GridVM-Scheduler.tar.gz
LoadLeveler モジュール用パッケージ:GridVM-Scheduler-LoadLeveler-module.tar.gz
(AIX 環境のみ)
7
管理者ガイド NAREGI Middleware GridVM
2.1.2. インストール前の作業
PBS Professional のインストール
インストール先の OS が Linux で、ローカルスケジューラとして PBS Professional を用
いる場合、PBS Professional 9.1 をあらかじめインストールしておく。インストール方法に
ついては、PBS Professional に付属の説明書を参照のこと。
管理ノードでのインストールディレクトリおよびサーバーログの出力ディレクトリが、
環境設定の際に必要になるため、記録しておくこと。
インストールの結果は、PBS Professional のインストールディレクトリ下にインストー
ルされた qstat コマンドを使用して、以下のような表示が得られることで確認できる。
$ qstat -Bf
Server: server
server_state = Active
server_host = server.naregi.org
scheduling = True
total_jobs = 0
state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:0 Exiting:0 Begun:0
default_queue = workq
log_events = 511
mail_from = adm
query_other_jobs = True
resources_default.ncpus = 1
default_chunk.ncpus = 1
resources_assigned.ncpus = 0
resources_assigned.nodect = 0
scheduler_iteration = 600
FLicenses = 301
resv_enable = True
node_fail_requeue = 310
max_array_size = 10000
pbs_license_file_location = xxxx@license.naregi.org
pbs_license_min = 0
pbs_license_max = 2147483647
pbs_license_linger_time = 3600
license_count = Avail_Global:297 Avail_Local:4 Used:0 High_Use:9
8
管理者ガイド NAREGI Middleware GridVM
pbs_version = PBSPro_9.1.0.72982
Sun Grid Engine, PluS のインストール
インストール先の OS が Linux で、ローカルスケジューラとして SGE を用いる場合、
Sun Grid Engine 6.0 および PluS1.0.0 をあらかじめインストール,起動を行っておく。イン
ストール方法については、Sun Grid Engine および PluS に付属の説明書を参照のこと。
Sun Grid Engine のインストールディレクトリ(SGE_ROOT)、セル名、PE 名、PluS
のバイナリインストール先(既定値で/usr/local/bin)、および PluS の jar ファイルインストー
ル先(規定値では/usr/local/PluS)が、環境設定の際に必要になるため、記録しておくこと。
インストールの結果は、Sun Grid Engine、PluS によってインストールされた qconf コマ
ンド、plus_reserve コマンドを使用して、以下のような表示が得られることで確認できる。
PluS1.0.0 のインストールおよび実行には、jdk1.5.0 が必要。
$ qconf -sconf
global:
execd_spool_dir
/usr/local/sge/default/spool
mailer
/bin/mail
xterm
/usr/bin/X11/xterm
load_sensor
none
prolog
none
epilog
none
shell_start_mode
posix_compliant
login_shells
sh,ksh,csh,tcsh
min_uid
0
min_gid
0
user_lists
none
xuser_lists
none
projects
none
xprojects
none
enforce_project
false
enforce_user
auto
load_report_time
00:00:40
max_unheard
00:05:00
reschedule_unknown
00:00:00
loglevel
log_warning
administrator_mail
none
9
管理者ガイド NAREGI Middleware GridVM
set_token_cmd
none
pag_cmd
none
token_extend_time
none
shepherd_cmd
none
qmaster_params
none
execd_params
none
reporting_params
accounting=true reporting=true joblog=true ¥
flush_time=00:00:15 sharelog=00:00:00
finished_jobs
gid_range
100
30000-30999
qlogin_command
telnet
qlogin_daemon
/usr/sbin/in.telnetd
rlogin_daemon
/usr/sbin/in.rlogind
max_aj_instances
2000
max_aj_tasks
75000
max_u_jobs
0
max_jobs
0
auto_user_oticket
0
auto_user_fshare
0
auto_user_default_project
none
auto_user_delete_time
86400
delegated_file_staging
false
reprioritize
0
$ plus_reserve -s 1000 -D 1 -n 1
Reserve succeeded: reserve id is R1
$ plus_destroy –r R1
Reserve id = R1 destroyed
LoadLeveler のインストール
インストール先の OS が AIX である場合、LoadLeveler V3 以降をあらかじめインストー
ルしておく。インストール方法については、LoadLeveler に付属の説明書(あるいは関連
WEB サイト)を参照のこと。
環境設定の際に、管理ノードでのインストールディレクトリが必要になるため、記録し
ておくこと。
10
管理者ガイド NAREGI Middleware GridVM
インストールの結果は、LoadLeveler のインストールディレクトリ下にインストールさ
れた llstatus コマンドを使用して、以下のような表示が得られることで確認できる。
$ ./llstatus -l
=========================================================================
Name
= aix0000
Machine
= aix0000
Arch
= R6000
OpSys
= AIX52
SYSPRIO
= (0 - QDate)
MACHPRIO
= (0 - LoadAvg)
VirtualMemory
Disk
= 8368256 kb
= 232236 kb
KeyboardIdle
Tmp
= 15
= 148992 kb
LoadAvg
= 1.160873
ConfiguredClasses = i1-24h(7) i1-6h(7) i1-30m(7) i4-24h(8) i4-6h(8) i4-30m(8) ims1-24
h(7) ims1-6h(7) ims1-30m(7) ims4-24h(8) ims4-6h(8) ims4-30m(8) i31(31) nectest1(20)
AvailableClasses
= i1-24h(7) i1-6h(7) i1-30m(7) i4-24h(8) i4-6h(8) i4-30m(8) ims1-24
h(7) ims1-6h(7) ims1-30m(7) ims4-24h(8) ims4-6h(8) ims4-30m(8) i31(31) nectest1(20)
DrainingClasses
=
DrainedClasses
=
Pool
=
FabricConnectivity =
Adapter
= en2(ethernet,sig0001.naregi.org,202.241.96.34,) generated(,sig000
1,202.241.96.34,)
Feature
=
Max_Starters
= 31
Total Memory
= 65536 mb
Memory
= 65536 mb
FreeRealMemory
= 50979 mb
LargePageSize
= 16.000 mb
:
:
Globus Toolkit のインストール
適当なディレクトリに、Globus Toolkit 4.0.5 をあらかじめインストールし、Globus
Toolkit 4.0.5 で提供されている、Grid Resource Allocation and Management (GRAM)および
Reliable File Transfer (RFT)が利用できるよう環境設定をしておくこと。インストール方法
11
管理者ガイド NAREGI Middleware GridVM
お よ び 環 境 設 定 に つ い て は 、 GlobusAlliance
の
WEB
サ イ ト
(http://www.globus.org/toolkit/docs/4.0/)を参照のこと。ただしインストール時に指定可能
な”flavor”オプションは、デフォルトのものを使用すること。
Globus Toolkit のインストールディレクトリは、以降の GridVM スケジューラのインス
トール、および環境設定の際に必要となるため、記録しておくこと。
jwsdp のインストール
適当なディレクトリに、jwsdp をあらかじめインストールしておくこと。インストール
方法については、関連 WEB サイト参照のこと。
※ jwsdp-1.6 以上の場合、j2sdk が JAXP 1.3 API を参照するように修正する必要があ
る。修正方法は以下の手順、もしくは関連 WEB サイト(jwsdp-1.6 リリースノー
ト:http://java.sun.com/webservices/docs/1.6/ReleaseNotes.html)を参照のこと。
$ su –
$ cp $JSWDP_HOME/jaxp/lib/endorsed/* $JAVA_HOME/jre/lib/endorsed
$ cp $JWSDP_HOME/jaxp/lib/jaxp-api.jar $JAVA_HOME/jre/lib/endorsed
$
*$JWSDP_HOME : jwsdpのインストールディレクトリ
*$JAVA_HOME : j2sdkインストールディレクトリ
2.1.3. インストール
1.
GridVM スケジューラパッケージの展開
クラスタシステムの管理ノード上で、GridVM スケジューラのインストールディレクトリ
を作成し、そこに各 OS に応じたパッケージファイル GridVM-Scheduler.tar.gz を展開する。
※ ここではパッケージファイルを /tmp 以下に置き、/usr/local-d/GridVM 下に
scheduler というディレクトリを作成して、そこを GridVM スケジューラのインスト
ールディレクトリとするものとする。また GlobusTooKit のインストールディレクト
リを /opt/globus とし、Globus Toolkit の管理者ユーザを globus とする。
[Linux(PBSProfessional)環境の場合]
# su # cd /usr/local-d/GridVM
# mkdir scheduler
# cd scheduler
# gunzip /tmp/GridVM-Scheduler.tar.gz
12
管理者ガイド NAREGI Middleware GridVM
# tar xvf /tmp/GridVM-Scheduler.tar
./
./bin/
./bin/gvms_server
./bin/gvms_adm
./bin/gvms_monitor
./bin/gvms_filter.sh
./bin/default_job_filter
./bin/default_node_filter
./bin/gvms_final
./bin/gvmsctrl
./etc/
./etc/log4j.properties
./etc/softconfig
./etc/gvms.conf
./etc/setup.sh
./etc/setup
./etc/gvmsd.conf
./etc/plugin.conf
./etc/pbspro.conf
./etc/gvmsupdate.template
./plugins/
./plugins/libgvms-PBSPro.so.1.0
./plugins/libgvms-PBSPro.so
./lib/
./lib/libGridVM_ResourceUsageControl.so
./lib/org_naregi_admin_LRPS_stubs.jar
./lib/org_naregi_admin_RUS_stubs.jar
./lib/libGridVMISUtility.so
./lib/gridvm_is-utility.jar
./lib/lrps-provider-lib.jar
./lib/GridVMTestClient.jar
./sbin/
./sbin/uninstall.sh
./sbin/gvmsd.sh
./slib/
./slib/test/
13
管理者ガイド NAREGI Middleware GridVM
./slib/test/org_naregi_admin_LRPS.gar
./slib/test/org_naregi_admin_RUS.gar
./slib/libGridVM_ISProviders.so
./slib/gridvm_is_providers.jar
./globus/
./globus/lib/
./globus/lib/perl/
./globus/lib/perl/Globus/
./globus/lib/perl/Globus/GRAM/
./globus/lib/perl/Globus/GRAM/JobManager/
./globus/lib/perl/Globus/GRAM/JobManager/gridvm.pm
./globus/lib/gridvm_scheduler_library.jar
./globus/lib/GridVMJobServiceClient.jar
./globus/lib/GridVMJSDLParser.jar
./globus/lib/libglobus_seg_gridvm_gcc32dbg.a
./globus/lib/libglobus_seg_gridvm_gcc32dbg.la
./globus/lib/libglobus_seg_gridvm_gcc32dbg.so.0.0.0
./globus/lib/libglobus_seg_gridvm_gcc32dbg.so
./globus/lib/libglobus_seg_gridvm_gcc32dbg.so.0
./globus/lib/libglobus_seg_gridvm_gcc32.a
./globus/lib/libglobus_seg_gridvm_gcc32.la
./globus/lib/libglobus_seg_gridvm_gcc32.so.0.0.0
./globus/lib/libglobus_seg_gridvm_gcc32.so
./globus/lib/libglobus_seg_gridvm_gcc32.so.0
./globus/etc/
./globus/etc/gram-service/
./globus/etc/gram-service/globus_gram_fs_map_config.xml
./globus/etc/gram-service-GridVM/
./globus/etc/gram-service-GridVM/gluerp-config.xml
./globus/etc/gram-service-GridVM/jndi-config.xml
./globus/etc/gram-service-GridVM/substitution-definition.properties
./globus/etc/globus-gridvm.conf
./globus/libexec/
./globus/libexec/gridvm/
./globus/libexec/gridvm/gvms_req_ctrl
./globus/libexec/gridvm/gvms_req_event
./globus/libexec/gridvm/gvm_service_client.sh
14
管理者ガイド NAREGI Middleware GridVM
./globus/libexec/gridvm/queryJob
./globus/libexec/gridvm/deleteJob
./globus/libexec/gridvm/submitJob
./globus/libexec/globus-scheduler-provider-gridvm
./globus/org_naregi_gridvm.gar
./globus/setup.sh
./globus/unsetup.sh
#
2.
LoadLeveler 用モジュールの展開(AIX 環境のみ)
LoadLeveler の各 schedd ホスト上で、GridVM スケジューラの LoadLeveler 用モジュー
ルのインストールを行う。
各scheddホスト上で、GridVMスケジューラのインストールディレクトリを作成し、そこ
にパッケージファイルGridVM-Scheduler-LoadLeveler-module.tar.gz を展開する。このとき、
GridVMスケジューラのインストールディレクトリは、クラスタの管理ノード上でGridVMス
ケジューラパッケージの展開を行った際にGridVMスケジューラのインストールディレクト
リとして指定したパス名と同じパス名のディレクトリとする必要がある。
※ ここではパッケージファイルを /tmp 以下に置き、GridVM スケジューラのインスト
ールディレクトリを/usr/local-d/GridVM としたものとする。
# su
# cd /usr/local-d/GridVM
# mkdir scheduler
# cd scheduler
# gunzip /tmp/GridVM-Scheduler-LoadLeveler-module.tar.gz
# tar xvf /tmp/GridVM-Scheduler-LoadLeveler-module.tar
./
bin/
bin/gvmspsock
3.
Globus Toolkit 用 GridVM モジュールのインストール
前項のパッケージ展開後、GridVM の Globus Toolkit 用モジュールを GlobusTookit のイ
ンストールディレクトリ配下にインストールを行う。インストールは、Globus Toolkit の管
15
管理者ガイド NAREGI Middleware GridVM
理者ユーザで行う。
※ ここでは、GridVM スケジューラのインストールディレクトリを/usr/locald/GridVM/scheduler 、GlobusTookit のインストールディレクトリを /opt/globus と
し、Globus Toolkit の管理者ユーザを globus とする。
# su - globus
$ export GVMSD_ROOT=/usr/local-d/GridVM/scheduler
$ export GLOBUS_LOCATION=/opt/globus
$ cd $GVMSD_ROOT/globus
$ ./setup.sh
Completed...
$
4.
Globus Toolkit への GridVMJob サービスの配置
クラスタシステムの管理ノード上にインストールされた Globus Toolkit に globus ユーザ
権限で、GridVM ジョブサービスの gar ファイルを deploy することでインストールを行う。
※ ここでは、GridVM スケジューラのインストールディレクトリを/usr/locald/GridVM/scheduler 、GlobusTookit のインストールディレクトリを /opt/globus と
し、Globus Toolkit の管理者ユーザを globus とする。
# su – globus
$ export GVMSD_ROOT=/usr/local-d/GridVM/scheduler
$ export GLOBUS_LOCATION=/opt/globus
$ cd $GLOBUS_LOCATION
$ . $GLOBUS_LOCATION/etc/globus-user-env.sh
$ globus-deploy-gar $GVMSD_ROOT/globus/org_naregi_gridvm.gar
5.
情報サービスプロバイダーの配置
GridVM スケジューラのパッケージに含まれる下記の情報サービスプロバイダーのライブ
ラリを、管理ノード上で起動される LRPS サービスから起動できるように配置する。インス
トール手順については、情報サービスの操作説明書「GridVM から提供されるファイルの配
置」を参照のこと。
./slib/libGridVM_ISProviders.so
./slib/gridvm_is_providers.jar
16
管理者ガイド NAREGI Middleware GridVM
2.1.4. インストール結果の確認
インストールした結果、GridVM スケジューラ、Globus Toolkit 用 GridVM モジュール、
および GridVMJob サービスがそれぞれ正しくインストールされていることを確認する方法
は下記の通りである。
内容
方法
GridVM スケジューラ
GridVM スケジューラのインストールディレクトリ配下に以下のフ
ァイルが配置されていることを ls コマンドにより確認する。
./bin/gvms_server
./bin/gvms_adm
./bin/gvms_monitor
./bin/gvmsctrl
./etc/log4j.properties
./etc/softconfig
./etc/gvms.conf
./etc/gvmsd.conf
./etc/gvmsupdate.template
./lib/org_naregi_admin_LRPS_stubs.jar
./lib/org_naregi_admin_RUS_stubs.jar
./lib/libGridVMISUtility.so
./lib/gridvm_is-utility.jar
./sbin/gvmsd.sh
[Linux(PBS)環境]
./etc/pbspro.conf
./plugins/libgvms-PBSPro.so
[Linux(SGE)環境]
./etc/sge.conf
./plugins/libgvms-SGE.so
[AIX 環境]
./etc/loadleveler.conf
./plugins/libgvms-LoadLeveler.so
LoadLeveler 用モジュ LoadLeveler の各 schedd ホスト上で、GridVM スケジューラのイ
ール(AIX 環境のみ)
ンストールディレクトリ配下に以下のファイルが配置されているこ
とを ls コマンドにより確認する。
17
管理者ガイド NAREGI Middleware GridVM
./bin/gvmspsock
Globus
Toolkit
用 Globus Toolkit の管理者ユーザで、Globus Toolkit のコンテナを立
GridVM モジュール
ち上げて、GridVM 用のイベントジェネレータ(globus-schedulerevent-generator –s gridvm ..)のプロセスが存在することを ps コマ
ンドにより確認
GridVMJob サービス Globus Toolkit の管理者ユーザで、Globus Toolkit のコンテナを立
(GridVM のジョブ管 ち 上 げ て 、 コ ン テ ナ ロ グ の サ ー ビ ス 一 覧 に 以 下 の よ う な
理機能を提供するグ GridVMJob サービスの表示を確認
リッドサービス)
https://..../wsrf/services/gridvm/GridVMJobService
https://..../wsrf/services/gridvm/GridVMJobFactoryService
2.1.5. インストールに失敗した場合の対処方法
z
GridVMJob サービス(GridVM のジョブ管理機能を提供するグリッドサービス)の
配置の際に、
“Error: ANT_HOME invalid or not set:”
のようなメッセージが表示される場合
→ Ant のインストールディレクトリを環境変数 ANT_HOME に設定して、globusdeploy-gar コマンドを再実行する。
z
Globus Toolkit の GridVM 用モジュールのインストールの際、
“Setup is already performed…
Specify –f option to overwrite.”
のメッセージが表示される場合
→ GridVM 用モジュールがすでにインストールされているときに上記メッセージが
表示されるため、新しいモジュールをインストールする際は、オーバーライトの指
定(-f オプション)を付加して、setup.sh を再実行する。
$ cd $GVMSD_ROOT/globus
$ ./setup.sh -f
2.1.6. インストール後の作業
なし。
18
管理者ガイド NAREGI Middleware GridVM
2.2. GridVMエンジンのインストール
2.2.1. インストールの概要
計算ノード上に GridVM エンジンをインストールする。
計算ノードが複数ある場合には、GridVM を運用するクラスタ内の全計算ノードから参照
可能な NFS ディスク上にインストールする方法と、全計算ノードのローカルディスクにそ
れぞれインストールする方法とがある。
その後、展開されたインストールスクリプトを実行する。
インストール媒体
GridVM エンジンパッケージ:GridVM-Engine.tar.gz
インストール時の注意
計算ノードが複数あり、GridVMエンジンを全計算ノードのローカルディスクにそれぞれ
インストールする場合は、全計算ノードにおいてGridVMエンジンパッケージを展開する必
要があり、また各計算ノードのGridVMエンジン設定ファイル(4.2.2節参照)やアクセス保
護ポリシー設定ファイル(4.2.3節参照)の設定を同一にする必要があるため、注意が必要
である。
計算ノードが複数あり、インストール時に root 権限で rsh が実行できない場合は、イン
ストールスクリプトを全計算ノードで実行する必要がある。
また、GridVM をインストールするディレクトリと、GridVM のログディレクトリとして
指定するディスクは、root 権限で書き込み可能である必要がある。
2.2.2. インストール前の作業
GridVM エンジンはユーザ権限で動作する為、GridVM エンジンの実行ユーザを準備して
おく必要がある。
また、計算ノードが複数ある場合、可能であれば root 権限での rsh を許可する(運用時
にはこの設定は不要)。
2.2.3. インストール
GridVM エンジンのインストールディレクトリを作成し、インストールする OS に応じた
パッケージファイルを GridVM エンジンの実行ユーザで展開する。
計算ノードが複数ある場合には、以下の二通りのインストール方法がある。
19
管理者ガイド NAREGI Middleware GridVM
z
全計算ノードから参照可能な NFS ディスク上にインストールする場合
NFS ディスク上のディレクトリ下に GridVM エンジンのインストールディレクト
リを作成し、そこにパッケージファイルを展開する。
z
全計算ノードのローカルディスクにそれぞれインストールする場合
各計算ノードにて同一のパス名で GridVM エンジンインストールディレクトリを
作成し、そこにパッケージファイルをそれぞれ展開する。
※ ここでは Linux 環境において、パッケージファイルを /tmp 以下に置き、GridVM エ
ンジンのインストールディレクトリとして /usr/local-d/GridVM 下に “engine”と
いうディレクトリを作成するものとし、GridVM エンジンの実行ユーザは“globus”
であるものとする。
# mkdir /usr/local-d/GridVM/engine
# chown globus:globus /usr/local-d/GridVM/engine
# su - globus
-bash-2.05b$ cd /usr/local-d/GridVM/engine
-bash-2.05b$ tar zxvf /tmp/GridVM-Engine.tar.gz
bin/
bin/gvm_agent
bin/gvm_launcher
bin/gvm_wrapper
bin/gvm_manager
bin/gvm_getctime
bin/gvm_killpg
etc/
etc/config.xml.in
lib/
lib/libgvmconfig.so.0.1
lib/libgvmutils.so.0.1
lib/libgvmpolicy.so.0.1
lib/libgvmpolicymgr.so.0.1
lib/libgvmconfig.so
lib/libgvmutils.so
lib/libgvmpolicy.so
lib/libgvmpolicymgr.so
sbin/
sbin/gvm_manager.sh.in
20
管理者ガイド NAREGI Middleware GridVM
sbin/gvm_manager_local.sh.in
sbin/install_common
sbin/install _local.sh
sbin/install_loglotate.sh
sbin/install_sudoers.sh
sbin/install_syslog.sh
sbin/uninstall_local.sh
install.sh
uninstall.sh
Libxml2.Copyright
-bash-2.05b$
計算ノードが複数あり、インストール時にroot権限でrshが実行できる環境では、GridVM
エンジンの起動・停止(5.2節参照)を行う計算ノードにおいて、計算ノード定義ファイル
etc/nodes に、計算ノード名を一行毎に“hostname”コマンドが返却する形式で記述する。
他の計算ノードにおいては、計算ノード定義ファイルは不要である。
(例) etc/nodes
pbg1008.naregi.org
pbg1009.naregi.org
pbg1010.naregi.org
pbg1011.naregi.org
同ノードの GridVM エンジンのインストールディレクトリ下において、root 権限でイン
ストールスクリプト install.sh を実行する。計算ノードが複数あり、インストール時に root
権限で rsh が実行できない場合は、インストールスクリプトを全計算ノードで実行する。
インストールスクリプトの実行は以下のように行う。
install.sh [--user=USER] [--group=GROUP] [--port=PORT] [--gvms-host=GVMSHOST] [--g
vms-port=SPORT] [--sudoers=SUDOERS] [-y]
上記で“USER”は GridVM エンジンの実行ユーザ名、“GROUP”は GridVM エンジン
の実行ユーザのグループ名である。各オプションの利用法は以下の通りである。
--user=USER
GridVM エンジンの実行ユーザ名を“USER”に指定する。規定値は“globus”で
ある。
21
管理者ガイド NAREGI Middleware GridVM
--group =GROUP
GridVM エンジンの実行ユーザのグループ名を“GROUP”に指定する。規定値は
“USER”である。
--port=PORT
GridVM エンジン(GridVM マネージャ)のポート番号を“PORT”に指定する。
規定値は“7474”である。
--gvms-host=GVMSHOST
GridVM スケジューラの起動ホスト名を“GVMSHOST”指定する。規定値はイ
ンストールスクリプトを実行したホスト名である。
--gvms-port=SPORT
GridVM スケジューラのポート番号を“SPORT”に指定する。規定値は“7777”
である。
--sudoers=SUDOERS
sudo の 設 定 フ ァ イ ル パ ス を “ SUDOERS ” に 指 定 す る 。 規 定 値 は
“/etc/sudoers”である。
--y
バッチモードでインストールを実行する。規定値はインタラクティブモードであ
る。
※ ここでは GridVM の実行ユーザは“globus”であるものとし、GridVM スケジューラ
の起動ホストを pbg1007.naregi.org とする
# ./install.sh –-user=globus --gvms-host=pbg1007.naregi.org -y
Settings:
GridVM engine user
: globus
GridVM engine group
: globus
GridVM engine port
: 7474
GridVM scheduler host : pbg1007.naregi.org
GridVM scheduler port : 7777
sudoers file path
GridVM engine hosts
1011.naregi.org
: /etc/sudoers
: pbg1008.naregi.org pbg1009.naregi.org pbg1010.naregi.org pbg
22
管理者ガイド NAREGI Middleware GridVM
[pbg1008.naregi.org]
preparing /usr/local-d/GridVM/engine/pbg1008.naregi.org ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager.sh ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager_local.sh ...
preparing /usr/local-d/GridVM/engine/etc/config.xml ...
mdifying /etc/sudoers ...
[pbg1009.naregi.org]
preparing /usr/local-d/GridVM/engine/pbg1009.naregi.org ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager.sh ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager_local.sh ...
preparing /usr/local-d/GridVM/engine/etc/config.xml ...
mdifying /etc/sudoers ...
[pbg1010.naregi.org]
preparing /usr/local-d/GridVM/engine/pbg1010.naregi.org ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager.sh ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager_local.sh ...
preparing /usr/local-d/GridVM/engine/etc/config.xml ...
mdifying /etc/sudoers ...
[pbg1011.naregi.org]
preparing /usr/local-d/GridVM/engine/pbg1011.naregi.org ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager.sh ...
preparing /usr/local-d/GridVM/engine/sbin/gvm_manager_local.sh ...
preparing /usr/local-d/GridVM/engine/etc/config.xml ...
mdifying /etc/sudoers ...
Completed.
#
2.2.4. インストール結果の確認
インストールした結果、各計算ノードにおいて GridVM エンジンが正しくインストール
されていることを確認する方法は下記の通りである。
内容
方法
GridVM エンジン実行ファイル
各計算ノードにおいて、GridVM エンジンのインストールディレ
クトリ配下に以下のファイルが配置されていることを ls コマン
ドにより確認する。
23
管理者ガイド NAREGI Middleware GridVM
/engine_inst_Dir /bin/gvm_agent
/engine_inst_Dir /bin/gvm_launcher
/engine_inst_Dir /bin/gvm_wrapper
/engine_inst_Dir /bin/gvm_manager
/engine_inst_Dir /bin/gvm_killpg
/engine_inst_Dir /bin/gvm_getctime
GridVM エンジンライブラリ
各計算ノードにおいて、GridVM エンジンのインストールディレ
クトリ配下に以下のファイルが配置されていることを ls コマン
ドにより確認する。
[Linux 環境]
/engine_inst_Dir /lib/libgvmconfig.so.0.1
/engine_inst_Dir /lib/libgvmutils.so.0.1
/engine_inst_Dir /lib/libgvmpolicy.so.0.1
/engine_inst_Dir /lib/libgvmpolicymgr.so.0.1
/engine_inst_Dir /lib/libgvmconfig.so
/engine_inst_Dir /lib/libgvmutils.so
/engine_inst_Dir /lib/libgvmpolicy.so
/engine_inst_Dir /lib/libgvmpolicymgr.so
[AIX 環境]
/engine_inst_Dir /lib/libgvmconfig.a
/engine_inst_Dir /lib/libgvmutils.a
/engine_inst_Dir /lib/libgvmpolicy.a
/engine_inst_Dir /lib/libgvmpolicymgr.a
GridVM エンジン起動ファイル
各計算ノードにおいて、GridVM エンジンのインストールディレ
クトリ配下に以下のファイルが配置されていることを ls コマン
ドにより確認する。
/engine_inst_Dir /sbin/gvm_manager.sh
/engine_inst_Dir /sbin/gvm_manager_local.sh
GridVM エンジン設定ファイル
各計算ノードにおいて、GridVM エンジンのインストールディレ
クトリ配下に以下のファイルが配置されていることを ls コマン
ドにより確認する。
/engine_inst_Dir /etc/config.xml
また、各計算ノードの sudo 設定ファイル(規定値では/etc/sudoers) に下記のような
記述が追加される。
24
管理者ガイド NAREGI Middleware GridVM
※ 以下の例では、GridVM エンジン実行ユーザを globus としており、計算ノードの一つ
である pbg1008.naregi.org 上の sudo 設定ファイルを参照しているものとする。
[Linux 環境]
# cat /etc/sudoers
:
globus ALL=NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_wrapper
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_kill
pg
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/ckpt.*
:
#
[AIX 環境]
# cat /etc/sudoers
:
globus ALL=NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_wrapper
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_kill
pg
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_getc
time
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/ckpt.*
:
#
2.2.5. インストールに失敗した場合の対処方法
z
各計算ノードにて、GridVM エンジン実行ファイル・GridVM エンジンライブラ
リ・/engine_inst_Dir /sbin/gvm_manager_local.sh・GridVM エンジン設定ファイ
ルが存在しない場合
→ 該当する計算ノードにおいて、GridVMエンジンインストールディレクトリ
(/engine_inst_Dir/)以下でGridVMエンジンパッケージファイルをGridVMエンジ
ンの実行ユーザ権限で展開する(2.2.3節参照)。
z
インストールスクリプトの実行が失敗した場合
→ 以下の点を再確認し、GridVMエンジンのインストールディレクトリ下におい
てroot権限でインストールスクリプトを再実行する(2.2.3節参照)。
25
管理者ガイド NAREGI Middleware GridVM
‹ 計算ノードが複数あり、root 権限での rsh を可能にしてインストールスクリプ
トを実行した場合、計算ノード定義ファイル(/engine_inst_Dir /etc/nodes)に
記述されているホスト名が、全て“hostname”コマンドが返却する形式で正
しく記述されているか。
-bash-2.05b$ cat /usr/local-d/GridVM/engine/etc/nodes
pbg1008.naregi.org
pbg1009.naregi.org
pbg1010.naregi.org
pbg1011.naregi.org
-bash-2.05b$ hostname
pbg1008.naregi.org
-bash-2.05b$
‹ 計算ノードが複数あり、root 権限での rsh を可能にしてインストールスクリプ
トを実行した場合、計算ノード定義ファイルに記述されている全ノードについ
て、root 権限での rsh が可能になっているか。
-bash-2.05b$ su Password:
# rsh pbg1008.naregi.org echo ok
ok
# rsh pbg1009.naregi.org echo ok
ok
# rsh pbg1010.naregi.org echo ok
ok
# rsh pbg1011.naregi.org echo ok
ok
#
‹ GridVM インストールディレクトリ・GridVM のログディレクトリとして指定
したディスクが、root 権限で書き込み可能であるか。
# touch /usr/local-d/GridVM/engine/foo
# rm /usr/local-d/GridVM/engine/foo
# touch /opt/naregi-mdl/log/GridVM/foo
# rm /opt/naregi-mdl/log/GridVM/foo
#
2.2.6. インストール後の作業
必要であれば、インストール前に行った root 権限での rsh を許可する設定を元に戻す。
26
管理者ガイド NAREGI Middleware GridVM
運用時にGridVMエンジンの実行ユーザでのrshが許可されていない環境では、インスト
ール時に計算ノード定義ファイル(etc/nodes)を作成した場合、これを削除する。計算ノ
ードが複数あり、運用時にGridVMエンジンの実行ユーザでのrshが許可されている環境で、
インストール時に計算ノード定義ファイルを作成しなかった場合は、2.2.3節を参照してこ
れを作成する。
27
管理者ガイド NAREGI Middleware GridVM
第 3 章. ローカルスケジューラのセットアップについて
使用するローカルスケジューラに応じて、ローカルスケジューラの起動、または環境設
定上、以下の操作が必要である。
3.1. PBS Professional
PBS Professional に対して、以下の環境設定が必要である。
キューの設定
GridVM で利用するクラスタ資源の範囲を規定するために、テンプレートとなるバッチキ
ューを作成し、ジョブ投入、実行が可能な状態にしておく。(キューの作成方法等に関して
は PBS Professional の管理者ガイドを参照のこと。)
ここで、GridVM スケジューラの運用に反映されるキューの設定は以下の項目である。こ
れらの属性の設定をすることによって、GridVM スケジューラに投入されるジョブに対して
制限をかけることができる。
—
resources_available.ncpus (キューで利用可能なノードあたりの CPU 数)
—
resources_max.pmem (キューで利用可能な物理メモリ)
—
resources_max.pvmem (キューで利用可能な仮想メモリ)
—
resources_max.cput (キューで利用可能な CPU 時間)
—
resources_max.walltime (キューで利用可能な WallTime)
—
resources_max.file (キューで利用可能な最大ファイルサイズ)
—
resources_max.nodect or resources_max.nodes (キューで利用可能な最大ノード数)
—
acl_user_enable (キューのユーザ制限の有無)
—
acl_users (キューのユーザ制限時のユーザ名)
—
acl_group_enable (キューのグループ制限の有無)
—
acl_groups (キューのグループ制限時のグループ名)
28
管理者ガイド NAREGI Middleware GridVM
3.2. SGE(Sun Grid Engine)
Sun Grid Engine に対して、マスターホスト上において以下の環境設定が必要である。
管理者アカウントの設定
GridVM では、ジョブ制御のため、root ユーザを Sun Grid Engine の管理者アカウントと
して設定しておく必要がある。既存の管理者アカウントで、qsonf コマンドを使用して root
を管理者アカウントに追加する。
% qconf –am root
reporting 設定
GridVM では、Sun Grid Engine のジョブイベントを採取するために、Sun Grid Engine
の reporting ファイルを利用している。このため、reporting ファイルへの出力情報の設定と
して、qconf コマンドを使用して以下の設定を行う。
# qconf -mconf
ここで、起動されるエディタ内で、reporting_params の項目の内容を以下のように編集
する。
z
reporting=true
z
accounting=true
z
joblog=true
reporting_params
accounting=true reporting=true joblog=true ¥
flush_time=00:00:15 sharelog=00:00:00
並列環境(PE)の設定
GridMPI を利用した並列ジョブの実行のため、GridMPI 用の並列環境を作成する(並列
環境の作成方法等に関しては、Sun Grid Engine の管理者ガイドを参照のこと)。GridMPI
用の並列環境の起動手続き(startyampi.sh)、終了手続き(stopyampi.sh)を、クラスタ内の各計
算ノードにおいて同じパスになるよう配置する。これらの手続きは、GridVM スケジューラ
のインストールディレクトリ/bin 以下にある。
※ ここでは、GridVM スケジューラのインストールディレクトリを/usr/local-
29
管理者ガイド NAREGI Middleware GridVM
d/GridVM/scheduler 、GridMPI 用の並列環境の起動・終了手続きを配置するディレ
クトリを、クラスタ内の全計算ノードにおいて NFS 共有されている/usr/locald/pe/yampi とする。
# cp /usr/local-d/GridVM/scheduler/bin/startyampi.sh /usr/local-d/pe/yampi/
# cp /usr/local-d/GridVM/scheduler/bin/stopyampi.sh /usr/local-d/pe/yampi/
GridMPI 用の並列環境を qconf コマンドを利用して以下のように設定する。
※ ここでは、GridMPI 用の並列環境名を”yampi”とする。
# qconf –mp yampi
ここで、起動されるエディタ内で、start_proc_args、stop_proc_args、allocation_rule の
項目の内容を以下のように編集する。
z
start_proc_args GridMPI 用の並列環境の起動処理のファイルパス
$pe_hostfile $job_id
z
stop_proc_args
GridMPI 用の並列環境の終了処理のファイルパス $job_id
z
allocation_rule
$round_robin
start_proc_args
/usr/local-d/pe/yampi/startyampi.sh $pe_hostfile $job_id
stop_proc_args
/usr/local-d/pe/yampi/stopyampi.sh $job_id
allocation_rule
$round_robin
スロット数等、その他並列環境の設定を行う。
キューの設定
GridVM で利用するクラスタ資源の範囲を規定するために、テンプレートとなるクラスタ
キューを作成し、ジョブ投入、実行が可能な状態にしておく。(キューの作成方法等に関し
ては Sun Grid Engine 6 の管理者ガイドを参照のこと。)
作成したキューに、GridMPI 用の並列環境を追加する。qconf コマンドを使用して以下の
設定を行う。
※ ここでは、キュー名を”workq”とする。
# qconf –mq workq
ここで、起動されるエディタ内で、pe_list の項目に上記で設定した並列環境名を追加す
30
管理者ガイド NAREGI Middleware GridVM
る。
※ ここでは、GridMPI 用の並列環境名を”yampi”とする。
pe_list
make yampi
キューの資源制限を行う場合、GridVM スケジューラの運用に反映されるキューの設定は
以下の項目である。これらの属性の設定をすることによって、GridVM スケジューラに投入
されるジョブに対して制限をかけることができる。
—
h_rss (キューで利用可能な物理メモリ)
—
h_vmem (キューで利用可能な仮想メモリ)
—
h_cpu (キューで利用可能な CPU 時間)
—
h_rt (キューで利用可能な WallTime)
—
h_fsize (キューで利用可能な最大ファイルサイズ)
—
user_lists(キューのユーザ制限時の利用可能ユーザリスト)
—
xuser_lists(キューのユーザ制限時の利用不可ユーザリスト)
3.3. LoadLeveler
LoadLeveler に対して、以下の環境設定が必要である。
クラスの設定
GridVM で利用するクラスを作成し、ジョブ投入および実行が可能な状態にしておく。ここ
で、GridVM スケジューラの運用に反映される LoadLevler のクラスの制限値の設定は以下の項
目である。これらの項目を設定することによって、GridVM スケジューラに投入されるジョブ
に対して制限をかけることができる。
(クラスの作成方法等に関しては LoadLeveler の管理者ガイドを参照のこと。)
¾ 管理ファイル LoadL_admin での class stanza の制限
—
wall_clock_limit(クラスで利用可能な Walltime)
31
管理者ガイド NAREGI Middleware GridVM
—
cpu_limit(クラスで利用可能な CPU 時間)
—
file_limit(クラスで利用可能なファイルサイズ)
—
rss_limit(クラスで利用可能な物理メモリ)
—
data_limit(クラスで利用可能なデータサイズ)
—
include_users(クラスを利用可能なユーザ)
—
exclude_users(クラスを利用不可なユーザ)
—
include_groups(クラスを利用可能なグループ)
—
exclude_groups(クラスを利用不可なグループ)
¾ 管理ファイル LoadL_admin での user stanza の設定
class stanza での制限で include_groups, exclude_groups を利用する際は、以下の設定を
行うこと。
—
default_group = Unix_Group
注意事項
予約ジョブが非予約ジョブと混在している状況や並列ジョブの場合に、ジョブステップ数や
タスク数に関係する制限がかかっていると、条件により、予約ジョブが予約時間通りに実行さ
れないことがある。従って、GridVM で使用するクラスを作成する際、並びに管理者ファイル
LoadL_admin に制限値を設定する際、以下の点に注意すること。
¾ クラス作成時
クラスを構成する各ノードのスロット数を均一に設定すること。
GridVM スケジューラでは、ノード当たりの CPU 数がこのスロット数となる。
¾ 管理ファイル LoadL_admin の class stanza で定義する制限値で以下のものは設定し
ないこと。
z
maxjobs (最大同時実行ジョブステップ数)
z
max_total_tasks (最大同時実行タスク数)
z
max_node (パラレルジョブでの最大使用ノード数)
- 但し、クラスのノード数と同じ値であれば設定してもよい。
32
管理者ガイド NAREGI Middleware GridVM
z
total_tasks (パラレルジョブでの最大タスク数)
¾ LoadL_admin で user stanza の制限値の設定は行わないこと。
¾ LoadL_admin で group stanza の制限値の設定は行わないこと。
33
管理者ガイド NAREGI Middleware GridVM
第 4 章. GridVMのセットアップについて
4.1. GridVMスケジューラのセットアップ
4.1.1. 初期状態
GridVM スケジューラのインストール直後の設定は下表のようになっている。環境に合わ
せて設定の変更を行う必要がある。
項目
インストール時の設定
説明
必須ソフトウェア関連
Java(J2SDK)のインストールパス
/usr/java/jdk1.5.0_14
4.1.2節
Globus Toolkit 4.0.5 のインストールパス
/opt/globus
4.1.2節
JWSDP のインストールパス
/opt/jwsdp-2.0
4.1.2節
GridVM スケジューラ関連
GridVM スケジューラのインストールディレ /usr/local-d/GridVM/scheduler
4.1.2節
クトリ
GridVM エンジンとの通信用ポート番号
7777
4.1.2節
プラグインライブラリとの通信用ポート番号
8888
4.1.2節
GridVM エンジンのラウンチャのパス
/usr/local-d/
4.1.2節
GridVM/engine/bin/gvm_launcher
予約受付可・不可
可
4.1.2節
ログレベル
4
4.1.2節
利用量制御機能1
オフ
4.1.4節
https://192.168.0.1:8443/wsrf/
4.1.2節
Globus Toolkit 関連
LRPSサービス2のURI
services/org/naregi/admin/LRPSServic
e
3
RUSサービス のURI
1
https://192.168.0.1:8443/wsrf/
4.1.2節
利用量制御機能は、利用量制御ポリシーに従ってジョブの資源利用量(実行時間、CPU 時間、
ディスク使用量)を制御する機能である
2
LRPS サービスは、情報サービスにより提供されるグリッドサービスで、GridVM から各種情報
を提供するために利用する。
3
RUS サービスは、情報サービスにより提供されるグリッドサービスで、GridVM から各種情報を
提供するために利用する。
34
管理者ガイド NAREGI Middleware GridVM
services/org/naregi/admin/ResourceUs
ageService
GridVMJob サービスの URI
https://192.168.0.1:8443/wsrf/services/
4.1.2節
gridvm/GridVMJobFactoryService
Globus Toolkit のコンテナ起動ユーザ
globus
4.1.2節
情報サービスへの情報登録ユーザ
globus
4.1.2節
gridmap ファイルのパス
/etc/grid-security/grid-mapfile
4.1.2節
コンテナ証明書ファイルパス
/etc/grid-security/containercert.pem
4.1.2節
コンテナキーファイルパス
/etc/grid-security/containerkey.pem
4.1.2節
1
GridVMJob サービス、GridVM スケジュー MAX=100MB×3 ファイル,
ラライブラリのログ
4.1.3節
category=INFO
ローカルスケジューラ関連
※インストール時の設定は PBSPro の設定が有効となっているため、以下の設定項目について、
私用するローカルスケジューラに応じた設定を行うこと
ローカルスケジューラ種別
PBSPro
4.1.2節
ローカルスケジューラのインストールパス
/usr/pbs
4.1.2節
ローカルスケジューラのサーバログファイル /var/spool/PBS/server_logs
4.1.2節
のパス(PBS 環境のみ)
提供キュー名
workq
4.1.2節
最大バルクタスク数(PBS 環境のみ)
10000
4.1.2節
削除イベント用ポート番号
12121
4.1.2節
(LoadLeveler 環境のみ)
1
gridmapfile は、Globus Toolkit が使用する、ユーザ証明書の Subject とローカルユーザとのマッ
ピングのためのファイルである。
35
管理者ガイド NAREGI Middleware GridVM
4.1.2. GridVMスケジューラの設定
2.1.2節でローカルスケジューラ、Globus Toolkit のインストールを行った際の情報や、
インストールするマシンの環境に合わせて、GridVMスケジューラの設定ファイルgvms.conf
によってGridVMスケジューラの設定を行う。この操作は、スーパーユーザで行う。
※ ここでは、GridVM スケジューラのインストールディレクトリを/usr/locald/GridVM/scheduler とする。
# export GVMSD_ROOT=/usr/local-d/GridVM/scheduler
# cd $GVMSD_ROOT/etc
# vi gvms.conf
(gvms.confファイルを下記の説明に従って編集)
# ./setup
#
GridVM スケジューラ設定ファイルの設定
GridVM スケジューラ設定ファイル(gvms.conf)の各項目の設定フォーマットは、一行
一項目で、
項目名=設定値
のように記述する。また、#で始まる行はコメント行となる。各項目に設定する内容は
以下の通りである。
JAVA_HOME
Java のインストールディレクトリをフルパス指定で指定する。
GLOBUS_LOCATION
Globus Toolkit 4.0.5 のインストールディレクトリをフルパス指定で指定する。
JWSDP_HOME
JWSDP のインストールディレクトリをフルパス指定で指定する。
GVMSD_ROOT
GridVM スケジューラのインストールディレクトリをフルパス指定で指定する。
GVMSD_PORT
36
管理者ガイド NAREGI Middleware GridVM
GridVMエンジンとの通信ポートを指定する。ポート番号は、2.2.3節でGridVMエ
ンジンのインストール時に指定したSPORTの値と一致させる必要がある。
EVENT_PORT
GridVM スケジューラとローカルスケジューラ対応プラグインライブラリ間の通信
のためのポート番号を指定する。
GVM_LAUNCHER
GridVM エンジンを利用してジョブの監視を行うために、GridVM ラウンチャのイ
ンストールパス名を指定する。
RESERVABLE
予約受付可、不可の指定をする。可の場合"True"、不可の場合、"False"を指定す
る。
LOG_LEVEL
GridVM スケジューラのログレベルを指定する。指定する値は 1~5 の整数値で、
数値が大きいほどログ出力が詳細になる
LRPS_URI
情報サービスから提供される、LocalResourceProvider サービスの URI を指定す
る。GridVM スケジューラは、これと下記の RUS_URI で指定された URI を使用して、
情報サービスのサービスを利用する。
RUS_URI
情報サービスから提供される、RUS サービスの URI を指定する。
GRIDVM_JOBSERVICE_URI
GridVM が提供する GridVMJob サービスの URI を指定する。ここで指定する URI
は、自ホスト(クラスタの管理ノード)上の Globus Toolkit で提供する GridVMJob
サービスの Factory サービスのもの(スーパースケジューラが GridVM 経由でジョブ
を実行する際に指定する URI と同じもの)を指定すること。
GLOBUS_USER
自ホスト上での Globus Toolkit の起動ユーザ名を設定する。
IS_USER
37
管理者ガイド NAREGI Middleware GridVM
GridVM スケジューラが情報サービス(LRPS サービスおよび RUS サービス)を利
用する際に使用する自ホスト上のユーザ名を指定する。ここで指定するユーザに対し
ては、Globus Toolkit で LRPS サービスおよ RUS サービスを利用するための証明書
が正しく設定されている必要がある。
GRIDMAP
Globus Toolkit で使用する”Grid-Mapfile”を指定する。デフォルトは、”/etc/gridsecurity/grid-mapfile”。
CONTAINER_CERT_FILE
Globus Toolkit で使用するコンテナ証明書ファイルのパスを指定する。デフォルト
は、”/etc/grid-security/containercert.pem”。
CONTAINER_KEY_FILE
Globus Toolkit で使用するコンテナ鍵ファイルのパスを指定する。デフォルト
は、”/etc/grid-security/containerkey.pem”。
LOCAL_SCHED
利用するローカルスケジューラを指定する。PBS Professional 環境では”PBSPro”、
SGE 環境では”SGE”、LoadLeveler 環境では”LoadLeveler”を指定する。
LOCAL_SCHED_PATH
利用するローカルスケジューラのインストールパスを指定する。(SGE 環境では
不要)
LOCAL_SCHED_LOG
PBS Professional のサーバーログの出力ディレクトリのパス名を指定する。
(PBS 環境のみ)
QUEUES
GridVMで利用するローカルスケジューラのキュー名を指定する。3.1節で設定し
たキュー名を指定する。複数のキューを記述する場合は、”,”(カンマ)によってキュー
名を区切る。
[記述例]
QUEUES=queue1,queue2
38
管理者ガイド NAREGI Middleware GridVM
MAX_TASKS_OF_BULKJOB
バルクジョブの最大タスク数を指定する。(PBS 環境のみ)
SGE_ROOT
SGE のインストールパスを指定する。(SGE 環境のみ)
SGE_CELL
SGE で使用する CELL 名を指定する。(SGE 環境のみ)
SGE_ARCH
SGE で使用するアーキテクチャ名を指定する。SGE のコマンド郡が、
SGE_ROOT/bin/SGE_ARCH 以下に配置されるように指定する。(SGE 環境のみ)
SGE_PE
SGE で使用する並列環境(PE)名を指定する。(SGE 環境のみ)
PLUS_BINDIR
PluS のバイナリをインストールしたディレクトリを指定する。PluS のコマンド
郡が、PLUS_BINDIR 以下に配置されるよう指定する。(SGE 環境のみ)
PLUS_JARDIR
PluS の jar ファイルをインストールしたディレクトリを指定する。(SGE 環境の
み)
JAVA5_HOME
jdk1.5.0 のインストールディレクトリを指定する。(SGE 環境のみ)
AIX_DELETE_PORT
LoadLeveler 上で実行が Rejected となったジョブを削除するため、GridVM 内で
の通信に使用するポート番号を指定する。(LoadLeveler 環境のみ)
FILTER_PROG
不使用
DELETE_PRI_FILTER
不使用
39
管理者ガイド NAREGI Middleware GridVM
NODE_PRI_FILTER
不使用
SHOW_SUBGROUP
不使用
JACCT_PATH
不使用
SCHED_TYPE
不使用
## GridVM Scheduler Configuration
## Common Software
JAVA_HOME=/usr/java/j2sdk1.5.0_14
GLOBUS_LOCATION=/opt/globus
JWSDP_HOME=/opt/jwsdp-2.0
## GridVM Scheduler
GVMSD_ROOT=/usr/local-d/GridVM/scheduler
GVMSD_PORT=7777
EVENT_PORT=8888
GVM_LAUNCHER=/usr/local-d/GridVM/engine/bin/gvm_launcher
RESERVABLE=True
DELETE_PRI_FILTER=
NODE_PRI_FILTER=
LOG_LEVEL=4
## GlobusToolkit4.0
LRPS_URI=https://192.168.0.1:8443/wsrf/services/org/naregi/admin/LRPSService
RUS_URI=https://192.168.0.1:8443/wsrf/services/org/naregi/admin/ResourceUsageService
GRIDVM_JOBSERVICE_URI=https://192.168.0.1:8443/wsrf/services/gridvm/GridVMJobFactoryS
ervice
GLOBUS_USER=globus
IS_USER=globus
GRIDMAP=/etc/grid-security/grid-mapfile
40
管理者ガイド NAREGI Middleware GridVM
CONTAINER_CERT_FILE=/etc/grid-security/containercert.pem
CONTAINER_KEY_FILE=/etc/grid-security/containerkey.pem
#############################################
## Local Scheduler Plugin setting
##
## LOCAL_SCHED: Local scheduler selection
##
(PBSPro, LoadLeveler or NQSII)
LOCAL_SCHED=PBSPro
PLUGIN_PORT=8888
#############################################
## Each Local Scheduler's setting
## (set the selected local scheduler's part)
## PBSPro (only on Linux) setting
LOCAL_SCHED_PATH=/usr/pbs
LOCAL_SCHED_LOG=/var/spool/PBS/server_logs
QUEUES=workq
MAX_TASKS_OF_BULKJOB=10000
## LoadLeveler (only on AIX) setting
#LOCAL_SCHED_PATH=/usr/loadl
#EVENT_PORT=12121
#QUEUES=test
## NQSII (only on Linux) setting
## SCHED_TYPE: NQSII's job scheduler selection
##
(STD or JM)
#SCHED_TYPE=STD
#QUEUES=testq
## SGE (only on Linux) setting
#SGE_ROOT=/usr/local/n1ge
#SGE_CELL=default
#SGE_ARCH=lx24-amd64
#SGE_PE=gridmpi
41
管理者ガイド NAREGI Middleware GridVM
#FILTER_PROG=
#PLUS_BINDIR=/usr/local/bin
#PLUS_JARDIR=/usr/local/PluS
#JAVA5_HOME=/usr/java/jdk1.5.0_11
#QUEUES=all.q
## Solaris_NQS (only on Solaris) setting
#SHOW_SUBGROUP=/usr/lib/pworks/pm/showSubGroup
#JACCT_PATH=/var/opt/FJSVpnrm/jacct
#QUEUES=testq
4.1.3. Globus Toolkit 関連ログの設定
GridVMJob サービスのログの設定
GridVMJobサービスは、スーパースケジューラからジョブの予約や制御を行ったり、ジ
ョブのイベントを通知したりするためのサービスである。GridVMJobサービスのログ出力は、
Log4jのライブラリを使用しており、2.1.3節のGlobus Toolkit 用GridVMモジュールのインス
トールにおいて、$(GLOBUS_LOCATION)/container-log4.propertiesファイルに、以下のよ
うに設定されている。ログレベル、ログ出力先、ログローテーションの指定を変更が必要な
場合は、ここでcontainer-log4j.propertiesファイルの設定を変更する。
設定例 $(GLOBUS_LOCATION)/container-log4j.properties
:
# GridVM JobService
log4j.appender.GridVMService=org.apache.log4j.RollingFileAppender
log4j.appender.GridVMService.File=/opt/globus/var/gridvm-service.log
log4j.appender.GridVMService.MaxFileSize=100MB
log4j.appender.GridVMService.MaxBackupIndex=3
log4j.appender.GridVMService.layout=org.apache.log4j.PatternLayout
log4j.appender.GridVMService.layout.ConversionPattern=%d [%-5p] %c{3} - %m [%t] %n
log4j.category.org.naregi.gridvm=INFO, GridVMService
log4j.additivity.org.naregi.gridvm=false
:
インストール環境に合わせて変更が必要な項目について、設定する内容は以下の通りで
ある。
42
管理者ガイド NAREGI Middleware GridVM
log4j.appender.GridVMService.File
出力ログファイルを指定する。
log4j.appender.GridVMService.MaxFileSize
ログファイルの最大ファイルサイズを指定する。ログファイルがこのサイズを超
えると、ローテーションが行われる。
log4j.appender.GridVMService.MaxBackupIndex
ログファイルの最大バックアップファイル数を指定する。
log4j.category.org.naregi.gridvm =INFO, GridVMService
ログレベルを指定する。Log4j で設定可能なレベルは以下である。
ALL > DEBUG > INFO > WARN > ERROR > FATAL > OFF
GridVM スケジューラライブラリ用ログの設定
GridVM スケジューラライブラリ(GridVMJob サービスの GridVM スケジューラとのイ
ンタフェースライブラリ)用ログの設定は、GridVMJob サービスのログ設定と同様に、
$(GLOBUS_LOCATION)/container-log4.properties ファイルで行う。ログレベル、ログ出力
先、ログローテーションの指定を変更が必要な場合は、ここで container-log4j.properties フ
ァイルの設定を変更する。
設定例 $(GLOBUS_LOCATION)/container-log4j.properties
※ここで、GlobusTookit のインストールディレクトリ($GLOBUS_LOCATION)を
/opt/globus とする。
:
# GridVM Scheduler Library
log4j.appender.GridVMLibrary = org.apache.log4j.RollingFileAppender
log4j.appender.GridVMLibrary.File = /opt/globus/var/gridvm-library.log
log4j.appender.GridVMLibrary.MaxFileSize=100MB
log4j.appender.GridVMLibrary.MaxBackupIndex=3
log4j.appender.GridVMLibrary.layout = org.apache.log4j.PatternLayout
log4j.appender.GridVMLibrary.layout.ConversionPattern = %d [%-5p] %c{3} - %m [%t]
%n
log4j.category.org.naregi.gridvm.scheduler.library = INFO, GridVMLibrary
log4j.additivity.org.naregi.gridvm.scheduler.library=false
:
43
管理者ガイド NAREGI Middleware GridVM
インストール環境に合わせて変更が必要な項目について、設定する内容は以下の通りで
ある。
log4j.appender.GridVMLibrary.File
出力ログファイルを指定する。
log4j.appender.GridVMLibrary.MaxFileSize
ログファイルの最大ファイルサイズを指定する。ログファイルがこのサイズを超
えると、ローテーションが行われる。
log4j.appender.GridVMLibrary.MaxBackupIndex
ログファイルの最大バックアップファイル数を指定する。
log4j.category. org.naregi.gridvm.scheduler.library = INFO, GridVMLibrary
ログレベルを指定する。Log4j で設定可能なレベルは以下である。
ALL > DEBUG > INFO > WARN > ERROR > FATAL > OFF
4.1.4. 利用量制御機能の設定
利用量制御機能を利用するためには、以下の設定が必要である。
1) GridVM スケジューラ設定ファイルの設定
GridVM スケジューラの設定ファイル gvmsd.conf に下記の設定を追加する必要がある。
利用量制御機能を使用しない場合、本設定は不要である。gvmsd.conf の各項目の設定フォ
ーマットは、一行一項目で、
項目名=設定値
のように記述する。また、#で始まる行はコメント行となる。
各項目に設定する内容は以下の通りである。
RU_ENABLE
利用量制御機能のオン(True)・オフ(False)を設定する。既定値は、”False”
となる。
44
管理者ガイド NAREGI Middleware GridVM
RU_POLICY
利用量制御機能を使用する場合、利用量制御ポリシー設定ファイルのファイル位
置を絶対パスで指定する。
RU_MONITOR
利用量制御機能を使用する場合、個々の監視対象のオン・オフを指定する。
z
ELAPSE:実行時間の監視
z
CPU
:CPU 時間の監視
z
DISK
:ディスク使用量の監視
z
ALL
:上記全ての監視
“ELAPSE”、“ CPU”、“DISK”の組み合わせ、または“ALL”で指定する。
複数の監視対象の組み合わせは“,”区切りで指定する。規定値は“ELAPSE, CPU”
となる。
RU_INTERVAL
利用量制御機能を使用する場合、利用量を監視する時間間隔を秒で指定する。規
定値は“60”となる。
RU_DISK_MONTYPE
利用量制御機能を使用し、かつディスク使用量を監視する場合、ディスク使用量
の採取方式を指定する。
z
PCT :ディスク使用率による使用量採取
z
SIZE:ディスクサイズによる使用量採取
規定値は“PCT”となる。
設定例(gvmsd.conf)
# GridVM Scheduler Config
RU_ENABLE=True
RU_POLICY=/usr/local-d/GridVM/scheduler/etc/policy_ru.xml
RU_MONITOR=ELAPSE,CPU
RU_INTERVAL=60
45
管理者ガイド NAREGI Middleware GridVM
RU_DISK_MONTYPE=PCT
2) 利用量制御ポリシー設定ファイルの設定
利用量制御機能を有効にする場合は、利用量制御ポリシー設定ファイル
(policy_ru.xml)を作成し、GridVM スケジューラ設定ファイルで利用量制御機能を有効に
設定し(RU_ENABLE を”True”に設定)、また作成した利用量制御ポリシー設定ファイルの
パスを設定する(RU_POLICY に設定)。
利用量制御ポリシー設定ファイルの各タグの内容は以下の通りである。
(*): 設定必須
/GridVMPolicyConfig
(*)
ポリシーのルートタグ。ポリシー設定ファイルに1つだけ記述する。
/GridVMPolicyConfig/AccessControl
(*)
アクセス制御ポリシーのルートタグ。GridVMPolicyConfig タグ内に1つだけ記述
する。
/GridVMPolicyConfig/AccessControl/ResourceUsage
(*)
利用量制御ポリシーのルートタグ。GridVMPolicyConfig タグ内に1つだけ記述す
る。属性としてルール解釈アルゴリズムを指定することが出来る。
•
ルール解釈アルゴリズム属性(RuleCombiningAlgorithm)
複数のルールをまとめる際のルール結合アルゴリズムを指定する。値とし
て、”tight-overrides”または”loose-overrides”が指定できる。指定がない場合
は、”tight-overrides”と解釈する。
tight-overrides
適用可能なルールが複数ある場合に、上限値として設定された最小値を採用す
る。
loose-overrides
適用可能なルールが複数ある場合に、上限値として設定された最大値を採用す
る。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule
46
(*)
管理者ガイド NAREGI Middleware GridVM
利用量制御ルールを記述する。ルールを適用する主体の分類(AppliedTo)、制
御を行う対象(Metrics)を記述する。ResourceUsage タグ内に1つ以上記述す
る。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule/AppliedTo
ルールを適用する主体の種類を記述する。UsageRule タグ内に1つまで記述する。
省略時は全種類が対象となる。属性として、主体の単位を指定する。
•
主体の単位属性(TargetUnit)
値として、"user"(グローバルユーザ ID)または "vo"(VO 名)が指定できる。
指定が無い場合は、"user" と解釈する。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule/AppliedTo/Subjec
ts
ルールを適用する主体の集合を記述する。AppliedTo タグ内に 1 つまで記述し、
値は Subject タグ内に記述する。省略時は全主体が対象となる。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule/AppliedTo/Subjec
ts/Subject
ルールを適用する個々の主体を記述する。Subjects タグ内に 0 以上記述する。省
略時は全主体が対象となる。AppliedTo タグの設定に対応したグローバルユーザ
ID 又は VO 名を、値としてタグ内に設定する。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule/Metrics
制御を行う対象の集合を記述する。UsageRule タグ内に 1 つまで記述する。省略
時は、全対象について監視・制御を行わないことを示す。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule/Metrics/Metric
制御を行う個々の対象を記述する。Metrics タグ内に 0 以上記述する。省略時
は、監視・制御を行わないことを示す。
/GridVMPolicyConfig/AccessControl/ResourceUsage/UsageRule/Metrics/Metric/Am
ount
資源利用量の上限値を記述する。Metric タグ内に 0 以上記述する。省略時は、監
視・制御を行わないことを示す。属性として、資源種別、上限値を指定する。
•
資源種別属性(AmountResource)
47
管理者ガイド NAREGI Middleware GridVM
値として、"elapse"(実行時間)、"cpu"(CPU 時間)、または "disk"(ディ
スク使用量)の何れかを指定する。設定がない資源は、監視・制御を行わない
ことを示す。
•
上限値属性(AmountValue)
値を浮動小数点で記述する。elapse、cpu に対応する単位は秒(s)、disk に対応
する単位は MB である。
設定例(policy_ru.xml)
<?xml version="1.0" encoding="UTF-8"?>
<gvmcf:GridVMPolicyConfig
xmlns:gvmcf="http://www.naregi.org/wp1/GridVM/PolicyConfig1.0">
<gvmcf:AccessControl>
<!-- Resource Usage Control policy example -->
<gvmcf:ResourceUsage
gvmcf:RuleCombiningAlgorithm="tight-overrides">
<!-- Usage Rule 1: for all user -->
<gvmcf:UsageRule>
<gvmcf:Metrics>
<gvmcf:Metric>
<gvmcf:Amount gvmcf:AmountResource="disk" gvmcf:AmountValue="1.0E6"></g
vmcf:Amount>
</gvmcf:Metric>
</gvmcf:Metrics>
</gvmcf:UsageRule>
<!-- Usage Rule 2: for naregi VO user -->
<gvmcf:UsageRule>
<gvmcf:AppliedTo gvmcf:TargetUnit="vo">
48
管理者ガイド NAREGI Middleware GridVM
<gvmcf:Subjects>
<gvmcf:Subject>naregi.org</gvmcf:Subject>
</gvmcf:Subjects>
</gvmcf:AppliedTo>
<gvmcf:Metrics>
<gvmcf:Metric>
<gvmcf:Amount gvmcf:AmountResource="elapse" gvmcf:AmountValue="2.0E+6">
</gvmcf:Amount>
</gvmcf:Metric>
</gvmcf:Metrics>
</gvmcf:UsageRule>
<!-- Usage Rule 3: for ims VO user -->
<gvmcf:UsageRule>
<gvmcf:AppliedTo gvmcf:TargetUnit="vo">
<gvmcf:Subjects>
<gvmcf:Subject>ims.ac.jp</gvmcf:Subject>
</gvmcf:Subjects>
</gvmcf:AppliedTo>
<gvmcf:Metrics>
<gvmcf:Metric>
<gvmcf:Amount gvmcf:AmountResource="cpu" gvmcf:AmountValue="3.0E8"></gv
mcf:Amount>
<gvmcf:Amount gvmcf:AmountResource="disk" gvmcf:AmountValue="5.0E5"></g
vmcf:Amount>
</gvmcf:Metric>
</gvmcf:Metrics>
</gvmcf:UsageRule>
<!-- Usage Rule 4: for special user -->
49
管理者ガイド NAREGI Middleware GridVM
<gvmcf:UsageRule>
<gvmcf:AppliedTo gvmcf:TargetUnit="user">
<gvmcf:Subjects>
<gvmcf:Subject>/OU=Grid/O=Naregi/OU=naregi=user001.naregi.org/CN=Naregi
User001</gvmcf:Subject>
</gvmcf:Subjects>
</gvmcf:AppliedTo>
<gvmcf:Metrics>
<gvmcf:Metric>
<gvmcf:Amount gvmcf:AmountResource="elapse" gvmcf:AmountValue="1.0E+5">
</gvmcf:Amount>
<gvmcf:Amount gvmcf:AmountResource="disk" gvmcf:AmountValue="1.0E5"></g
vmcf:Amount>
</gvmcf:Metric>
</gvmcf:Metrics>
</gvmcf:UsageRule>
</gvmcf:ResourceUsage>
</gvmcf:AccessControl>
</gvmcf:GridVMPolicyConfig>
4.2. GridVMエンジンのセットアップ
4.2.1. 初期状態
GridVM エンジンのインストール直後の設定は下表のようになっている。下記の設定で問
題ない場合は、GridVM エンジンのセットアップは不要である。
なお、下記で“PORT”はインストール時(2.2.3節)設定したGridVMエンジン
(GridVMマネージャ)のポート番号、“GVMSHOST”はGridVMスケジューラの起動ホス
ト名、“SPORT”はGridVMスケジューラのポート番号である。
項目
インストール時の設定
変更する場合
GridVM エンジン(GridVM マネージャ)ポート番号
PORT
4.2.2節
GridVM スケジューラホスト名
GVMSHOST
4.2.2節
GridVM スケジューラポート番号
SPORT
4.2.2節
50
管理者ガイド NAREGI Middleware GridVM
アクセス保護機能1
オフ
4.2.2節
4.2.3節
設定を変更する場合の注意
計算ノードが複数あり、GridVMエンジンを全計算ノードのローカルディスクにそれぞれ
インストールした場合は、各計算ノードのGridVMエンジン設定ファイルconfig.xml(4.2.2節
参照)やアクセス保護ポリシー設定ファイルpolicy_ap.xml(4.2.3節参照)の設定を同一に
する必要があるため、注意が必要である。
4.2.2. GridVMエンジン設定ファイルの設定
GridVM エンジン設定ファイル config.xml 中の各タグを設定する。
各タグの内容は以下の通りである。
(*): 設定必須
/GridVMConfig/AccessControl
アクセス保護機能に関する各パラメータ値の設定を行う。
/GridVMConfig/AccessControl/Enable
アクセス保護機能のオン・オフを、”True” (オン)または ”False” (オフ)で指
定する。
/GridVMConfig/AccessControl/PolicyFile
アクセス保護ポリシー設定ファイルの位置を、絶対パスで指定する。
( デ フ ォ ル ト { GridVM エ ン ジ ン イ ン ス ト ー ル デ ィ レ ク ト リ }
/etc/policy_ap.xml)
アクセス保護ポリシー設定ファイルの内容については、4.2.3節を参照。
/GridVMConfig/Monitoring
1
アクセス保護機能は、アクセス保護ポリシーに従ってジョブのファイルアクセスを制御(許可・
拒否)する機能である。
51
管理者ガイド NAREGI Middleware GridVM
資源監視機能に関する各パラメータ値の設定を行う。
/GridVMConfig/Monitoring/Interval
資源監視の時間間隔を整数値で指定する。単位は秒(デフォルト 5)。
/GridVMConfig/GridVMScheduler
GridVM スケジューラに関する各パラメータを指定する。
/GridVMConfig/GridVMScheduler/Host
(*)
GridVM スケジューラが動作するノード名を指定する。
/GridVMConfig/GridVMScheduler/Port
(*)
GridVMスケジューラとの接続ポート番号を指定する。ポート番号は、GridVMス
ケジューラの設定と一致させる必要がある。GridVMスケジューラの設定ファイル
については、4.1.2節を参照。
/GridVMConfig/GridVMManager
GridVM マネージャに関する各パラメータを指定する。
/GridVMConfig/GridVMManager/Port
(*)
GridVM マネージャの接続ポート番号を指定する。
/GridVMConfig/GridVMManager/LogLevel1
GridVM マネージャのログ出力レベルを 0~7 で設定する (デフォルト 6)。値が
大きい程詳細なログを出力する。
/GridVMConfig/GridVMLauncher
GridVM ラウンチャに関する各パラメータを指定する。
/GridVMConfig/GridVMLauncher/LogLevel
GridVM ラウンチャのログ出力レベルを 0~7 で設定する (デフォルト 6)。値が
大きい程詳細なログを出力する。
1
GridVM エンジンのログ出力は、他の NAREGI ミドルウェア(スーパースケジューラ、情報サー
ビス)と同様、Syslog の local1 facility を利用して出力される。GridVM エンジンのログを出力する
為には、システムの Syslog 出力の設定を適切に行う必要がある。
52
管理者ガイド NAREGI Middleware GridVM
/GridVMConfig/GridVMAgent
GridVM エージェントに関する各パラメータを指定する。
/GridVMConfig/GridVMAgent/Monitoring/Exclude/Path
set-user-id ビットが設定されたプログラム(rcp/rsh など)をグリッドジョブとして
利用可能としたい場合、そのプログラムの絶対パスを指定する。
/GridVMConfig/GridVMAgent/LogLevel
GridVM エージェントのログ出力レベルを 0~7 で設定する (デフォルト 6)。値
が大きい程詳細なログを出力する。
設定例 (config.xml)
<?xml version="1.0" encoding="utf-8"?>
<GridVMConfig>
<!-- Common section -->
<!-<AccessControl>
<AccessProtection>
<Enable>True</Enable>
<PolicyFile>/usr/local-d/GridVM/engine/etc/policy_ap.xml</PolicyFile>
</AccessProtection>
</AccessControl>
-->
<Monitoring>
<Interval>5</Interval>
</Monitoring>
<GridVMScheduler>
<!-- GridVM Scheduler Section -->
<Host>pbg1007.naregi.org</Host>
<Port>7777</Port>
</GridVMScheduler>
<GridVMManager>
53
管理者ガイド NAREGI Middleware GridVM
<!-- GridVM Manager Section -->
<Port>7474</Port>
<LogLevel>6</LogLevel>
</GridVMManager>
<GridVMLauncher>
<!-- GridVM Launcher Section -->
<LogLevel>6</LogLevel>
</GridVMLauncher>
<GridVMAgent>
<!-- GridVM Agent Section -->
<LogLevel>6</LogLevel>
<Monitoring>
<Exclude>
<Path>/usr/bin/rsh</Path>
</Exclude>
</Monitoring>
</GridVMAgent>
</GridVMConfig>
4.2.3. アクセス保護機能の設定
アクセス保護機能を有効にする場合は、アクセス保護ポリシー設定ファイル
(policy_ap.xml)を作成し、GridVMエンジン設定ファイルでアクセス保護機能を有効に設
定し(/GridVMConfig/AccessControl/Enableを”True”に設定)、また作成したアクセス保護
ポリシー設定ファイルのパスを設定する(/GridVMConfig/AccessControl/PolicyFileに設定)。
GridVMエンジン設定ファイルの設定の詳細については4.2.2節を参照のこと。
アクセス保護ポリシー設定ファイルの各タグの内容は以下の通りである。
(*): 設定必須
/GridVMPolicyConfig
(*)
ポリシーのルートタグ。ポリシー設定ファイルに1つだけ記述する。
/GridVMPolicyConfig/AccessControl
54
(*)
管理者ガイド NAREGI Middleware GridVM
アクセス制御ポリシーのルートタグ。GridVMPolicyConfig タグ内に1つだけ記述
する。
/GridVMPolicyConfig/AccessControl/AccessProtection
(*)
アクセス保護ポリシーのルートタグ。GridVMPolicyConfig タグ内に1つだけ記述
する。属性としてアクセス可否規定値、ルール解釈アルゴリズムを指定すること
が出来る。
•
アクセス可否規定値属性(Default)
アクセス許可判定のデフォルト値を指定する。値として、”permit”(許可)ま
たは”deny”(拒否)が指定できる。指定がない場合は”deny”と解釈する。
•
ルール解釈アルゴリズム属性(RuleCombiningAlgorithm)
複数のルールをまとめる際のルール結合アルゴリズムを指定する。値とし
て、”deny-overrides”または”permit-overrides”が指定できる。指定がない場合
は、”deny-overrides”と解釈する。
deny-overrides
適用可能なルールが複数ある場合に、どれか1つのルールが“deny”であれば結
果を“deny”とする。
permit-overrides
適用可能なルールが複数ある場合に、どれか1つのルールが“permit”であれば
結果を“permit”とする。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule
(*)
アクセスルールを記述する。ルールを適用する主体の分類(AppliedTo)、対象
(Resources)、操作(Actions)を記述し、アクセス可否属性を記述する。
AccessProtection タグ内に 1 つ以上記述する。
•
アクセス可否属性(Effect)
アクセスルールの許可を指定する。値として、”permit”(許可)または”deny”
(拒否)を指定する。”Effect”の指定がない場合は、AccessProtection タグで指
定したアクセス可否規定値を採用する。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/AppliedTo
ルールを適用する主体の種類を記述する。AccessRule タグ内に 1 つまで記述す
55
管理者ガイド NAREGI Middleware GridVM
る。省略時は全種類が対象となる。属性として、主体の単位を指定する。
•
主体の単位属性(TargetUnit)
値として、"user"(グローバルユーザ ID)または "vo"(VO 名)が指定できる。
指定が無い場合は、"user" と解釈する。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/AppliedTo/Subj
ects
ルールを適用する主体の集合を記述する。AppliedTo タグ内に 1 つまで記述し、
値は Subject タグ内に記述する。省略時は全主体が対象となる。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/AppliedTo/Subj
ects/Subject
ルールを適用する個々の主体を記述する。Subjects タグ内に 0 以上記述する。
AppliedTo タグの設定に対応したグローバルユーザ ID 又は VO 名を、値としてタ
グ内に設定する。省略時は全主体が対象となる。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/Resources
(*)
ルールを適用する対象(資源)の集合を記述する。AccessRule タグ内に 1 つ記
述し、値は Resource タグ内に記述する。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/Resources/Reso
urce
(*)
ルールを適用する対象(資源)を指定する。Resources タグ内に 1 つ以上記述す
る。値として、対象とするファイル、またはディレクトリを記述する。対象がデ
ィレクトリである場合、そのアクセスルールは指定したディレクトリ以下のファ
イル、またはディレクトリ全てに適用されることを意味する。パスが相対パス表
記の場合は、ジョブの初期ディレクトリ以下のルールとして解釈される。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/Actions
ルールを適用する操作の集合を記述する。AccessRule タグ内に 1 つまで記述し、
値は Action タグ内に記述する。省略時は全操作が対象となる。
/GridVMPolicyConfig/AccessControl/AccessProtetion/AccessRule/Actions/Action
アクセスルールを適用する操作を指定する。Actions タグ内に 0 以上記述する。
値として、”read”、”write”、”execute”の何れかを指定する。省略時は全操作が対
56
管理者ガイド NAREGI Middleware GridVM
象となる。
read
読み込み権に対するアクセスルールであることを示す。
write
書き込み権に対するアクセスルールであることを示す。
execute
実行権に対するアクセスルールであることを示す。
設定例(policy_ap.xml)
<?xml version="1.0" encoding="UTF-8"?>
<gvmap:GridVMPolicyConfig
xmlns:gvmap="http://www.naregi.org/wp1/GridVM/APPolicyConfig1.0">
<gvmap:AccessControl>
<!-- Access Procection policy example -->
<gvmap:AccessProtection gvmap:Default="Permit"
gvmap:RuleCombiningAlgorithm="Permit-overrides">
<!-- Access Rule 1: for all user -->
<gvmap:AccessRule gvmap:Effect="Deny">
<gvmap:Resources>
<gvmap:Resource>/etc/passwd</gvmap:Resource>
</gvmap:Resources>
</gvmap:AccessRule>
<!-- Access Rule 2: for naregi VO user -->
<gvmap:AccessRule gvmap:Effect="Deny">
<gvmap:AppliedTo gvmap:TargetUnit="vo">
<gvmap:Subjects>
<gvmap:Subject>naregi.org</gvmap:Subject>
57
管理者ガイド NAREGI Middleware GridVM
</gvmap:Subjects>
</gvmap:AppliedTo>
<gvmap:Resources>
<gvmap:Resource>/home/ims</gvmap:Resource>
</gvmap:Resources>
</gvmap:AccessRule>
<!-- Access Rule 3: for ims VO user -->
<gvmap:AccessRule gvmap:Effect="Deny">
<gvmap:AppliedTo gvmap:TargetUnit="vo">
<gvmap:Subjects>
<gvmap:Subject>ims.ac.jp</gvmap:Subject>
</gvmap:Subjects>
</gvmap:AppliedTo>
<gvmap:Resources>
<gvmap:Resource>/home/naregi</gvmap:Resource>
<gvmap:Resource>/WorkSpace</gvmap:Resource>
</gvmap:Resources>
<gvmap:Actions>
<gvmap:Action>write</gvmap:Action>
</gvmap:Actions>
</gvmap:AccessRule>
<!-- Access Rule 4: for special user -->
<gvmap:AccessRule gvmap:Effect="Permit">
<gvmap:AppliedTo gvmap:TargetUnit="user">
<gvmap:Subjects>
<gvmap:Subject>/OU=Grid/O=Naregi/OU=naregi=user001.naregi.org/CN=Naregi
User001</gvmap:Subject>
</gvmap:Subjects>
</gvmap:AppliedTo>
58
管理者ガイド NAREGI Middleware GridVM
<gvmap:Resources>
<gvmap:Resource>/etc/passwd</gvmap:Resource>
</gvmap:Resources>
<gvmap:Actions>
<gvmap:Action>read</gvmap:Action>
</gvmap:Actions>
</gvmap:AccessRule>
<gvmap:AccessRule gvmap:Effect="Permit">
<gvmap:AppliedTo gvmap:TargetUnit="user">
<gvmap:Subjects>
<gvmap:Subject>/OU=Grid/O=Naregi/OU=naregi=user001.naregi.org/CN=Naregi
User001</gvmap:Subject>
</gvmap:Subjects>
</gvmap:AppliedTo>
<gvmap:Resources>
<gvmap:Resource>/etc</gvmap:Resource>
</gvmap:Resources>
<gvmap:Actions>
<gvmap:Action>execute</gvmap:Action>
</gvmap:Actions>
</gvmap:AccessRule>
</gvmap:AccessProtection>
</gvmap:AccessControl>
</gvmap:GridVMPolicyConfig>
59
管理者ガイド NAREGI Middleware GridVM
第 5 章. GridVMの起動/停止と保守について
5.1. GridVMの運用操作と保守
GridVMの運用操作は、管理ノードでGlobusコンテナ・GridVMスケジューラを起動・停
止することにより行う。また、計算ノードの一つ(2.2.3節でインストールスクリプトを実
行したノード)あるいは全計算ノードでGridVMエンジンを起動・停止することにより行う。
5.2. 運用手順
5.2.1. 起動
GridVM スケジューラの起動
GridVM スケジューラの起動は、クラスタの管理ノードにおいて GridVM スケジューラ起
動スクリプトを root 権限で実行することによって行う。GridVM スケジューラ起動スクリプ
トを、以下のように実行する。
# /sched_inst_Dir/sbin/gvmsd.sh start
GVMSD Server start(PID=1622)
GridVM エンジンの起動
GridVMエンジンインストールディレクトリ下のGridVMエンジン起動スクリプトを、
2.2.3節でインストールスクリプトを実行したノードにおいてGridVMエンジンの実行ユーザ
権限で実行する。計算ノード定義ファイル(/engine_inst_dir/etc/nodes)を記述し、GridVM
エンジン実行ユーザ権限によるrshの実行が許可されている環境では、このスクリプトの実
行により、計算ノード定義ファイルに定義された全ノードにおいて、GridVMエンジンが起
動する。そうでない環境では、全計算ノードにおいてGridVMエンジン起動スクリプトを実
行する。GridVMエンジン起動スクリプトを以下のように実行する。
$ /engine_inst_Dir/sbin/gvm_manager.sh start
pbg1008.naregi.org - Starting GridVM Manager Daemon: [ OK ]
pbg1009.naregi.org - Starting GridVM Manager Daemon: [ OK ]
pbg1010.naregi.org - Starting GridVM Manager Daemon: [ OK ]
pbg1011.naregi.org - Starting GridVM Manager Daemon: [ OK ]
Globus コンテナの起動
Globus コンテナの起動は、クラスタの管理ノードにおいて、Globus 管理ユーザ権限で
$(GLOBUS_LOCATION)/sbin/globus-start-container-detached コマンドを実行する。
$ GLOBUS_OPTIONS=-Xmx512m
60
管理者ガイド NAREGI Middleware GridVM
$ export GLOBUS_OPTIONS
$ ${GLOBUS_LOCATION}/sbin/globus-start-container-detached
Starting Globus container. PID: 11683
$
この場合、ポート番号は 8443 となる。
ポート番号を指定して Globus コンテナを起動する場合は、globus-start-containerdetached コマンドに -p オプションを付加して実行する。
$ GLOBUS_OPTIONS=-Xmx512m
$ export GLOBUS_OPTIONS
$ ${GLOBUS_LOCATION}/sbin/globus-start-container-detached -p ポート番号
5.2.2. 起動の確認
GridVM スケジューラの起動確認は、クラスタの管理ノードにおいて GridVM スケジュー
ラ(gvms_server, gvms_adm, gvms_monitor, gvms_req_event)のプロセスが存在することで
確認する。
$ ps –e | grep gvms
1622 ?
00:00:00 gvms_server
1624 ?
00:00:00 gvms_adm
1625 ?
00:00:00 gvms_monitor
2023 ?
00:00:00 gvms_req_event
$
GridVMエンジンの起動確認は、GridVMエンジンインストールディレクトリ下のGridVM
エンジン起動スクリプトを、2.2.3節でインストールスクリプトを実行したノードにおいて
実行する。計算ノード定義ファイル(/engine_inst_dir/etc/nodes)を記述し、GridVMエンジ
ン実行ユーザ権限によるrshの実行が許可されている環境では、このスクリプトの実行によ
り、全計算ノードのGridVMエンジンの起動が確認できる。そうでない環境では、全計算ノ
ードにおいてGridVMエンジン起動スクリプトを実行して確認する。GridVMエンジン起動ス
クリプトを以下のように実行する。
$ /engine_inst_Dir/sbin/gvm_manager.sh status
pbg1008.naregi.org - gvm_manager (pid 5363) is running...
pbg1009.naregi.org - gvm_manager (pid 27741) is running...
pbg1010.naregi.org - gvm_manager (pid 27007) is running...
pbg1011.naregi.org - gvm_manager (pid 20167) is running...
61
管理者ガイド NAREGI Middleware GridVM
5.2.3. 停止
Globus コンテナの停止
Globus
コ ン テ ナ の 停 止 は
Globus
管 理 ユ ー ザ 権 限 で
$(GLOBUS_LOCATION)/sbin/globus-stop-container-detached コマンドを実行して停止する。
$ ${GLOBUS_LOCATION}/sbin/globus-stop-container-detached
Stopping Globus container. PID: 11683
Container stopped
GridVM エンジンの停止
GridVMエンジンインストールディレクトリ下のGridVMエンジン起動スクリプトを、
2.2.3節でインストールスクリプトを実行したノードにおいてGridVMエンジンの実行ユーザ
権限で実行する。計算ノード定義ファイル(/engine_inst_dir/etc/nodes)を記述し、GridVM
エンジン実行ユーザ権限によるrshの実行が許可されている環境では、このスクリプトの実
行により、計算ノード定義ファイルに定義された全ノードにおいて、GridVMエンジンが停
止する。そうでない環境では、全計算ノードにおいてGridVMエンジン起動スクリプトを実
行する。GridVMエンジン起動スクリプトを以下のように実行する。
$ /engine_inst_Dir/sbin/gvm_manager.sh stop
pbg1008.naregi.org - Shutting down GridVM Manager Daemon: [ OK ]
pbg1009.naregi.org - Shutting down GridVM Manager Daemon: [ OK ]
pbg1010.naregi.org - Shutting down GridVM Manager Daemon: [ OK ]
pbg1011.naregi.org - Shutting down GridVM Manager Daemon: [ OK ]
GridVM スケジューラの停止
GridVM スケジューラの停止は、GridVM スケジューラ起動スクリプトを root 権限で実行
することによって行う。GridVM スケジューラ起動スクリプトを、以下のように実行する。
# /sched_inst_Dir/sbin/gvmsd.sh stop
Shutting down GridVM Scheduler Daemon:
PID = 1622
5.2.4. 停止の確認
GridVMエンジンインストールディレクトリ下のGridVMエンジン起動スクリプトを、
2.2.3節でインストールスクリプトを実行したノードにおいて実行する。計算ノード定義フ
ァイル(/engine_inst_dir/etc/nodes)を記述し、GridVMエンジン実行ユーザ権限によるrsh
の実行が許可されている環境では、このスクリプトの実行により、全計算ノードのGridVM
エンジンの停止が確認できる。そうでない環境では、全計算ノードにおいてGridVMエンジ
62
管理者ガイド NAREGI Middleware GridVM
ン起動スクリプトを実行して確認する。GridVMエンジン起動スクリプトを以下のように実
行する。
$ /engine_inst_Dir/sbin/gvm_manager.sh status
pbg1008.naregi.org - gvm_manager is stopped
pbg1009.naregi.org - gvm_manager is stopped
pbg1010.naregi.org - gvm_manager is stopped
pbg1011.naregi.org - gvm_manager is stopped
GridVM スケジューラの停止確認は、クラスタの管理ノードにおいて GridVM スケジュー
ラ (gvms_server, gvms_adm, gvms_monitor, gvms_req_event)のプロセスが存在しないこと
で確認する。
$ ps –e | grep gvms
$
5.3. 保守
5.3.1. キュー情報更新
第 3 章で設定した、GridVMで使用するローカルスケジューラのキューに対して、使用
するキューを追加したり、キューの属性の変更を行ったりする際は、以下のように、
gvmsupdateコマンドを使用して、スーパーユーザでGridVMスケジューラへ通知を行う必要
がある。キュー情報の更新の結果は、情報サービスにおいて、更新後のキュー情報が登録さ
れているかで確認する。
# /sched_inst_Dir /bin/gvmsupdate -r
#
注意:AIX 環境の場合は GridVM スケジューラの再立ち上げ(GridVM スケジューラの停
止、起動)を行う必要がある。
5.3.2. ローカルスケジューラを再起動した場合
GridVM スケジューラを運用中に、ローカルスケジューラを再起動した場合には、
GridVM スケジューラ及び GridVM エンジンも再起動する必要がある。
63
管理者ガイド NAREGI Middleware GridVM
5.4. 索引
起動.................................................................60
キュー情報
更新................................................................. 63
起動確認..........................................................61
GridVM エンジン
停止.................................................................62
起動................................................................. 60
停止確認..........................................................63
起動確認......................................................... 61
保守.................................................................63
Globus コンテナ
停止................................................................. 62
停止確認......................................................... 62
起動.................................................................60
保守................................................................. 63
停止.................................................................62
GridVM スケジューラ
64
管理者ガイド NAREGI Middleware GridVM
第 6 章. GridVMのアンインストールについて
GridVM を運用していたクラスタの管理ノード上の GridVM スケジューラ、及び計算ノー
ド上の GridVM エンジンをアンインストールする。
6.1. GridVMスケジューラのアンインストール
6.1.1. アンインストールの概要
クラスタの管理ノード上で、以下の操作を行うことにより、GridVM スケジューラをアン
インストールすることができる。
1) Globus Toolkit から GridVMJob サービスの undeploy
2) uninstall.shスクリプトにより、Globus Toolkit用GridVMモジュールのインストール
でインストールしたGridVM用のGlobus Toolkit 関連の設定の削除、およびGridVM
スケジューラのログファイル出力ディレクトリを削除
3) GridVM スケジューラインストールディレクトリを削除
6.1.2. アンインストール前の作業
なし
6.1.3. アンインストール
GridVMJob サービスの削除
クラスタシステムの管理ノード上にインストールされた Globus Toolkit に globus ユーザ
権限で、GridVMJob サービスを undeploy することでアンインストールを行う。
※ ここで、GlobusTookit のインストールディレクトリを /opt/globus とし、Globus
Toolkit の管理者ユーザを globus とする。
# su – globus
$ export GLOBUS_LOCATION=/opt/globus
$ cd $GLOBUS_LOCATION
$ . $GLOBUS_LOCATION/etc/globus-user-env.sh
$ globus-undeploy-gar org_naregi_gridvm
$
65
管理者ガイド NAREGI Middleware GridVM
アンインストールスクリプト実行
クラスタシステムの管理ノード上で、スーパーユーザになって、次のように GridVM ス
ケジューラの uninstall.sh スクリプトを実行する。
※ ここで、/usr/local-d/GridVM/scheduler 下に GridVM スケジューラをインストールし
たものとする。
# cd /usr/local-d/GridVM/scheduler
# ./sbin/uninstall.sh
#
GridVM スケジューラインストールディレクトリ削除
クラスタの管理ノードにおいて、GridVM スケジューラのインストールディレクトリを削
除する。
※ ここでは /usr/local-d/GridVM/scheduler 下に GridVM スケジューラをインストールし
たものとする。
# rm -rf /usr/local-d/GridVM/scheduler
#
また、AIX 環境の場合は、LoadLeveler の各 schedd ホストにおいて、GridVM スケジュ
ーラインストールディレクトリを同様に削除する。
6.1.4. アンインストール結果の確認
アンインストールスクリプトの実行の結果、Globus Toolkit のインストールディレクトリ
から以下のファイルが削除されて、存在しないことを確認する。
以下では Globus Toolkit のインストールディレクトリを<GLOBUS_LOCATION>で示してい
る。また、下記の XXXX で示した部分には、Globus Toolkit のインストール時の flaver が入
る。
<GLOBUS_LOCATION>/lib/perl/Globus/GRAM/JobManager/gridvm.pm
<GLOBUS_LOCATION>/lib/GridVMJobServiceClient.jar
<GLOBUS_LOCATION>/lib/gridvm_scheduler_library.jar
<GLOBUS_LOCATION>/lib/libGridVMSchedulerConnectionService.so
<GLOBUS_LOCATION>/lib/libglobus_seg_gridvm_XXXX.a
<GLOBUS_LOCATION>/lib/libglobus_seg_gridvm_XXXX.la
66
管理者ガイド NAREGI Middleware GridVM
<GLOBUS_LOCATION>/lib/libglobus_seg_gridvm_XXXX.so.0.0.0
<GLOBUS_LOCATION>/lib/libglobus_seg_gridvm_XXXX.so.0
<GLOBUS_LOCATION>/lib/libglobus_seg_gridvm_XXXX.so
<GLOBUS_LOCATION>/lib/gridvm_is_providers.jar
<GLOBUS_LOCATION>/lib/libGridVM_ISProviders.so
<GLOBUS_LOCATION>/etc/globus-gridvm.conf
<GLOBUS_LOCATION>/etc/gram-service-GridVM
<GLOBUS_LOCATION>/libexec/globus-scheduler-provider-gridvm
<GLOBUS_LOCATION>/libexec/gridvm
また、<GLOBUS_LOCATION>/container-log4j.properties ファイルから、以下のように
記述された、ログ出力の表示が削除されていることを確認する。
:
# GridVM JobService
log4j.appender.GridVMService=org.apache.log4j.RollingFileAppender
log4j.appender.GridVMService.File=/opt/globus/var/gridvm-service.log
log4j.appender.GridVMService.MaxFileSize=100MB
log4j.appender.GridVMService.MaxBackupIndex=3
log4j.appender.GridVMService.layout=org.apache.log4j.PatternLayout
log4j.appender.GridVMService.layout.ConversionPattern=%d [%-5p] %c{3} - %m [%t] %n
log4j.category.org.neregi.gridvm=INFO, GridVMService
log4j.additivity.org.neregi.gridvm=false
:
# GridVM Scheduler Library
log4j.appender.GridVMLibrary = org.apache.log4j.RollingFileAppender
log4j.appender.GridVMLibrary.File = /opt/globus/var/gridvm-library.log
log4j.appender.GridVMLibrary.MaxFileSize=100MB
log4j.appender.GridVMLibrary.MaxBackupIndex=3
log4j.appender.GridVMLibrary.layout = org.apache.log4j.PatternLayout
log4j.appender.GridVMLibrary.layout.ConversionPattern = %d [%-5p] %c{3} - %m [%t]
%n
log4j.category.org.naregi.gridvm.scheduler.library = INFO, GridVMLibrary
log4j.additivity.org.naregi.gridvm.scheduler.library=false
:
さらに、<GLOBUS_LOCATION>/etc/gram-service/globus_gram_fs_map_config.xml フ
ァイルから、GridVM に関する記述が削除されていることを確認する。
:
67
管理者ガイド NAREGI Middleware GridVM
<ns1:map xmlns:ns1="http://www.globus.org/namespaces/2004/10/gram/job" xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:FileSystemMapType">
<ns1:scheduler xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string
">GridVM</ns1:scheduler>
<ns1:ftpServer xsi:type="ns1:FtpServerType">
<ns1:protocol xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string"
>gsiftp</ns1:protocol>
<ns1:host xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">png
1017.naregi.org</ns1:host>
<ns1:port xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:unsignedSho
rt">2811</ns1:port>
</ns1:ftpServer>
<ns1:mapping xsi:type="ns1:FileSystemPathMappingType">
<ns1:jobPath xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">
/</ns1:jobPath>
<ns1:ftpPath xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">
/</ns1:ftpPath>
</ns1:mapping>
</ns1:map>
:
最後に、GridVM スケジューラのインストールディレクトリが削除されていることを確認
する。
6.1.5. アンインストールに失敗した場合の対処方法
z
アンインストールスクリプトの実行が失敗した場合
→ GridVMスケジューラログファイル、および6.1.4節で記述したGlobus Toolkit
のインストールディレクトリに作成されるGridVM関連のファイルを手動で削除す
る。
6.1.6. アンインストール後の作業
なし
6.2. GridVMエンジンのアンインストール
6.2.1. アンインストールの概要
計算ノード上の GridVM エンジンをアンインストールする。
68
管理者ガイド NAREGI Middleware GridVM
各計算ノードの syslogd 設定ファイル(/etc/syslog.conf)及び sudo 設定ファイル
(/etc/sudoers)から GridVM のエントリを削除し、GridVM エンジンのインストールディレ
クトリ(/engine_inst_Dir /)を削除する。
6.2.2. アンインストール前の作業
計算ノードが複数ある場合、可能であればroot権限でのrshを許可する。この際、計算ノ
ード定義ファイル(/engine_inst_Dir /etc/nodes)が存在しない場合は、2.2.3節を参照してこれ
を作成する。
6.2.3. アンインストール
GridVMエンジンの起動・停止(5.2節参照)を行う計算ノードにおいて、GridVMエンジ
ンのインストールディレクトリ下で、root権限でアンインストールスクリプトuninstall.shを
実行する。計算ノードが複数あり、アンインストール時にroot権限でrshが実行できない場合
は、アンインストールスクリプトを全計算ノードで実行する。アンインストールスクリプト
の実行は以下のように行う。
uninstall.sh [--sudoers=SUDOERS] [-y]
--sudoers=SUDOERS
sudo の 設 定 フ ァ イ ル パ ス を “ SUDOERS ” に 指 定 す る 。 規 定 値 は
“/etc/sudoers”である。
--y
バッチモードでアンインストールを実行する。規定値はインタラクティブモード
である。
※ ここでは計算ノードとして“pbg1008.naregi.org”、“pbg1009.naregi.org”、
“pbg1010.naregi.org”、“pbg1011.naregi.org”が定義されていたものとする。
# ./uninstall.sh -y
Settings:
GridVM engine hosts
pbg1011.naregi.org
sudoers file path
: pbg1008.naregi.org pbg1009.naregi.org pbg1010.naregi.org
: /etc/sudoers
[pbg1008.naregi.org]
mdifying /etc/sudoers ...
[pbg1009.naregi.org]
mdifying /etc/sudoers ...
69
管理者ガイド NAREGI Middleware GridVM
[pbg1010.naregi.org]
mdifying /etc/sudoers ...
[pbg1011.naregi.org]
mdifying /etc/sudoers ...
Completed.
Please remove /usr/local-d/GridVM/engine on all of GridVM engine hosts.
#
全計算ノードにおいて、GridVM エンジンのインストールディレクトリを削除する。
※ ここでは /usr/local-d/GridVM/engine 下に GridVM エンジンをインストールしたもの
とする。
# rm -rf /usr/local-d/GridVM/engine
#
6.2.4. アンインストール結果の確認
アンインストールスクリプトの実行の結果、各計算ノードの sudo 設定ファイル内の
GridVM エンジンに関するエントリが削除されていることを確認する。それぞれの内容は下
記のようなものである。
※ 以下の例では、GridVM エンジン実行ユーザを globus としており、計算ノードの一つ
である pbg1008.naregi.org 上の sudo 設定ファイルを参照しているものとする。
[Linux 環境]
:
globus ALL=NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_wrapper
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_kill
pg
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/ckpt.*
:
[AIX 環境]
:
globus ALL=NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_wrapper
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_kill
70
管理者ガイド NAREGI Middleware GridVM
pg
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/gvm_getc
time
globus ALL=(ALL) NOPASSWD: /usr/local-d/GridVM/engine/pbg1008.naregi.org/bin/ckpt.*
:
全計算ノードについて GridVM エンジンのインストールディレクトリが削除されている
ことを確認する。
6.2.5. アンインストールに失敗した場合の対処方法
z
アンインストールスクリプトの実行が失敗した場合
→ 以下の点を再確認し、GridVM エンジンのインストールディレクトリ下にお
いて root 権限でアンインストールスクリプトを再実行する。
‹ 計算ノードが複数あり、root 権限での rsh を可能にしてアンインストールスク
リプトを実行した場合、計算ノード定義ファイル(/engine_inst_Dir
/etc/nodes)に記述されているホスト名が、全て“hostname”コマンドが返却
する形式で正しく記述されているか。
-bash-2.05b$ cat /usr/local-d/GridVM/engine/etc/nodes
pbg1008.naregi.org
pbg1009.naregi.org
pbg1010.naregi.org
pbg1011.naregi.org
-bash-2.05b$ hostname
pbg1008.naregi.org
-bash-2.05b$
‹ 計算ノードが複数あり、root 権限での rsh を可能にしてアンインストールスク
リプトを実行した場合、計算ノード定義ファイルに記述されている全ノードに
ついて、root 権限での rsh が可能になっているか。
-bash-2.05b$ su Password:
# rsh pbg1008.naregi.org echo ok
ok
# rsh pbg1009.naregi.org echo ok
ok
# rsh pbg1010.naregi.org echo ok
ok
71
管理者ガイド NAREGI Middleware GridVM
# rsh pbg1011.naregi.org echo ok
ok
#
6.2.6. アンインストール後の作業
必要であれば、アンインストール前に行った root 権限での rsh を許可する設定を元に戻
す。
また、必要であれば GridVM エンジンの実行ユーザアカウントを削除する。
72