ワークサーバ・並列サーバの利用

システム概要

データ解析システムは、ログイン可能なサーバとして、2種類のワークサーバが全11台、また、Gaussianなどを実行する並列サーバがあります。 ※ 並列サーバは使用者が限定されたサーバとなります。

ログイン可能サーバ 台数
ワークサーバT1 7台
ワークサーバT2 4台
並列サーバ 6台

ワークサーバ提供機能

  • SSHログイン機能
  • 磁気ディスクシステム(GPFS)、HSMシステム(GHI)へのファイルアクセス
  • Platform LSFを使用したバッチジョブスケジューリングにおける計算機能
  • 各種ソフトウェア機能

並列サーバ提供機能

  • SSHログイン機能
  • 磁気ディスクシステム(GPFS)へのファイルアクセス
  • Platform LSFを使用したバッチジョブスケジューリングにおける計算機能
  • 各種ソフトウェア機能(主としてGaussian)

※並列サーバはワークサーバと異なり、計算ジョブを並列サーバ自身で処理します。(ワークサーバは共用計算サーバへジョブ処理を委ねます) その為、処理実行中はアクセス等のレスポンスが非常に遅くなる場合があります。


接続環境

リモート接続はSSH Version2 を使用します。 sshによる接続については、以下を参考にしてください。

  • Linux などの UNIX ターミナルを用いた場合、sshコマンドを利用します。
  • Windowsから接続する場合、cygwin を導入しターミナルからsshコマンドを実行するか、またはTeraTermPuTTYなどssh接続をサポートした端末ソフトウェアを使用します。TeraTermで接続する場合は、"UTF-8 TeraTerm Pro"をご使用ください。

また、本システムは、機構外からの直接リモート接続を許容しています。詳細については こちらを参照してください。

Warning

sshの認証鍵には必ずパスフレーズを設定してください。パスフレーズが設定されていない鍵は管理者側で削除します。また、不要な鍵も置かないでください。


ログイン・ログアウト

ワークサーバ

ワークサーバにログインする場合、下表の代表ホスト名を使用してください。この場合、代表ホスト名には省略形(例えばlogin.cc)を使った場合は、接続できない場合があります。その場合は、FQDN(例えばlogin.cc.kek.jp)を使用してください。

代表ホスト名 ホスト名 OS
login.cc.kek.jp ccw.cc.kek.jp ccw01.cc.kek.jp CentOS7.7
ccw02.cc.kek.jp CentOS7.7
ccw03.cc.kek.jp CentOS7.7
ccw04.cc.kek.jp CentOS7.7
ccw05.cc.kek.jp CentOS7.7
ccw06.cc.kek.jp CentOS7.7
ccw07.cc.kek.jp CentOS7.7
- ccx.cc.kek.jp ccx01.cc.kek.jp CentOS7.7
ccx02.cc.kek.jp CentOS7.7
ccx03.cc.kek.jp CentOS7.7
ccx04.cc.kek.jp CentOS7.7

[実行例]

$> ssh  ccw.cc.kek.jp
  • 代表ホスト名でログインすると、ラウンドロビンでアサインされます。このため、ログインするホストはその時々で変わります。特定のワークーバに固有となる設定(crontab の利用等)はサポート対象外となることをご留意ください。
  • ログインに使用するアカウント及びパスワードは、LDAPで統合管理されています。このため、どのホストにログインする場合でも同じアカウント名、同じパスワードを使用できます。
  • ワークサーバに障害が発生した場合、ラウンドロビンの選択から外れます。障害が発生してからラウンドロビン設定から外れるまでに時間差があります。代表ホスト名にアクセスできない場合、もう一度ログインを試してください。別のホストにログインできます。

ワークサーバの プロセス実行時間制限

ワークサーバ ccw.cc.kek.jp, ccx.cc.kek.jp では、プロセスの実行時間が以下の通り制限されています。

  • 12時間以上CPU時間を使用しているプロセス ... 強制終了
  • 2週間以上実行されているプロセス ... 強制終了
  • CPUを占有しているプロセス (>300%.H/proc, >8x(100%.0.5H)/node) ... 利用制限

ワークサーバのメモリ利用量制限

各ワークサーバでは、使用可能なメモリ量(すべての一般ユーザーのメモリ使用量の合計)が以下の通り制限されています。 使用メモリ量が制限値を超えた場合、システム保護のために原因となっている一連のプロセスが強制終了されることがありますので、予めご了承ください。

  • ccw.cc.kek.jp : 176GB
  • ccx.cc.kek.jp : 368GB
  • 350GB.D (50GBを7日間相当)以上利用しているプロセス ... 強制終了

Warning

システムの運用に影響をあたえるような利用を発見した場合、プロセスの強制終了やCPU,メモリの利用に制限をかける場合があります。

並列サーバ

並列サーバにログインする場合、基本的にはccp01.cc.kek.jpを使用してください。その他の並列サーバ(ccp02~ccp06)は、ccp01からジョブ投入により利用します。


パスワード変更

初回ログイン時

初回ログイン時には、自動的にpasswdコマンドが実行されます。パスワード変更後、一度セッションが切れますので、再度ログインしてください。 パスワードの制限事項 については、パスワードルールを参照してください。 ログインに利用できるプロトコルはSSH ver2のみです。

WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user a0019.
Enter login(LDAP) password:                 現在のパスワードを入力
New password:                               新しいパスワードを入力
Retype new password:                        新しいパスワードを入力
LDAP password information changed for a0019
passwd: all authentication tokens updated successfully.

パスワード変更(任意のタイミング)

パスワード変更をするには、passwdコマンドを実行してください。

[使用例]

$ passwd
Changing password for user a0019.
Enter login(LDAP) password:                ← 現在のパスワードを入力
New password:                              ← 新しいパスワードを入力
Retype new password:                       ← 新しいパスワードを入力
LDAP password information changed for a0019
passwd: all authentication tokens updated successfully.

Warning

現在(変更前)のパスワードを間違えた場合、passwdコマンドは何も変更せずに終了します。

パスワードルール

パスワードはDictionary Wordを避け、以下のルールに基づいて設定してください。

  • 文字数は9文字以上
  • 記号が1文字以上含まれる
  • 数字が1文字以上含まれる
  • 英小文字が1文字以上含まれる
  • 5種類以上の文字が含まれる("aa"は1種類、"ab"は2種類と数えます)
  • 過去の履歴を4世代保持しており、履歴内のパスワードは再利用できません

ログインシェル変更

ログインシェルを変更するには、chshコマンドに"-s"オプションと変更したいシェルのフルパスを引数として実行してください。指定可能なシェルは"-l"オプションで確認できます。シェル変更は次回ログイン時に有効になります。

Note

chsh実行後、反映されるまで最大5分かかります。

[使用例]

$ chsh -l
/bin/bash
/bin/csh
/bin/sh
/bin/tcsh
/bin/zsh
$ chsh -s /bin/tcsh
Shell was changed.
$

環境設定ファイル

Tcsh/csh

.cshrc ユーザシェルが csh または tcsh の場合に、sshでログインした時に呼び出されます。必要に応じて各自、 追加、 修正してください。 tcshをご使用の方は、.tcshrc ファイルをホームディレクトリ上に作成すると、.cshrc ファイルが無効となってしまいますので、注意してください。

Note

ファイルはホームディレクトリにあります。

Note

上記のファイルのオリジナルは、ワーク/並列サーバ上の/sw/share/etc/skel以下にありますので、必要に応じて参照してください。

Bash/sh

.bash_profile ユーザシェルが bash の場合に、sshでログインした時に呼び出されます。 .bashrc .bash_profileから呼び出されます。必要に応じて各自、追加、修正してください。

Note

ファイルはホームディレクトリにあります。

Note

上記のファイルのオリジナルは、ワーク/並列サーバ上の/sw/share/etc/skel以下にありますので、必要に応じて参照してください。

ツール毎設定ファイル

ツールごとの設定ファイルは、/etc/profile.d以下に設定されています。 本システムで、追加設定している主なものは以下の通りです。

csh/tcsh用 bash/zsh用
LSFの定義 lsf.csh lsf.sh
Tex関連環境定義 texlive.csh texlive.sh
EnvironmentModules環境定義 modules.csh modules.sh
Mathematica環境定義 Mathematica.csh Mathematica.sh

Warning

これらファイルは、一般ユーザは変更できません。 しかし、これらのファイル内で設定されている環境変数を上書きすることはできます。間違った値を設定してしまった場合、上記で設定されていることを前提としたツールが正常に動かなくなる場合があります。設定を上書きする場合は十分注意して行ってください。

Environment Modules

本システムでは、コンパイラ/MPIライブラリ/Python/JAVA等、複数バージョンがインストールされているソフトウェアの環境変数切り替えツールとして、Environment Modulesが利用できます。

Environment Modulesを利用することにより、各ソフトウェアの利用に必要な環境設定を動的に切り替えて設定することが可能です。異なる種類、バージョンを利用する際 に簡単に環境変数を切り替えることができます。

Warning

初期設定ではOS標準バージョンのソフトウェアのみが利用できます。常時利用されるコンパイラなどの環境は、ログイン時に呼び出されるシェル環境設定ファイル(.bashrc、.cshrcなど)にmodule loadコマンド(下記説明参照)を記載されることをお勧めします。

Warning

LSFのジョブで各ソフトウェアを利用する際も環境のロードが必要です。ログイン時に呼び出されるシェル環境設定ファイルもしくはジョブのスクリプト内でソフトウ ェアを利用する前にmodule loadコマンドを実行し環境設定をしてください。

Warning

$SHELL 環境変数が /bin/bash 以外のときに、LSF ジョブ内で module コマンドを使用したい場合は、"source /etc/profile.d/modules.sh;" をジョブに含めるようにしてください。

利用可能環境

以下のコマンドで利用可能な環境一覧を表示することができます。

$> module avail↓

Note

availはavと省略可能です。

[使用例]

$> module av↓
-------------------------------------- /opt/Modules/modulefiles --------------------------------------
aocl/aocl-2.1         gsl/26                openmpi/1.10.7-gcc930 openmpi/2.1.6-gcc930
binutil/234           intel/2020            openmpi/1.10.7-intel  openmpi/2.1.6-intel
gcc/750               intel32/2020          openmpi/1.10.7-pgi    openmpi/2.1.6-pgi
gcc/830               openmpi/1.10.7-gcc    openmpi/2.1.6-gcc     pgi/20.1(default)
gcc/930               openmpi/1.10.7-gcc750 openmpi/2.1.6-gcc750  pgi/2020
git/2260              openmpi/1.10.7-gcc830 openmpi/2.1.6-gcc830  python/3.7

環境のロード

以下のコマンドで環境をロードすることができます。

$> module load <環境名>↓

module loadを実行すると、現在実行中のシェルにPATH等の環境変数が設定されます。

[使用例]

IntelコンパイラでビルドされたOpenMPIの環境をロードする例

$> module load openmpi/1.10.7-intel↓
$> which mpirun
/opt/openmpi/intel/openmpi-1.10.7/bin/mpirun

$> which icc
/opt/intel/compilers_and_libraries_2020.1.217/linux/bin/intel64/icc

Note

OpenMPIの環境をロードすると、セットとなるコンパイラの環境も自動的にロードされます。

設定される環境変数の表示

以下のコマンドで各環境をロードしたときに設定される環境変数を確認することができます。

$> module show <環境名>↓

[使用例]

$> module show openmpi/1.10.7-intel
-------------------------------------------------------------------
/opt/Modules/modulefiles/openmpi/1.10.7-intel:

prepend-path     PATH /opt/openmpi/intel/openmpi-1.10.7/bin
prepend-path     LD_LIBRARY_PATH /opt/openmpi/intel/openmpi-1.10.7/lib
prepend-path     MANPATH /opt/openmpi/intel/openmpi-1.10.7/share/man
-------------------------------------------------------------------

Warning

OpenMPIの環境をロードしたときに自動的にロードされるコンパイラの環境変数は別途コンパイラの環境名をshowで指定してご確認ください。

インテルコンパイラの環境変数を確認する例

$> module show intel/2020

現在の環境の表示

以下のコマンドで現在ロードしている環境を表示することができます。

$> module list↓

Note

listはliと省略可能です。

[使用例]

$> module li
Currently Loaded Modulefiles:
  1) intel/2020             2) openmpi/1.10.7-intel

環境の追加、複数環境のロード

module loadを複数回実行して環境を追加することも、一回の実行で複数環境ロードすることもできます。

[使用例]

$> module load openmpi/1.10.7-intel python/3.7↓
      Please enable conda command :source /opt/python-3.7/etc/profile.d/conda.sh
$> module li
Currently Loaded Modulefiles:
  1) intel/2020             3) python/3.7
  2) openmpi/1.10.7-intel

環境のアンロード

以下のコマンドでロード済みの環境をアンロードすることができます。

$> module unload <ロード済みの環境名>↓

[使用例]

$> module unload openmpi/1.10.7-intel

環境のパージ

以下のコマンドでローズ済み環境を全てアンロードすることができます。

$> module purge↓

Note

moduleには、環境を切り替えるswitch/swapオプションがありますが、意図通りに動作しないケースがあるため利用は非推奨です。purgeもしくはunloadをご利用ください。


言語

ワーク/並列サーバの標準の言語環境は英語環境UTF-8(en_US.UTF-8)です。 その他利用できる言語は、POSIX C、日本語UTF-8です。言語を変更する場合、環境変数”LANG”の値を以下のように設定します。なお、特に指定をしなければ英語環境 UTF-8に設定されます。

環境名 設定値
英語環境 en_US.UTF-8
POSIXC C
日本語UTF-8 ja_JP.UTF-8
日本語EUC ja_JP.eucJP
シフトJIS ja_JP.SJIS

日本語EUCおよびSJISは、正式サポートではありませんが、利用することができます。 ただし、シフトJIS文字コードのファイル名はサポートしません。

[使用例] csh系の場合

%> setenv LANG ja_JP.UTF-8↓

bsh系の場合

$> export LANG=ja_JP.UTF-8↓

言語を「日本語UTF-8」など英語以外にした場合、ターミナルエミュレータの送受信の設定と LANG 環境変数の設定が一致している必要があります。 TeraTermの場合は、以下のような対応になります。

Teratermの設定 LANG環境変数
UTF-8 ja_JP.UTF-8
日本語EUC ja_JP.eucJP

日本語入力方法

日本語の入力については、クライアント側で使用しているターミナルエミュレータに依存します。 たとえばWindows上でTeratermを使用した場合、Windows上の日本語 入力ソフト(MS-IMEやATOK等)が利用できます。

詳しくは、それぞれのマニュアル等を参照してください。


メール

ワーク/並列サーバでのメールの受信につきましては、サービスをサポートしておりません。 また、ワーク/並列サーバからのメール送信については、lsfジョブ実行結果のメール送信を除きサポートしておりません。

mailコマンドの使用はご遠慮ください。


印刷

プリンタおよびキュー一覧

利用できますプリンタ、及びプリンタキューの一覧につきましては、プリンタ情報のページをご確認ください。

出力方法

lpr コマンドで印刷することができます。

$> lpr -P プリンタキュー名  psファイル↓

例)計算科学センター倉庫のDocuPrint CP400psへ片面印刷する場合(キュー名:xprt41ps1)

$> lpr -P xprt41ps1 test.ps↓

もし出力ファイルが ps ファイルでないテキストファイルでしたら、次のように paps コマンドにて ps ファイルに変換し、出力することが可能です。

$> a2ps -o - ファイル名 | lpr -P xprt41ps1↓

または

$> a2ps -P xprt41ps1  ファイル名↓

デフォルトプリンタの設定をしておりませんので、必要な方は環境変数 PRINTER にプリンタキューを設定してください。

%> setenv PRINTER xprt41ps1↓       ←csh系
$> export PRINTER=xprt41ps1↓       ←bsh系

上記コマンドを .cshrc または .profile ファイルへ記述しておくことにより、ログイン時から ”lpr psファイル名” でデフォルトプリンタへ印刷することが可能です 。

Note

導入したpapsコマンドは、文字コードがUTF-8のファイル(日本語のみ対象)を印刷することができます。

実行例) tcsh を用いた場合

%> setenv PRINTER xprt41ps1↓
%> setenv LANG ja_JP.UTF-8↓
%> echo  'これは日本語のテストです。' > test.txt↓
%> a2ps test.txt↓

また、perl 版の a2ps.pl も /usr/local/bin へインストールしました。a2ps.pl の場合は LANG 環境変数は設定の必要がありません。ただし日本語コードは euc を前提 としています。

実行例) tcsh を用いた場合

%> setenv PRINTER xprt41ps1↓
%> /usr/local/bin/a2ps.pl test.txt | lpr↓

Note

通常「/usr/local/bin」はプログラム検索パスに含まれるため、単にa2ps.plで利用できます。

キャンセル方法

プリンタキューの先頭の印刷待ちあるいは、印刷中のジョブを表示するには、以下の様にします。

$> lpq↓

[使用例]

$> lpq↓
xprt41ps1 is ready and printing
Rank    Owner   Job     File(s)                         Total Size
active  t0001   3677    test_c                          1024 bytes

プリンタキューの先頭の印刷待ちあるいは、印刷中のジョブをキャンセルするには、以下の様にします。

$> lprm↓

Note

すでにプリンタに送られてしまった印刷 job についてはキャンセルできません。キャンセルする際は、プリンタ上のキャンセルボタン(印刷中止ボタン)をご使用くだ さい。

プリンタキュー内の特定の印刷待ちジョブをキャンセルするには、以下の様にします。

$> lprm ジョブID↓

[使用例]

$> lpq↓
xprt41ps1 is ready and printing
Rank    Owner   Job     File(s)                         Total Size
active  t0001   3677    test_c                          1024 bytes
$> lprm 3677↓

lpqコマンドでジョブIDが3677であることを確認し、その番号を用いてlprmで印刷待ちジョブをキャンセルします。

キャンセルできるのは、自らが出力した印刷ジョブのみです。

その他ソフトウェア

印刷のために使えるソフトウェアとして、enscript(日本語不可)やpaps+lprも利用できます。

[enscriptの実行例]

$> enscript  -P xprt41ps1 --media=A4  test.txt↓
[ 1 pages * 1 copy ] sent to xprt41ps1

Note

enscriptでは、デフォルトの用紙サイズがLetterになっています。設定ファイル(~/.enscriptrc)に「DefaultMedia: A4」と指定することでA4サイズをデフォルトにす ることができます。

[paps+lprの実行例]

$> paps test.txt docker run --rm -it -p 8000:8000 -v `pwd`:/docs squidfunk/mkdocs-material| lpr -P xprt41ps1

プリンタに関する注意事項

ワークサーバからプリンタ情報のページに記載されていないプリンタ(個々にユーザ様にて設置されたもの)への出力はネットワークの設定変更等を要する為、申請が必要となりますので事前にご相談ください。


オンラインマニュアル

オンラインマニュアルはワーク/並列サーバ上のコマンドライン上で利用可能です。

man コマンド

$> man コマンド名↓

[実行例]

$> man ls↓

info,pinfo コマンド

$> info コマンド名↓
$> pinfo コマンド名↓

[実行例]

$> info ls↓
$> pinfo ls↓

利用上の注意

/tmpディレクトリ

/tmpのディレクトリは、システムの基本ソフトウェアが一時的に使用するディレクトリです。 ユーザ自身が容量の大きなファイルや大量のファイルを作成することはご遠慮ください。 もし、/tmpディレクトリの使用率が高くなった場合、大きなサイズのファイルは削除されます。 /tmpディレクトリにはユーザあたり 1GB のクォータ制限が設定されています。

sshfs

sshfsを使用してKEKCCのファイルシステムをマウントする場合は、次の点に注意してください。 誤った使い方をすると、システムの運用に支障が出る可能性があります。

  • クライアントのコンピュータをサスペンドする際には、sshfsのマウントを解除してください。
  • 接続サーバとして指定するホスト名は、ccw*.cc.kek.jpを指定してください。login.cc.kek.jpを指定しないでください。
  • アクセスサーバを経由してのsshfsの使用は禁止します。システムの運用に支障が出る可能性があります。