ATLAS日本基礎ネットワーク LCGミドルウエアトレーニングコース
ここでの目標
グリッド上にどのようなサイトがあって、どのような資源が割り当てられており、どのくらい使われているかなど、効率的に情報を集める仕組みが必要なのは言うまでもありません。LDAP(Lightweight Directory Access Protocol)をベースに、情報検索の仕組みが用意されています。
そもそもこのグリッドには何があるかという情報を問い合わせるエントリーポイントが必要です。ここをご覧ください。このグリッドの情報を調べる一番最初の手がかりがあります。
# test cluster for icepp & kek ICEPP_TESTBED1 ldap://gridtb02.icepp.jp:2170/mds-vo-name=ICEPP_TESTBED1,o=grid # KEK KEK_TESTBED1 ldap://dg01.cc.kek.jp:2170/mds-vo-name=KEK_TESTBED1,o=grid KEK_TESTBED2 ldap://lcg009.cc.kek.jp:2170/mds-vo-name=KEK_TESTBED2,o=grid KEK_TESTBED3 ldap://dg06.cc.kek.jp:2170/mds-vo-name=KEK_TESTBED3,o=grid #kobe-u Japan_kobe_LCG2 ldap://susy03.kobe.jp.hep.net:2170/mds-vo-name=Japan_kobe_LCG2,o=grid
接続されているサイトの名前と情報検索に必要な名前などが書かれています。ここに書かれているLDAPサーバに直接問い合わせることが出来ます。これらはサイトBDIIと呼ばれます。BDIIとはBarkely Directory Information Indexというディレクトリサービス(単純な情報、名前=値といった情報を与える仕組み)です。
ここにはサイトが持っているCEやSE、RB等の情報への目次があります。GLUEスキーマ(Grid Laboratory for Uniform Environmentと呼ばれる一種の情報規格化組織の決めたスキーマ(データベースのテーブル))によって提供されます。
個別のCEやSE等のグリッド資源は自分の持っている資源の詳細な情報を提供します。Grid Resource Information Serviceというサービスです。これもLDAPを元にしており、直接問い泡焦ることが出来ます。
直接LDAPサーバに問い合わせるのは面倒なので、ユーザ向けに情報取得コマンドがいくつか用意されています。まず一番簡単なのがlcg-infositesコマンドです。
まず、CEについて問い合わせてみましょう。VOを指定する必要があります。
$ lcg-infosites --vo atlas_j ce
**************************************************************** These are the related data for atlas_j: (in terms of queues and CPUs) ****************************************************************
#CPU Free Total Jobs Running Waiting ComputingElement ---------------------------------------------------------- 32 32 6 0 6 dg01.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j 20 20 0 0 0 dg06.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j 8 8 0 0 0 lcg009.cc.kek.jp:2119/jobmanager-lcglsf-atlas_j 14 14 0 0 0 gridtb02.icepp.jp:2119/jobmanager-lcgpbs-atlas_j
SEについても同様に問い合わせることが出来ます。
$ lcg-infosites --vo atlas_j se
************************************************************** These are the related data for atlas_j: (in terms of SE) **************************************************************
Avail Space(Kb) Used Space(Kb) Type SEs ---------------------------------------------------------- 1 1 dg05.cc.kek.jp 1 1 dg05.cc.kek.jp 1 1 dg05.cc.kek.jp
CEと、それに一番近いSEを表示させます。
$ lcg-infosites --vo atlas_j closeSE Name of the CE: dg01.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j Name of the close SE: dg05.cc.kek.jp
Name of the CE: dg06.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j Name of the close SE: dg05.cc.kek.jp
Name of the CE: lcg009.cc.kek.jp:2119/jobmanager-lcglsf-atlas_j Name of the close SE: dg05.cc.kek.jp
Name of the CE: gridtb02.icepp.jp:2119/jobmanager-lcgpbs-atlas_j
サイト毎に持っているTAGを表示させることも出来ます。
$ lcg-infosites --vo atlas_j tag ************************************************************************** Information for atlas_j relative to their software tags included in each CE **************************************************************************
Name of the CE:dg01.cc.kek.jp
Name of the CE:dg06.cc.kek.jp
Name of the CE:lcg009.cc.kek.jp
Name of the TAG: VO-atlas_j-release-10.0.4 Name of the CE:gridtb02.icepp.jp
将来的にはレプリカカタログに関する情報も表示できるようになるはずです。
もう少し複雑なものにlcg-infoコマンドがあります。これはデータベースの中身を調節表示させます。どのような属性(データベーステーブルの項目)があるかを見ましょう。
$ lcg-info --list-attrs Attribute name Glue object class Glue attribute name
EstRespTime GlueCE GlueCEStateEstimatedResponseTime WorstRespTime GlueCE GlueCEStateWorstResponseTime TotalJobs GlueCE GlueCEStateTotalJobs TotalCPUs GlueCE GlueCEInfoTotalCPUs MaxRunningJobs GlueCE GlueCEPolicyMaxRunningJobs CE GlueCE GlueCEUniqueID WaitingJobs GlueCE GlueCEStateWaitingJobs MaxCPUTime GlueCE GlueCEPolicyMaxCPUTime MaxTotalJobs GlueCE GlueCEPolicyMaxTotalJobs CEStatus GlueCE GlueCEStateStatus CEVOs GlueCE GlueCEAccessControlBaseRule FreeCPUs GlueCE GlueCEStateFreeCPUs RunningJobs GlueCE GlueCEStateRunningJobs MaxWCTime GlueCE GlueCEPolicyMaxWallClockTime CloseCE GlueCESEBindGroup GlueCESEBindGroupCEUniqueID CloseSE GlueCESEBindGroup GlueCESEBindGroupSEUniqueID AvailableSpace GlueSA GlueSAStateAvailableSpace SEVOs GlueSA GlueSAAccessControlBaseRule UsedSpace GlueSA GlueSAStateUsedSpace Type GlueSE GlueSEType SE GlueSE GlueSEUniqueID Protocol GlueSEAccessProtocol GlueSEAccessProtocolType ArchType GlueSL GlueSLArchitectureType SMPSize GlueSubCluster GlueHostArchitectureSMPSize Processor GlueSubCluster GlueHostProcessorModel OS GlueSubCluster GlueHostOperatingSystemName Cluster GlueSubCluster GlueSubClusterUniqueID Tag GlueSubCluster GlueHostApplicationSoftwareRunTimeEnvironment CINT2000 GlueSubCluster GlueHostBenchmarkSI00 OSVersion GlueSubCluster GlueHostOperatingSystemVersion CFP2000 GlueSubCluster GlueHostBenchmarkSF00 OSRelease GlueSubCluster GlueHostOperatingSystemRelease ClockSpeed GlueSubCluster GlueHostProcessorClockSpeed Memory GlueSubCluster GlueHostMainMemoryRAMSize
CE毎に属性を選んで表示させることが出来ます。
$ lcg-info --list-ce --attrs 'RunningJobs,FreeCPUs' - CE: dg01.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j - RunningJobs 0 - FreeCPUs 32
- CE: dg01.cc.kek.jp:2119/jobmanager-lcgpbs-g4med - RunningJobs 0 - FreeCPUs 32
- CE: dg06.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j - RunningJobs 0 - FreeCPUs 20
- CE: dg06.cc.kek.jp:2119/jobmanager-lcgpbs-g4med - RunningJobs 0 - FreeCPUs 20
- CE: gridtb02.icepp.jp:2119/jobmanager-lcgpbs-atlas_j - RunningJobs 0 - FreeCPUs 14
- CE: gridtb02.icepp.jp:2119/jobmanager-lcgpbs-rcrd - RunningJobs 0 - FreeCPUs 14
VOを条件として加えます。
$ lcg-info --list-ce --vo atlas_j --attrs 'Memory' - CE: dg01.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j - Memory 768
- CE: dg06.cc.kek.jp:2119/jobmanager-lcgpbs-atlas_j - Memory 768076
- CE: gridtb02.icepp.jp:2119/jobmanager-lcgpbs-atlas_j - Memory 1025
- CE: lcg009.cc.kek.jp:2119/jobmanager-lcglsf-atlas_j - Memory 1025
条件問い合わせ(Query)をつけます。
$ lcg-info --list-ce --vo atlas_j --query 'Memory=1025' --attrs 'Memory,CINT2000' - CE: gridtb02.icepp.jp:2119/jobmanager-lcgpbs-atlas_j - Memory 1025 - CINT2000 381
- CE: lcg009.cc.kek.jp:2119/jobmanager-lcglsf-atlas_j - Memory 1025 - CINT2000 381
直接GRISに問い合わせてみましょう。ldapsearchというツールを使います。gridtb03はICEPPのCEです。
$ ldapsearch -x -h gridtb03.icepp.jp -p 2135 -b "mds-vo-name=local,o=grid"
version: 2
#
# filter: (objectclass=*)
# requesting: ALL
#
# gridtb03.icepp.jp:2136, local, grid
dn: GlueServiceUniqueID=gridtb03.icepp.jp:2136,Mds-vo-name=local,o=grid
objectClass: GlueTop
objectClass: GlueService
objectClass: GlueKey
objectClass: GlueSchemaVersion
GlueServiceUniqueID: gridtb03.icepp.jp:2136
GlueServiceName: ICEPP_TESTBED1-gridice
GlueServiceType: gridice
GlueServiceVersion: 1.1
GlueServiceEndpoint: ldap://gridtb03.icepp.jp:2136/mds-vo-name=local,o=grid
GlueServiceAccessPointURL: not_used
GlueServiceStatus: OK
GlueServiceStatusInfo: No Problems
GlueServiceStartTime: 2002-10-09T19:00:00Z
GlueServiceOwner: LCG
GlueServiceAccessControlRule: atlas_j
GlueServiceAccessControlRule: rcrd
GlueServiceAccessControlRule: test_atlas
GlueServiceAccessControlRule: test_dteam
GlueServiceAccessControlRule: apdg
GlueForeignKey: GlueSiteUniqueID=ICEPP_TESTBED1
GlueSchemaVersionMajor: 1
GlueSchemaVersionMinor: 2
# local, grid
dn: Mds-Vo-name=local,o=grid
objectClass: GlobusStub
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
同様にSEに問い合わせることも出来ます。
サイトBDIIへも、ldapsearchを使って問い合わせます。この場合-bで名前を指定する必要があります。
$ ldapsearch -x -h gridtb02.icepp.jp -p 2170 -b "mds-vo-name=ICEPP_TESTBED1,o=grid" version: 2
# # filter: (objectclass=*) # requesting: ALL #
# ICEPP_TESTBED1, grid dn: mds-vo-name=ICEPP_TESTBED1,o=grid objectClass: GlueTop
# ICEPP_TESTBED1, ICEPP_TESTBED1, grid dn: GlueSiteUniqueID=ICEPP_TESTBED1,mds-vo-name=ICEPP_TESTBED1,o=grid objectClass: GlueTop objectClass: GlueSite objectClass: GlueKey objectClass: GlueSchemaVersion GlueSiteUniqueID: ICEPP_TESTBED1 GlueSiteName: ICEPP_TESTBED1 GlueSiteDescription: LCG Site GlueSiteUserSupportContact: mailto: jun@soum.co.jp GlueSiteSysAdminContact: mailto: jun@soum.co.jp GlueSiteSecurityContact: mailto: jun@soum.co.jp GlueSiteLocation: Tokyo,Japan GlueSiteLatitude: 0.0 GlueSiteLongitude: 0.0 GlueSiteWeb: http://wwwrc.icepp.s.u-tokyo.ac.jp/atlas-japan/farm_grid_wg/lcg/i ndex.html GlueSiteOtherInfo: TIER 2 GlueSiteOtherInfo: icepp.jp GlueForeignKey: GlueSiteUniqueID=ICEPP_TESTBED1
実際にはこの先にもたくさんの情報が表示されます。
GridIceというモニターがあります。ここをご覧ください。