user/pages/04.migration/docs.ja.md
452be89a
 ---
 title: 前システムからの移行
 taxonomy:
     category:
         - docs
 external_links:
     process: true
     title: false
     no_follow: true
     target: _blank
     mode: active
 ---
 
 [toc]
 
 2022年度に更新されたシステムへ、それ以前のシステムから移行する方向けの情報です。 
 
 ## ホスト名、ログイン方法{#login}
 
 ホスト名(ラウンドロビン)およびログイン方法は、前システムから変更はありません。
 なお、ログインノードへラウンドロビンを経由せず直接ログインする場合は、個別のホスト名が変更となっておりますので[システムへの接続方法](/login)を参照してください。
 
 ### ログイン時にエラーで入れない場合{#login_error}
 下記のようなメッセージが出て接続できない場合は、known_hosts情報を削除する必要があります。
 
 ```nohighlight
 @@@  WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!   @@@
 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
 Someone could be eavesdropping on you right now (man-in-the-middle attack)!
 It is also possible that a host key has just been changed.
 The fingerprint for the RSA key sent by the remote host is
 c0:30:d6:93:b2:d8:06:4a:6f:9c:d5:00:cc:c5:69:58.
 Please contact your system administrator.
 Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this
 message.
 Offending RSA key in /home/xxx/.ssh/known_hosts:3
 RSA host key for laurel.kudpc.kyoto-u.ac.jp has changed and you have
 requested strict checking.
 Host key verification failed.
 ```
 
 known_host情報の削除は下記のいずれかの手順で行います。
 #### ターミナル{#terminal}
 * ssh-keygenコマンドを使う<br>
 (例) laurel の known_hosts を削除する
 ```nohighlight
 $ ssh-keygen -R laurel.kudpc.kyoto-u.ac.jp
 ```
 * known_hostファイルを直接編集する
 1. エディタなどで`%homepath%\.ssh\known_hosts`(Windows)、`/Users/(ユーザ名)/.ssh/known_hosts`(Mac、Linux)ファイルを開きます
 2. 中身を消去して保存します
 
 #### MobaXterm{#mobaxterm}
 1. MobaXtermを終了します。
 2. エディタなどで`%appdata%\MobaXterm\MobaXterm.ini`を開きます
 3. [SSH_Hostkeys] の該当のホストの情報を削除します。
 ```nohighlight
 ssh-ed25519@22:laurel.kudpc.kyoto-u.ac.jp=0xd152edcd(以下略)
 ```
 4. MobaXtermを起動します。
 
 ## $HOME/.bashrcの初期化方法{#bashrc}
 前システムからモジュールの構成やアプリケーションの配置場所、環境変数などが変更となっています。前システムで.bashrcをカスタマイズしてご利用いただいていた方は、必要に応じて.bashrcの修正をお願いします。<br>
 また、以下のように /etc/skel/.bashrc を ホームディレクトリにコピーすることで、.bashrcを初期化することができます。<br>
 なお、ログインができない状態の場合は、[お問合せフォーム](https://www.iimc.kyoto-u.ac.jp/ja/inquiry/?q=consult)よりその旨お知らせいただけましたら、管理者権限でシェルの設定ファイルを初期化いたします。
 * ホームディレクトリに/etc/skel/.bashrcをコピーする場合
 ```nohighlight
 $ cp /etc/skel/.bashrc $HOME
 ```
 
 ## $HOME/.sshディレクトリについて{#ssh}
 現システムより、SSHの公開鍵を利用者ポータルで一括して管理する運用に変更しました。これに伴い、ホームディレクトリ($HOME)の.sshディレクトリは$HOME/DOTFILES_20221108/ 以下に移動しました。不要であれば削除してください。
 
 ## データ移行{#mv_data}
 
 前システムに保存されていたユーザーデータは、全て自動で移行されています。
 
 <!--
 ホームディレクトリの容量は100GBです。パーソナル/グループ/専用クラスタの容量は、2022年度は前システムの容量を継承します。2023年度以降は大型計算機システム利用負担金規程の通りです。
 
 ディレクトリ|前システムの容量|新システムの容量
 ---------|----------------|---------------
 ホームディレクトリ    |100GB            |100GB
 大容量ストレージ(パーソナルコース)   |3TB|8TB
 
 グループコースの大容量ストレージの容量は、以下の計算式に従います。
 
 **システムA,B**
 
 タイプ     |前システムの容量   |新システムの容量
 ----------|------------------|----------------
 準々優先 | - | 6.4TB x 契約ノード数
 準優先   |3.6TB x 契約ノード数|9.6TB x 契約ノード数
 優先     |6.0TB x 契約ノード数|16.0TB x 契約ノード数
 占有     |6.0TB x 契約ノード数|16.0TB x 契約ノード数
 
 **システムC**
 
 タイプ     |前システムの容量   |新システムの容量
 ----------|------------------|----------------
 準々優先 | - | 6.4 x 契約ノード数
 優先     |24TB x 契約ノード数|16TB x 契約ノード数
 
 **システムG**
 
 タイプ     |前システムの容量   |新システムの容量
 ----------|------------------|----------------
 準々優先 | - | 6.4 x 契約ノード数
 優先     | - |16TB x 契約ノード数
 -->
 ### 大容量ストレージ(LARGE)について{#large}
 /LARGE2は/LARGE0に、/LARGE3は/LARGE1に集約されました。/LARGE2は/LARGE0へ、/LARGE3は/LARGE1へリンクを貼り、従来のパスでアクセスできるように設定しますが、将来的に設定は削除しますので、パスの更新を行ってください。
 
 また、大容量ストレージのquota管理がGroup QuotaからProject Quotaに変更になりました。
 これに伴い、容量管理はファイルが所属するグループではなく、大容量ストレージの
 グループのパス単位で行われます。
 
 新システムのファイルシステム構成の詳細については、 [ファイルシステムの利用](/filesystem) をご覧ください。
 
 ## ログインノードのプロセスリミット{#process_limit}
 
 PCへのファイル転送中の中断などが起きにくいよう配慮し、各システムのログインノードのCPU時間とメモリ量を拡張しています。
 
 システム  | CPU時間(標準) | CPU時間(最大) | メモリ量(標準)
 -------- | ------------- | ------------- | -------------
 前システム | 4時間        | 24時間        | 8GB          
 新システム | 4時間 | 24時間 | 16GB
 
 ## 変更点{#compatibility_incompatibility}
 
 ### OS
 OSがCLE/RHEL 7からRHEL 8に変更になります。
 
 ### コンパイラ・ライブラリ{#compiler}
 
 コンパイラは、Intel、NVIDIA HPC SDK、GNUを提供します。Crayコンパイラは提供されなくなります。
 
 ### バッチジョブスケジューラ{#lsf}
 
 ジョブスケジューラがPBSからSlurmに変更になります。
 
 #### ジョブスクリプトのオプション比較
 
 動作| PBS | Slurm 
 :--------------:|:-------------:|:-------------:
  ジョブを投入するキューを指定する|-q _QUEUENAME_ | -p _QUEUENAME_
 ジョブの実行グループを指定する | -ug _GROUPNAME_ | 不要になりました
  経過時間上限値を指定する | -W _HOUR_ : _MIN_ | -t _HOUR_:_MIN_
 ・ プロセス数を指定する <br>・ プロセスあたりスレッド数を指定する<br>・ プロセスあたりCPUコア数を指定する<br>・ プロセスあたりメモリサイズを指定する |-A p=_X_:t=_X_:c=_X_:m=_X_ | --rsc p=_X_:t=_X_:c=_X_:m=_X_ 
  標準出力ファイル名を指定する | -o _FILENAME_ | 変更なし 
  標準エラー出力ファイル名を指定する| -e _FILENAME_| 変更なし 
 標準出力・エラー出力をまとめる | -j oe(標準出力に出力) / eo(標準エラーに出力) | 変更なし 
 メール送信|-m a(ジョブ中断時) / b(開始時) / e(終了時) | --mail-type=BEGIN(開始時)/END(終了時)/FAIL(ジョブ中断時)/REQUEUE(再実行時)/ALL(全て)
 メールアドレスを指定する|-M _MAILADDR_ | --mail-user=_MAILADDR_
  障害発生時のジョブ再実行の禁止を指定 | -r n | --no-requeue
  
  
  
 #### ジョブ関連コマンド比較
 
 動作| PBS | Slurm
 :-----------------------:|:-----------------------------:|:-----------------------------:
 ジョブを投入できるキューを確認する | qstat -q | spartition
 ジョブをキューに投入する| qsub | sbatch
 ジョブの状態を確認する |qstat | squeue
 投入したジョブをキャンセルする | qdel | scancel
 ジョブの詳細情報を確認する|qs | sacct -l
 
 
 
 
 #### 環境変数比較
 
 内容 | PBS | Slurm
 :--------------------------:|:------------------------------------------:|:--------------------------------------:
  ジョブID | QSUB_JOBID | SLURM_JOBID
  ジョブを投入したキューの名称| QSUB_QUEUE | SLURM_JOB_PARTITION
  ジョブを投入したカレントディレクトリ| QSUB_WORKDIR | SLURM_SUBMIT_DIR
  ジョブ実行時の割当プロセス数|QSUB_PROCS | SLURM_DPC_NPROCS
  ジョブ実行時のプロセスあたりの割当スレッド数| QSUB_THREADS | SLURM_DPC_THREADS
  ジョブ実行時のプロセスあたりの割当CPUコア数| QSUB_CPUS | SLURM_DPC_CPUS
  ジョブ実行時のプロセスあたりの割当メモリ量上限値 |QSUB_MEMORY|ー
  ジョブ実行時のノード当たり配置プロセス数 | QSUB_PPN | ー
 
 ## ジョブスクリプト変換{#pbs2slurm}
 **pbs2slurm** コマンドを利用することで、PBSの環境で使用していたジョブスクリプトのコマンドやオプションをSlurm向けに変換することができます。
 
 #### 書式
 ```nohighlight
 pbs2slurm input_script [output_script]
 ```
 
 #### 実行例
 ```nohighlight
 [b59999@camphor1 script]$ cat pbs.sh
 #!/bin/bash
 #======Option========
 #QSUB -q gr19999b
 #QSUB -A p=1:t=1:c=1:m=1G
 #QSUB -W 12:00
 #QSUB -r n
 #QSUB -M kyodai.taro.1a@kyoto-u.ac.jp
 #QSUB -m be
 #====Shell Script====
 mpiexec.hydra ./a.out
 
 [b59999@camphor1 script]$ pbs2slurm pbs.sh slurm.sh
 
 [b59999@camphor1 script]$ cat slurm.sh
 #!/bin/bash
 #======Option========
 #SBATCH -p gr19999b
 #SBATCH --rsc p=1:t=1:c=1:m=1G
 #SBATCH -t 12:00
 #SBATCH --no-requeue
 #SBATCH --mail-user=kyodai.taro.1a@kyoto-u.ac.jp
 #SBATCH --mail-type=BEGIN,END
 #====Shell Script====
 srun ./a.out
 ```
 
 #### 変換に対応するオプション
 pbs2slurmコマンドでは、以下のオプションの変換に対応しています。
 以下に含まれていないオプションについては、個別に修正をお願いします。
 
 | 変換前 | 変換後 | 内容   |
 |------- | ------ | -------|
 |#QSUB -q | #SBATCH -p | キューの指定 |
 |#QSUB -A | #SBATCH --rsc | リソースの指定|
 |#QSUB -W | #SBATCH -t | 経過時間の指定|
 |#QSUB -N | #SBATCH -J | ジョブ名の指定|
 |#QSUB -o | #SBATCH -o | 標準出力の書き出し先の指定|
 |#QSUB -e | #SBATCH -e | 標準エラー出力の書き出し先の指定|
 |#QSUB -m | #SBATCH --mail-type | メールの送信タイミングの指定|
 |#QSUB -M | #SBATCH --mail-user | メールの送信先の指定|
 |#QSUB -r n | #SBATCH --no-requeue | ジョブの再実行禁止|
 |#QSUB -J | #SBATCH -a | アレイジョブの指定|
 |mpiexec | srun | MPIの実行(オプションがある場合は手動で削除が必要です)|
 |mpiexec.hydra | srun | MPIの実行(オプションがある場合は手動で削除が必要です)|