AlmaLinux 8 WSL を用いたHPCIログイン¶
0. 変更履歴¶
0.1 主な変更内容¶
2024.04.05¶
ログイン手順の一部を利用者の環境に合わせて修正しました。
2023.07.31¶
一部の項目で文章表現や構成を修正しました。
本書のテキスト版の提供を終了しました。
2023.05.09¶
curl コマンドの入手について追記しました。
いくつかの誤記を修正しました。
2023.04.28¶
参照するドキュメントの URL を修正しました。
2022.12.19¶
初版を公開しました。
1. 概要¶
本書は、Windows 10 の利用者を対象に、AlmaLinux 8 WSL アプリを利用して HPCI 環境にログインする方法について解説したマニュアルです。
本書で説明する方法は、AlmaLinux 8 WSL だけを対象にしています。WSL2 以外の環境で実行する AlmaLinux は対象外です。
AlmaLinux 8 WSL では、GCT (Grid Community Toolkit) および GSI-OpenSSH の RHEL8 向けの RPM パッケージを利用します。Docker は使用しません。
1.1 AlmeLinux 8 WSL について¶
AlmaLinux 8 は RHEL 8 とバイナリ互換性のある Linux ディストリビューションです。AlmaLinux 8 WSL は、Microsoft Store で配布されているアプリケーションで、Windows マシンで AlmaLinux ターミナル環境を実行できます。
AlmaLinux および AlmaLinux WSL の詳細は下記の URL を参照してください。
1.2 動作環境¶
Windows マシンが以下を満たしていることが必要です。
WSL の詳細は Microsoft のドキュメント Windows Subsystem for Linux に関するドキュメント を参照してください。
前提条件についての最新の情報は Microsoft の WSL ドキュメント 前提条件 を参照してください。
WSL を導入するために必要なシステムの要件¶
Windows 10 64bit version 2004 (build 19041) or higher
1.3 WSL のインストール¶
Windows マシンに WSL、および Linux ディストリビューションとして Ubuntu をインストールします。
インストール手順の詳細は Microsoft のドキュメント WSL のインストール を参照してください。
既に Docker Desktop for Windows を WSL2 バックエンドで利用している環境では、本手順を実施する必要はありません。
インストール手順¶
PowerShellを管理者として実行します。
- [クイックリンク] メニューを表示します。
表示するには、 [ スタート ] ボタンを右クリック、または Windows ロゴ キー + X キー を押します。
を選択します。
「このアプリがデバイスに変更を加えることを許可しますか?」と確認を求めてきたら [ はい ] を選択して続行します。
wsl コマンドでインストールを実行します.
PowerShell で以下を実行します。
wsl --install
WSL およびデフォルトの Linux ディストリビューションとして Ubuntu がインストールされます。
PS C:\WINDOWS\system32> wsl --install インストール中: 仮想マシン プラットフォーム 仮想マシン プラットフォーム はインストールされました。 インストール中: Linux 用 Windows サブシステム Linux 用 Windows サブシステム はインストールされました。 ダウンロード中: WSL カーネル インストール中: WSL カーネル WSL カーネル はインストールされました。 ダウンロード中: Ubuntu 要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。 PS C:\WINDOWS\system32>
メッセージに従い、WSL のインストールを完了するため、システムを再起動します。
デフォルト UNIX ユーザアカウントを設定します。
Windows にログインし直した後、Ubuntu を実行してデフォルト UNIX ユーザアカウントを作成する必要があります。
デフォルト UNIX ユーザアカウントの詳細は Microsoft のドキュメント Linux ユーザー名とパスワードを設定する を参照してください。
Ubuntu は再起動後の Windows へのログインで自動的に起動します。Ubuntu が起動しない場合は下記の操作により起動してください。
[ スタート ] ボタンを押して、アプリの一覧から [ ] を選択します。
以上で WSL および Ubuntu のインストールは完了です。
パッケージの更新とアップグレード¶
パッケージマネージャを使用して、パッケージを定期的に更新およびアップグレードすることをお勧めします。次のコマンドを使用します。
$ sudo apt update && sudo apt upgrade
1.4 AlmaLinux 8 WSL のインストール¶
ここでは、WSL2 をインストール済みの環境に AlmaLinux 8 WSL をインストールする手順を説明します。
AlmaLinux 8 WSL のインストール手順の詳細は、AlmaLinux wiki の Installation steps を参照してください。
インストール手順¶
タスクバーからアプリ [
] を選択します。検索ボックスに "AlmaLinux 8 WSL" と入力して、AlmaLinux 8 WSL アプリを検索します。
検索結果の AlmaLinux 8 WSL を選択してダブルクリックします。
[ 入手 ] を押してアプリをインストールします。
[ 開く ] を押します。AlmaLinux ターミナルが起動します。
デフォルト UNIX ユーザアカウントを設定します。
Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username:
画面の指示に従い、新しいユーザー名、パスワード、およびパスワードをもう一度入力します。
Enter new UNIX username:
New password:
Retype new password:
登録完了すると、シェルのプロンプトが表示され、Linux のコマンドが実行できる状態になります。
以上で AlmaLinux 8 WSL のインストールは完了です。
2. AlmaLinux 8 WSL への GSI-OpenSSH のインストール手順¶
2.1 事前準備¶
CRL の定期更新に必要な cron 関連パッケージのインストールと crond の起動設定を行います。
cron 関連パッケージのインストール¶
AlmaLinux ターミナルで操作します。
[ スタート ] ボタンを押して、アプリの一覧から [ ] を選択し、AlmaLinux ターミナルを起動します。
crontabs および依存パッケージをインストールします。
$ sudo dnf install crontabs
exit コマンドで AlmaLiunx ターミナルを終了します。
$ exit
crond の起動設定¶
Windows のタスクスケジューラを使用して、Windows へのログオン時に AlmaLinux 8 WSL の crond を起動する設定を行います。
タスクスケジューラを起動します。
[ スタート ] ボタンを押して、アプリの一覧から [ ] を選択します。
[
] は [ ] フォルダにあります。
「 タスクの作成 」ウインドウで以下の操作を実施します。
「 全般 」 タブ
「 名前(M): 」に任意のタスク名を入力します。
(例) AlmaLinux-8 crond
「 トリガー 」 タブ
「 新規(N)... 」ボタンを押します。
「 新しいトリガー 」ウィンドウで以下の設定を行います。
「 タスクの開始(G): 」ドロップダウンで [ ] を選択します。
[OK] ボタンを押して「 新しいトリガー 」ウィンドウを閉じます。
「 操作 」 タブ
「 新規(N)... 」ボタンを押します。
「 新しい操作 」ウィンドウで以下の設定を行います。
「 操作(I): 」ドロップダウンで [ ] を選択します。
「 設定 」枠内の各項目に以下を設定します。
「 プログラム/スクリプト(P): 」
C:\Windows\System32\wsl.exe
「 引数の追加(オプション)(A): 」
-d AlmaLinux-8 bash -l -c "sudo /usr/sbin/crond"
[OK] ボタンを押して「 新しい操作 」ウィンドウを閉じます。
[OK] ボタンを押して「 タスクの作成 」ウィンドウを閉じます。
次回 Windows ログオン時から、crond デーモンが自動起動します。
2.2 インストール手順¶
AlmaLinux 8 WSL では、RHEL8 向けの GSI-OpenSSH のパッケージを使用します。 HPCI ログインマニュアル の「3.2.1.1. インストール手順」を併せて参照してください。
AlmaLinux ターミナルで操作します。
[ スタート ] ボタンを押して、アプリの一覧から [ ] を選択し、AlmaLinux ターミナルを起動します。以後の操作はすべてターミナル上で行います。
NII 版 GSI-OpenSSH をインストールするため、NII-GT6 リポジトリをインストールします。
「3.2.1.1. インストール手順」の「(1) リポジトリファイルのインストール」を参照してください。
下記の実行例では、 curl コマンドを使用してリポジトリファイルをダウンロードしています。もし AlmaLinux ターミナルに curl コマンドが存在しない場合は dnf コマンドで curl コマンドをインストールしてください。
$ sudo dnf install curlチェックサムファイルについて
Windows の Web ブラウザで NII版のGSI-OpenSSHのリポジトリファイル のページにアクセスして、リポジトリチェックサムファイルをダウンロードします。
Windows のダウンロードフォルダ (c:\Users\username\Downloads) にダウンロードしたファイルを AlmaLinux ターミナルからアクセスするには、ダウンロードフォルダのパス名を /mnt/c/Users/username/Downloads のように指定します。
username は利用者のユーザ名に置き換えてください。
$ curl -OR https://www.hpci.nii.ac.jp/gt6/stable/installers/repo/rpm/hpci-gt6-repo-latest.noarch.rpm $ cp /mnt/c/Users/username/Downloads/hpci-gt6-repo-latest.noarch.rpm.sha512 . $ sha512sum --check hpci-gt6-repo-latest.noarch.rpm.sha512 $ sudo rpm -ivh hpci-gt6-repo-latest.noarch.rpm
EPEL リポジトリをインストールします。
GSI-OpenSSH が依存する GCT ライブラリのパッケージをインストールするため、 EPEL リポジトリをインストールします。
$ sudo dnf install epel-release
NII 版 GSI-OpenSSH の gsi-hpn-openssh-clients パッケージおよび GridCF 版 myproxy をインストールします。
「3.2.1.1. インストール手順」の「(2) GSI-SSH パッケージをインストールします」の「RHEL8 の場合」に記されているコマンドを実行します。
dnf install コマンドで gsi-hpn-openssh-clients および myproxy をインストールします。
$ sudo dnf install gsi-hpn-openssh-clients myproxy
GSI-OpenSSH のインストール手順は以上です。
2.3 インストール後の設定¶
操作は引き続き AlmaLinux ターミナルで行います。
信頼できるCAの設定¶
HPCI ログインマニュアル の「3.2.1.1. インストール手順」の「(3)信頼できるCAの設定」を併せて参照してください。
ファイルを配置するディレクトリを作成します。
$ sudo mkdir -p /etc/grid-security/certificates
1.で作成したディレクトリに移動して、必要なファイルを取得します。
HPCI認証局 Web site から openssl 1.0 以降向けのファイルをダウンロードします。
$ cd /etc/grid-security/certificates $ sudo curl -OR https://www.hpci.nii.ac.jp/ca/61cd35bd.0 $ sudo curl -OR https://www.hpci.nii.ac.jp/ca/61cd35bd.signing_policy
失効リストの更新¶
失効リストを定期的に更新するため、失効リスト取得ツール fetch-crl を crond で定期的に実行します。
fetch-crl をインストールします。
$ sudo dnf install fetch-crl
更新対象の URL を設定します。
失効リスト hpcica.crl を取得して 61cd35bd.r0 という名前で保存するための設定です。
$ cd /etc/grid-security/certificates $ sudo sh -c "echo 'https://www.hpci.nii.ac.jp/ca/hpcica.crl' > 61cd35bd.crl_url"
crontab に fetch-crl を定期的に実行するためのエントリを追加します。
/etc/cron.d ディレクトリに作成します。
fetch-crl-boot は crond 起動時に 1 度 fetch-crl を実行するための設定です。
fetch-crl-regularly は定期的に fetch-crl を実行するための設定です。
$ cd /etc/cron.d $ sudo sh -c "echo '@reboot root /usr/sbin/fetch-crl -q' > fetch-crl-boot" $ sudo sh -c "echo '45 */6 * * * root /usr/sbin/fetch-crl -q -r 360' > fetch-crl-regularly"
3. HPCI 環境へのログイン手順¶
RHEL8 用 GSI-OpenSSH をインストールした環境では、AlmaLinux ターミナル上で myproxy-logon コマンドや gsissh コマンドをそのまま実行できます。HPCI ログインマニュアルの記述に従って実行してください。
3.1 AlmaLinux ターミナル の起動¶
AlmaLinux ターミナルを起動します。
3.2 ログインサーバへのログイン¶
本節ではログイン手順の概要を説明します。詳細は HPCI ログインマニュアル を参照してください。
代理証明書の発行¶
最初に、Web ブラウザで HPCI 証明書発行システム にアクセスして代理証明書を発行し、代理証明書リポジトリに格納する必要があります。
注意
代理証明書の有効期限は最大168時間です。
有効期限が切れたら、その都度発行 (格納) してください。
発行 (格納) 手順は以下のドキュメントを参照してください。
HPCI ログインマニュアル の「2.2. 代理証明書の発行手順」
代理証明書のダウンロード¶
AlmaLinux ターミナル に代理証明書をダウンロードします。
手順の詳細は以下のドキュメントを参照してください。
HPCI ログインマニュアル の「2.3.2. myproxy-logon コマンドを利用して代理証明書をダウンロードする手順」
代理証明書のダウンロードができない場合は、以下のドキュメントをリンクを参照してください。
HPCI ログインマニュアル の「2.3.2.2. エラー対応方法」
HPCI 情報共有 CMS の トラブルシューティング - GSI-SSHシステム管理関連
myproxy-logon コマンドで、代理証明書をダウンロードします。
[hpciuser@XXXXXXXXXXXX ~]$ myproxy-logon -s portal.hpci.nii.ac.jp -l [HPCI-ID] Enter MyProxy pass phrase: ******** A credential has been received for user <HPCI-ID> in /tmp/x509up_up2000. [hpciuser@XXXXXXXXXXXX ~]$
grid-proxy-info コマンドで、取得した代理証明書の情報を確認します。
[hpciuser@XXXXXXXXXXXX ~]$ grid-proxy-info subject : /C=JP/O=NII/OU=HPCI/CN=user/CN=proxy/CN=proxy/CN=proxy/CN=proxy issuer : /C=JP/O=NII/OU=HPCI/CN=user/CN=proxy/CN=proxy/CN=proxy identity : /C=JP/O=NII/OU=HPCI/CN=user type : RFC 3820 compliant impersonation proxy strength : 2048 bits path : /tmp/x509up_u2000 timeleft : 12:01:15 [hpciuser@XXXXXXXXXXXX ~]$
ログインサーバへのログイン¶
手順の詳細は以下のドキュメントを参照してください。
HPCI ログインマニュアル の「2.4. ログインサーバへログインする手順」
ログインサーバにログインできない場合は以下のドキュメントを参照してください。
HPCI ログインマニュアル の「2.4.2. エラー対応方法」
HPCI 情報共有 CMS の トラブルシューティング - GSI-SSHシステム管理関連
ログインサーバにログインします。以下に東京工業大学のログインサーバ login.t3.gsic.titech.ac.jp にログインする例を示します。
[hpciuser@XXXXXXXXXXXX ~]$ gsissh -p 2222 login.t3.gsic.titech.ac.jp Last login: Tue Jan 24 11:09:13 2023 from xxx.xxx.xxx.xxx -------------------------------------------------------------------- Last modified: 2023-04-06 17:00:00 JST ** Do not run heavy programs like ISVs on login nodes login[01]. ** (The current TSUBAME 3.0 operational status) https://www.t3.gsic.titech.ac.jp/ Twitter:@Titech_TSUBAME -------------------------------------------------------------------- <HPCI-ID>@login1:~>
ログインサーバ から exit すると、 AlmaLinux ターミナルのシェル に戻ります。
<HPCI-ID>@login1:~> exit logout Connection to login.t3.gsic.titech.ac.jp closed. [hpciuser@XXXXXXXXXXXX ~]$