ワークサーバの利用
システム概要
データ解析システムは、ログイン可能なサーバとして、ワークサーバが全8台あります。
ログイン可能サーバ | 台数 |
---|---|
ワークサーバ | 8台 |
ワークサーバ提供機能
- SSHログイン機能
- 磁気ディスクシステム(GPFS)、HSMシステム(GHI)へのファイルアクセス
- Platform LSFを使用したバッチジョブスケジューリングにおける計算機能
- 各種ソフトウェア機能
接続環境
リモート接続はSSH Version2 を使用します。 sshによる接続については、以下を参考にしてください。
- Linux などの UNIX ターミナルを用いた場合、sshコマンドを利用します。
- Windowsから接続する場合、cygwin を導入しターミナルからsshコマンドを実行するか、またはTeraTermやPuTTYなどssh接続をサポートした端末ソフトウェアを使用します。TeraTermで接続する場合は、"UTF-8 TeraTerm Pro"をご使用ください。
また、本システムは、機構外からの直接リモート接続を許容しています。詳細については こちらを参照してください。
Warning
sshの認証鍵には必ずパスフレーズを設定してください。パスフレーズが設定されていない鍵は管理者側で削除します。また、不要な鍵も置かないでください。
Warning
IPv6 アドレス環境からワークサーバへのssh接続は許可制となります。接続が許可されていない場合、接続がタイムアウトしたり長い時間待たされる場合があります。その場合は、以下のようにssh -4オプションを付与し、IPv4での接続をお試しください。
[実行例]
$> ssh -4 cw.cc.kek.jp
IPv6 でのワークサーバ接続許可をご希望の場合は、所属するグループ管理者にお問い合わせください。
ログイン・ログアウト
ワークサーバ
ワークサーバにログインする場合、下表の代表ホスト名を使用してください。この場合、代表ホスト名には省略形(例えばlogin.cc)を使った場合は、接続できない場合があります。その場合は、FQDN(例えばlogin.cc.kek.jp)を使用してください。
代表ホスト名 | ホスト名 | OS | |
---|---|---|---|
login.cc.kek.jp | cw.cc.kek.jp | cw01.cc.kek.jp | RHEL9.3 |
cw02.cc.kek.jp | RHEL9.3 | ||
cw03.cc.kek.jp | RHEL9.3 | ||
cw04.cc.kek.jp | RHEL9.3 | ||
cw05.cc.kek.jp | RHEL9.3 | ||
cw06.cc.kek.jp | RHEL9.3 | ||
cw07.cc.kek.jp | RHEL9.3 | ||
cw08.cc.kek.jp | RHEL9.3 |
[実行例]
$> ssh cw.cc.kek.jp
- 代表ホスト名でログインすると、ラウンドロビンでアサインされます。このため、ログインするホストはその時々で変わります。特定のワークーバに固有となる設定(crontab の利用等)はサポート対象外となることをご留意ください。
- ログインに使用するアカウント及びパスワードは、LDAPで統合管理されています。このため、どのホストにログインする場合でも同じアカウント名、同じパスワードを使用できます。
- ワークサーバに障害が発生した場合、ラウンドロビンの選択から外れます。障害が発生してからラウンドロビン設定から外れるまでに時間差があります。代表ホスト名にアクセスできない場合、もう一度ログインを試してください。別のホストにログインできます。
ワークサーバの プロセス実行時間制限
ワークサーバ cw.cc.kek.jp では、プロセスの実行時間が以下の通り制限されています。
- 12時間以上CPU時間を使用しているプロセス ... 強制終了
- 2週間以上実行されているプロセス ... 強制終了
- CPUを占有しているプロセス (>300%.H/proc, >8x(100%.0.5H)/node) ... 利用制限
ワークサーバのメモリ利用量制限
各ワークサーバでは、使用可能なメモリ量(すべての一般ユーザーのメモリ使用量の合計)が以下の通り制限されています。 使用メモリ量が制限値を超えた場合、システム保護のために原因となっている一連のプロセスが強制終了されることがありますので、予めご了承ください。
- cw.cc.kek.jp : 512GB
- 350GB.D (50GBを7日間相当)以上利用しているプロセス ... 強制終了
Warning
システムの運用に影響をあたえるような利用を発見した場合、プロセスの強制終了やCPU,メモリの利用に制限をかける場合があります。
パスワード変更
初回ログイン時
初回ログイン時には、自動的に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用 | |
---|---|---|
anaconda環境定義 | conda.csh | conda.sh |
apptainer環境定義 | apptainer.csh | apptainer.sh |
EnvironmentModules環境定義 | modules.csh | modules.sh |
LSFの定義 | lsf.csh | lsf.sh |
Mathematica環境定義 | Mathematica.csh | Mathematica.sh |
openmpi環境定義 | openmpi.csh | openmpi.sh |
Tex関連環境定義 | texlive.csh | texlive.sh |
Warning
これらファイルは、一般ユーザは変更できません。 しかし、これらのファイル内で設定されている環境変数を上書きすることはできます。間違った値を設定してしまった場合、上記で設定されていることを前提としたツールが正常に動かなくなる場合があります。設定を上書きする場合は十分注意して行ってください。
Environment Modules
本システムでは、コンパイラ等、複数バージョンがインストールされているソフトウェアの環境変数切り替えツールとして、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 ------------
gcc/850 gcc/1230 intel/2024 nvhpc/24.1
環境のロード
以下のコマンドで環境をロードすることができます。
$> module load <環境名>↓
module loadを実行すると、現在実行中のシェルにPATH等の環境変数が設定されます。
[使用例]
IntelコンパイラでビルドされたOpenMPIの環境をロードする例
$> module load gcc/1230↓
$> which gcc
/opt/gcc-12.3.0/bin/gcc
設定される環境変数の表示
以下のコマンドで各環境をロードしたときに設定される環境変数を確認することができます。
$> module show <環境名>↓
[使用例]
$> module show gcc/1230
-------------------------------------------------------------------
/opt/Modules/modulefiles/gcc/1230:
prepend-path PATH /opt/gcc-12.3.0/bin
prepend-path LD_LIBRARY_PATH /opt/gnu-libs/lib
prepend-path LD_LIBRARY_PATH /opt/gcc-12.3.0/lib
prepend-path LD_LIBRARY_PATH /opt/gcc-12.3.0/lib64
prepend-path MANPATH /opt/gcc-12.3.0/share/man
-------------------------------------------------------------------
インテルコンパイラの環境変数を確認する例
$> module show intel/2024
現在の環境の表示
以下のコマンドで現在ロードしている環境を表示することができます。
$> module list↓
Note
listはliと省略可能です。
[使用例]
$> module li
Currently Loaded Modulefiles:
1) gcc/1230
環境の追加、複数環境のロード
module loadを複数回実行して環境を追加することも、一回の実行で複数環境ロードすることもできます。
[使用例]
$> module load intel/2024↓
$> module li
Currently Loaded Modulefiles:
1) gcc/1230 2) intel/2024
環境のアンロード
以下のコマンドでロード済みの環境をアンロードすることができます。
$> module unload <ロード済みの環境名>↓
[使用例]
$> module unload gcc/1230
環境のパージ
以下のコマンドでローズ済み環境を全てアンロードすることができます。
$> 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 ファイルでないテキストファイルでしたら、次のように enscipt コマンドにて ps ファイルに変換し、出力することが可能です。
$> enscript -o - ファイル名 | lpr -P xprt41ps1↓
または
$> enscript -P xprt41ps1 ファイル名↓
デフォルトプリンタの設定をしておりませんので、必要な方は環境変数 PRINTER にプリンタキューを設定してください。
%> setenv PRINTER xprt41ps1↓ ←csh系
$> export PRINTER=xprt41ps1↓ ←bsh系
上記コマンドを .cshrc または .profile ファイルへ記述しておくことにより、ログイン時から ”lpr psファイル名” でデフォルトプリンタへ印刷することが可能です 。
Note
導入したpapsコマンドは、文字コードがUTF-8のファイル(日本語のみ対象)を印刷することができます。
キャンセル方法
プリンタキューの先頭の印刷待ちあるいは、印刷中のジョブを表示するには、以下の様にします。
$> 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ディレクトリの使用率が高くなった場合、大きなサイズのファイルは削除されます。
sshfs
sshfsを使用してKEKCCのファイルシステムをマウントする場合は、次の点に注意してください。 誤った使い方をすると、システムの運用に支障が出る可能性があります。
- クライアントのコンピュータをサスペンドする際には、sshfsのマウントを解除してください。
- 接続サーバとして指定するホスト名は、cw*.cc.kek.jpを指定してください。login.cc.kek.jpを指定しないでください。
- アクセスサーバを経由してのsshfsの使用は禁止します。システムの運用に支障が出る可能性があります。