管理者ガイド 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 = [email protected] 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
© Copyright 2024 Paperzz