mdx利用手引き(利用者編)

お知らせ

メンテナンスの予定

【毎週金曜日 10:00~】ポータルのメンテナンス
2021/10/10掲載
当面の間、mdx の各ポータルについて機能強化、不具合対応のため、毎週金曜日の 10:00 ~ 12:00 に必要に応じてメンテナンスを行うことがあります。
当該時間帯ではポータルの動作が不安定になる場合があります。ご迷惑をおかけしますが、ご協力お願いいたします。

未実装の機能について

2021年9月22日現在、未実装の機能は以下の機能です。

  • 権限プロファイル(mdx管理者、機関管理者の権限を詳細に制御する機能のため、運用方針と密な関係にあるため運用方針を含め仕様策定中)

  • その他、UI/UX改善に向けた修正は随時行っております。

利用手引き

1. はじめに

本ドキュメントは、mdx利用者(プロジェクトユーザ)向けです。
mdxにおける仮想マシン作成、操作等、システムを利用するのに必要な情報を提供します。
管理者(mdx管理者および機関管理者)向けのドキュメントについては、mdx利用手引き(管理者編) (要認証)をご確認ください。

1.1. プロジェクト申請ポータルとユーザポータルについて

mdxでは、 プロジェクト申請ポータル と、 ユーザポータル 2つのポータルを利用者に提供します。

1.1.1. プロジェクト申請ポータルの機能

プロジェクト申請ポータルでは、主にプロジェクト申請関連作業およびポイント購入申請関連作業を行います。 プロジェクト申請ポータルは、以下の機能を提供します。

  • プロジェクトの申請

  • プロジェクト申請状態の確認および修正

  • プロジェクト申請の取り消し

  • 過去のプロジェクト申請を流用した再申請の実施

  • ポイント購入申請

  • ポイント購入履歴の確認および支払方法の編集

  • ポイント購入申請の取り消し

  • 過去のポイント購入申請を流用した再申請の実施

  • ポイント購入を許可するユーザの追加

  • クレジットカードによるポイント購入決済

1.1.2. ユーザポータルの機能

ユーザポータルでは、主に仮想マシンの操作などを行います。 ユーザポータルは、以下の機能を提供します。

  • プロジェクトに割り当てられた資源の利用状況の確認(ダッシュボード)

  • 仮想マシンの作成(デプロイ)・削除

  • 仮想マシンの操作

  • ISOイメージ管理・アップロード

  • ネットワーク管理

  • ストレージ管理

  • お知らせ・操作履歴

  • プロジェクト管理(プロジェクト情報確認、プロジェクトユーザ追加・削除)

  • プロジェクト権限プロファイル

  • 申請の状況確認

  • ポイント利用状況の確認

  • 問い合わせ

1.2. ポータルで利用するアカウントについて

ポータルは以下のアカウントで利用することができます。

  • 学認アカウント:全国の大学等とNIIが連携して構築する学術認証フェデレーション(https://www.gakunin.jp/)

  • mdxローカルアカウント:学認のアカウントが無い場合のmdx専用アカウント

学認のアカウントが利用できない場合は、管理者と相談の上、mdxローカルアカウントを作成できます。
mdxローカルアカウントの発行についての詳細は ご利用の流れ をご確認ください。
各アカウントでポータルにログインする方法については ポータルへのログイン方法について をご確認ください。

1.3. ポータルの基本情報

1.3.1. ユーザポータルの画面構成について

ユーザポータルは役割によっていくつかのパーツで画面が構成されており、 本ドキュメントではそれらのパーツを以下の図の呼称で定義します。

画面構成
ユーザポータルで行う仮想マシンの操作や各種申請操作は、ヘッダー部に表示されたプロジェクトで行われます。
ヘッダー部の[プロジェクト名(機関名)]をクリックすると、操作するプロジェクトを切り替えることができます。
  • プロジェクトの切り替え画面で[プロジェクト名(機関名)]の右側に警告マーク(△に!マーク)が表示されているプロジェクトは停止もしくは期間終了しているプロジェクトです。

    プロジェクト選択
1.3.2. ポータルのタイムアウト時間

プロジェクト申請ポータル・ユーザポータル共に3時間以上無操作だった場合、ログインセッションを切断します。再度ログインしてください。

1.4. mdxにおける資源の単位について

1.4.1. データ単位
mdxではメモリや仮想ディスク、ストレージの容量を2のべき乗で計算した数値で表示しています。
正確には2のべき乗で計算した数値を表すには2進接頭辞を用いた単位(KiB/MiB/GiBなど)が標準利用されますが、
mdxでは一般的によく見られるSI接頭辞を用いた単位(KB/MB/GBなど)を利用して表示しています。
例.
1[MiB] = 1024[KiB]
 → mdxでは 1[MiB] を 1[MB] と表示
1[GiB] = 1024[MiB]
 → mdxでは 1[GiB] を 1[GB] と表示
1.4.2. CPUパック・GPUパックについて
mdxではCPU・GPU資源の利用単位としてCPUパック・GPUパックという単位を使用します。
CPUパックは仮想CPU数と仮想メモリがセットになったもの、GPUパックは更にGPUがセットになったものです。

1CPUパックおよび1GPUパックで利用できる資源量は以下の通りです。

名称

仮想CPU数

仮想メモリ量

GPU数

CPUパック

1

1548MB(約1.51GB)

0

GPUパック

18

約57.60GB

1

1.5. mdxポイントの基本情報

1.5.1. mdxポイントについて
mdxを利用する際には、 mdxポイント(以後、ポイント)をご購入いただく必要があります。
ポイントに関する基本的な考え方につきましては、 こちら をご確認ください。
1.5.2. ポイントの消費について
ポイントは資源種別によって一時間毎または一日毎にプロジェクトの保有ポイントから消費されます(消費タイミングは 消費ポイント一覧 参照)。
そのときの消費ポイントは資源種別によって2種類の計算方法で求められます。
  • 起動保証仮想マシン用予約分の計算資源 および ストレージ資源(定額制)

    • プロジェクトへの割り当て資源量に対して消費ポイントを算出する

    • ポイントの消費タイミングで、資源種別ごとの単位時間内での割り当て資源量の最大値を用いて算出する
      なお、資源量の変動は プロジェクト編集 などにより発生する
      • 例:24時に消費ポイントの算出がされるとして、仮想ディスクの割り当て資源量が
        その日の16時に100GBから200GBに変動した場合、24時時点での消費ポイントは
        200GBを割り当て資源量として算出する
  • 起動保証/スポット仮想マシン起動分の計算資源(従量制)

    • 起動している仮想マシンの使用資源量と起動時間に対して消費ポイントを算出する

    • 起動時間が単位時間に満たない場合もその時間に応じてポイントが算出・消費される

プロジェクトの消費ポイント量は各資源ごとの計算方式により算出されたポイントの合計となります。
以下にプロジェクトの一例と一日の消費ポイント量の合計について示します。
  • プロジェクト例

    • 割り当て量

      • CPUパック:10、GPUパック1、仮想ディスク:100G、高速:100G、大容量:100G

    • 仮想マシン使用実績

      • 仮想マシンA: 2CPUパック10時間

      • 仮想マシンB: 1GPUパック5時間

  • 一日の消費ポイント量合計:1510ポイント

    注釈

    資源に対する消費ポイントは年度毎に決められており、以下の計算は2023年度の値を元に計算

    • 起動保証仮想マシン用予約分の計算資源 および ストレージ資源:1256ポイント

      • CPUパック:10パック×0.2ポイント×24時間=48ポイント

      • GPUパック:1パック×50ポイント×24時間=1200ポイント

      • 仮想ディスク:100G×0.03ポイント=3ポイント

      • 高速ストレージ:100G×0.03ポイント=3ポイント

      • 大容量ストレージ:100G×0.02ポイント=2ポイント

    • 起動保証/スポット仮想マシン起動分の計算資源:254ポイント

      • CPUパック:2パック×0.2ポイント×10時間=4ポイント

      • GPUパック:1パック×50ポイント×5時間=250ポイント

2. 利用の流れ (quick start)

2.1. プロジェクトの申請をする

  • mdxの利用を開始するためには、利用する目的や利用期間、各担当者の情報を入力・申請(プロジェクト申請)する必要があります。

  • プロジェクト申請は プロジェクト申請ポータル にログインして実施します。

    • プロジェクト申請ポータルへのログイン方法は こちら をご確認ください。

  • [プロジェクトの申請/ Project Application]から必要事項を記入し申請してください。

  • 申請した機関の機関管理者が承認するのを待ちます。

    • 申請状態は、プロジェクト申請ポータルで確認することができます。

  • 手順の詳細は、 こちら をご確認ください。

2.2. プロジェクト利用のためのポイント購入を申請する

  • mdxの資源を利用するために、 プロジェクト申請ポータル でポイントの購入申請を行います。購入申請はプロジェクトが承認後に利用可能となります。

  • [ポイントを購入する / Buy Points]から資源を利用するプロジェクトの[購入する]を選択して、必要事項を記入し申請してください。

  • mdx管理者が承認するのを待ちます。

  • 申請状態は、プロジェクト申請ポータルで確認することができます。

  • 手順の詳細は、 こちら をご確認ください。

2.3. プロジェクトで利用する資源を申請する

  • プロジェクトで利用するmdxの資源の申請を行います。

  • 資源の申請は ユーザポータル にログインして実施します。

    • ユーザポータルへのログイン方法は こちら をご確認ください。

  • [プロジェクト編集申請]から必要な資源量を記入し申請してください。

  • 申請した機関の機関管理者が承認するのを待ちます。

    • 申請状態は、ユーザポータルで確認することができます。

  • 手順の詳細は、 こちら をご確認ください。

2.4. 仮想マシンを作成・起動する

  • 仮想マシンの操作はすべてユーザポータルで行います。

  • 仮想マシンは、仮想マシンテンプレート、もしくはisoイメージから作成できます。仮想マシンテンプレートを利用することでシステム共通の設定を省略することができます。

    • 仮想マシンテンプレートを使用した場合、リモートからアクセスするための公開鍵が必要になります。ご自身で準備してください。

  • 仮想マシン作成後、作成した仮想マシンを起動します。

  • 仮想マシンの状態等は、ユーザポータルで確認することができます。

  • 手順の詳細は、 こちら をご確認ください。

2.5. ネットワークの設定をする

  • 作成した仮想マシンはデフォルトでは外部からアクセスできません。外部(Internet)からの通信は安全のためすべて遮断されています。

  • ユーザポータル にて、DNATおよび、ACLの設定をします。

  • ネットワークの設定は、利用者の責任にて行ってください。

    • 設定を誤ると、仮想マシンが攻撃対象となり重大なセキュリティインシデントが発生する場合があります。ご注意ください。

  • 設定の際に必要な情報である仮想マシンのローカルIPアドレスは、ユーザポータルの「仮想マシン」ページのサービスネットワーク項目にてご確認ください。

  • 手順の詳細は、 こちら をご確認ください。

2.6. 仮想マシンを利用する

  • ご自身の端末から、設定したグローバルIPアドレスに、登録したキーペアの秘密鍵を使ってアクセスして、仮想マシンを利用します。

3. ポータルへのログイン方法について

このページでは、各ポータルでの学認およびmdxローカルアカウントを利用したログイン方法について説明します。

3.1. 学認アカウントを利用したログイン方法

  1. 各ポータルログインページの[学術認証フェデレーション「学認(GakuNin)」でログイン]のメニューにあるプルダウン(下向き矢印のアイコン)から
    所属する機関を選択した状態で[選択]をクリックします。
    • プロジェクト申請ポータル

      プロジェクト申請ポータルログイン画面
    • ユーザポータル

      ユーザポータルログイン画面
  2. 所属する機関ごとに用意された所定の認証処理を実施します。

  3. 本サービスにユーザ情報を送信することを同意するか確認するための画面が表示されます。
    内容を確認のうえ同意方法を選択して[同意]をクリックします。
    mdx認証 サービス同意画面
  4. メールによる本人確認を行います。メールアドレスのドメインの末尾が「*.ac.jp」, 「*.go.jp」のいずれかであり、かつ自身が受け取り可能なメールアドレスを入力して[Send Token]をクリックします。

    • メールによる本人確認の結果は実施から30日間保持されます。30日間を過ぎますと、再度本人確認が必要となります。

    • 所属機関によっては手順3のあとに本画面が表示されず、手順6のポータルTOP画面が表示される場合があります。その場合は手順4, 5をスキップしてください。

    本人確認・メールアドレス入力画面
  5. 入力したメールアドレスに対して認証用メールが送信されますので以下のいずれかの対応を行います。

    • 受信したメールに記載された[Token]の文字列をコピーしポータルの[Token]入力欄に貼り付け[Verify Token]をクリックします。

      本人確認・トークン入力画面
    • 受信したメールに記載されたURLをクリックします。

  6. 認証が完了し以下のポータルのTOP画面が表示されれば、ログイン完了となります。

    • プロジェクト申請ポータル

      プロジェクト申請ポータルTOP画面
    • ユーザポータル

      ユーザポータルTOP画面

3.2. mdxローカルアカウントを利用したログイン方法

mdxローカルアカウントでログインする場合には、二要素認証の利用が必要です。
スマートフォン、PCから二要素認証を利用する方法は3.4項にて説明します。
  1. 各ポータルログインページの[mdxアカウントでログイン / 学認をお持ちでない方]のメニューにあるmdx認証用ログインボタンをクリックします。

    • プロジェクト申請ポータル:[mdxローカル認証/ mdx Local Login]より

      プロジェクト申請ポータルログイン画面
    • ユーザポータル:[MDXローカル認証]より

      ユーザポータルログイン画面
  2. mdxローカルアカウントのユーザ名とパスワードを入力して、[Login]をクリックします。

    mdx認証 ユーザ情報入力
  3. 続いて二要素認証のサービスを利用して認証を行います。

    mdx認証 トークン入力
    • 初めて認証を行う場合には[Token code]欄に任意の6桁の数字を入力して[Login]をクリックし、次の手順に進みます。

    • 2回目以降の認証の場合には二要素認証のサービス上でmdxのアカウントに表示される6桁の数字を[Token code]欄に入力して[Login]をクリックして、手順7に進みます。

  4. [Register a new Token]をクリックします。

    mdx認証 新規トークン登録へ
  5. 表示されたQRコードを二要素認証サービスから読み取るか、[manually enter code]部に表示される16桁のコードを二要素認証サービス上で入力します。
    二要素認証サービスにmdxのアカウントが登録され、それに紐づく6桁の数字が表示されるので、その数字を[Token code]に入力して[Register]をクリックします。
    mdx認証 QRコード表示
  6. mdxのサービスにユーザ情報を送信することを同意するか確認するための画面が表示されます。内容を確認のうえ同意方法を選択して[同意]をクリックします。

  7. ポータルのTOPページが表示されれば認証は完了です。

3.2.1. mdxローカルアカウントのパスワード変更方法

mdxローカルアカウントを利用している場合はユーザポータルからログイン時のパスワードを変更することができます。

  1. 画面右上ヘッダー部のユーザ名の部分をクリックします。

  2. 表示された選択肢から[パスワード変更]をクリックします。

    パスワード変更画面への移動
  3. 現在のパスワードと新しいパスワードを入力します。

  4. 入力したら[保存]をクリックすれば、パスワードの変更は完了です。

    パスワード変更画面

3.3. ポータルからのログアウト方法

各ポータルからログアウトする方法は以下の通りです。

  • プロジェクト申請ポータル:画面右上のログアウトボタンをクリックします。

    プロジェクト申請ポータル・ログアウト
  • ユーザポータル:

    ユーザポータル・ログアウト
    1. 画面右上ヘッダー部のユーザ名の部分をクリックします。

    2. 表示された選択肢から[ログアウト]をクリックします。

3.4. 二要素認証について

mdxローカルアカウントのログインにはワンタイムパスワードによる二要素認証(TOTP認証)を利用します。
mdxローカルアカウントのIDとパスワードによる認証に加えて、ポータルにアクセスするために使っている
デバイスとは別のデバイス、例えばスマートフォンで発行したワンタイムパスワードを利用することで、
本人確認を確実に行いセキュリティの強度を高めています。
ワンタイムパスワードを発行するサービスはどのサービスを使っていただいても問題ありません。
既にmdx以外のサービスでワンタイプパスワード発行サービスをご利用の方は、そのサービスをご利用ください。
ここでは、初めてワンタイプパスワード発行サービスをご利用になる方に向けに、一例を紹介します。
3.4.1. スマートフォンの場合
Google PlayストアやApp Storeなど各種ストアから二要素認証用のアプリケーションをインストールして利用できます。
Google認証システム、 Microsoft Authenticatorなどがあります。
アプリをインストールしたら、 mdxローカルアカウントを利用したログイン方法 に従ってアプリが利用できるようにしてください。
3.4.2. PCの場合
スマートフォンが利用できない場合など、PCでもワンタイムパスワードを発行することが可能です。
ただし、ポータルにアクセスしているPCと同じPCでワンタイムパスワードを発行すると、PC盗難・紛失や乗っ取られた場合、
二要素認証も突破されてしまうのでご注意ください。
Google Chromeブラウザの拡張機能やAuthy(URL: https://authy.com/ )などのアプリケーションを利用できます。
本マニュアルではGoogle Chromeブラウザの拡張機能である認証プラグインの利用方法を説明します。
  1. Google Chromeブラウザから こちら のURLにアクセスします。

  2. [Chromeに追加]をクリックします。

    認証プラグイン追加画面
  3. ポップアップウインドウが出たら[拡張機能を追加]をクリックするとプラグインの追加は完了です。

    認証プラグイン追加確認
  4. 二要素認証を利用する場合は、二要素認証用のQRコードが表示されている画面で
    Google Chromeブラウザのメニューバーから拡張機能ボタン(パズルのピースのようなボタン)をクリックします。
  5. 表示されたプラグインから[認証]をクリックします。このとき利用許可を確認するポップアップが表示された場合は[許可]をクリックします。

    認証プラグインの選択
  6. 認証プラグインのウインドウが表示されますので、右上のスキャンボタンをクリックします。

    認証プラグイン、スキャン開始
  7. 画面が白みがかってスキャン方法のチュートリアルが表示されます。
    表示内容にしたがって今回認証を行うページに表示されているQRコードをマウスカーソルでドラッグしながら囲みます。
    認証プラグイン、スキャン
  8. QRコードが確認できたら画面上部にポップアップでアカウント追加されたことが通知されます。以上でアカウントの追加は完了です。

    認証プラグイン、アカウント追加完了
  9. 再度メニューバーのプラグインから認証のプラグインを起動すると、追加されたアカウント名とワンタイムパスワードが表示されます。
    表示されたワンタイムパスワードを認証を行うページの入力欄に入力すると認証処理を進めることができます。
    認証プラグイン、ワンタイムパスワード入力

4. プロジェクト申請の流れ

プロジェクトの申請はプロジェクト申請ポータルから行います。
また、プロジェクトの申請が承認された後のプロジェクトに対する操作はユーザポータルから実施します。

4.1. プロジェクトの申請を行う

  1. プロジェクト申請ポータルにログインします。

  2. 画面左上にある[プロジェクトの申請/ Project Application]をクリックします。

  3. プロジェクト申請に必要な項目を入力します。

    プロジェクト申請画面
    • [必須/ required]と記載のある項目は必ず入力してください。

    • [詳細/ detail]をクリックすると項目ごとの説明を参照できます。

    • 入力項目の内容については プロジェクトの申請内容詳細 を参照してください。

  4. 入力が完了したら申請画面最下部の[申請/ Apply]をクリックします。

    • もし入力内容に不備がある場合は申請ボタンの上にエラーメッセージが表示されます。
      また、不備がある項目名が赤色で表示されますので、修正のうえ再度[申請/ Apply]をクリックしてください。
  5. プロジェクト申請一覧画面に戻ると、申請したプロジェクトのステータスが[申請中/ applied]で表示されます。
    以上でプロジェクト申請処理は完了です。
    プロジェクト申請リスト画面・申請完了

プロジェクトが承認されると、そのプロジェクトのユーザとしてユーザポータルへのログインが可能となります。 プロジェクトの申請は以下のような方法でも申請ができます。

4.1.1. プロジェクトの申請を取り下げて内容の修正・再申請を行う

プロジェクトの 取戻機能 により取り下げを行った後、 修正機能 を利用することで再申請を行うことができます。

4.1.2. 過去のプロジェクト申請を流用して申請を行う

プロジェクトの 複写機能 を利用し、却下されたプロジェクトや承認済みのプロジェクトの申請内容を流用および一部修正をして申請を行うことができます。

その他のプロジェクト申請に関連した機能の詳細に関しては こちら をご確認ください。

4.2. プロジェクトにユーザを追加する

承認後のプロジェクトに共同でプロジェクトを運営するユーザを追加します。作業はユーザポータル上で行います。

  1. ユーザポータルにログインします。

  2. 上部メニューから[プロジェクト]をクリックします。

    プロジェクトタブへの移動
  3. サイドメニューから[ユーザ]をクリックします。

    プロジェクトユーザ画面へ移動
  4. メイン画面リスト上部の[+プロジェクトユーザ]をクリックします。

    プロジェクトユーザ追加開始
  5. 必要な情報を入力して、完了したら[追加]をクリックします。

    プロジェクトユーザ追加画面
    • 認証基盤:ユーザが利用しているアカウントを学認、もしくはmdxローカルアカウント(mdx認証基盤)のいずれかで指定します。

    • 学認IDもしくはmdx独自ID:追加するユーザのIDを入力してください。(mdxでは、各IdPが提供するeduPersonPrincipalNameをIDとしています)
      追加するユーザのIDは、追加するユーザご自身で調べていただく必要があります。
      追加するユーザご自身に、申請ポータルにログインいただき、右上に表示されるIDを確認するようお伝えください。
      追加するユーザがmdxローカルアカウント(mdx認証基盤)をご利用の場合は、@mdx.jpの@以前の文字列を入力してください。
    • メールアドレス:ユーザの連絡先メールアドレス

これでユーザの追加は完了です。
その他の機能は プロジェクトに所属するユーザの確認と変更を行う をご確認ください。

注:mdxローカルアカウントを利用する場合にはmdx管理者により同IDのアカウントが既にmdxのシステムに登録されている必要があります

5. ポイント購入申請の流れ

ポイント購入申請は、プロジェクトの承認後、プロジェクトの申請者もしくは申請者からポイント購入申請を行うことを許可されたユーザがプロジェクト申請ポータルから行います。
いずれかのプロジェクトでポイント購入が可能なユーザが申請ポータルにログインした場合、利用したい機能を選択する画面が表示されます。
利用機能選択画面

5.1. ポイント購入申請を行う

  1. いずれかの操作によりポイントを購入するプロジェクトの一覧画面に移動します。

    • 利用する機能を選択する画面で「ポイントを購入する」右の[移動する/ Move to]をクリックします。

    • 「プロジェクト申請一覧/ Project Application List」の画面で[ポイントを購入する / Buy Points]をクリックします。

  2. ポイントを購入するプロジェクトのアクションの[購入する]をクリックします。

  3. ポイント購入申請に必要な項目を入力します。

    ポイント購入申請画面
    • [必須/ required]と記載のある項目は必ず入力してください。

    • ポイント購入申請の入力項目の詳細は ポイント購入申請内容詳細 を参照してください。

  4. 入力が完了したら申請画面最下部の左にある[申請内容を確認する/ Confirm the application]をクリックします。

    • もし、入力内容に不備がある場合は申請ボタンの上に申請ボタンの上にエラーメッセージが表示されます。
      また、不備がある項目名が赤色で表示されますので、修正のうえ再度[申請内容を確認する/ Confirm the application]をクリックしてください。
  5. ポイント購入申請の内容を確認して、問題が無ければ[ポイントの購入を申請する / Apply to purchase points]をクリックしてください。

  6. ポイント購入履歴画面にて、申請したポイント購入申請のステータスが[申請中]で表示されます。
    以上でポイント購入申請処理は完了です。
    ポイント購入履歴画面・申請完了

ポイント購入申請は以下のような方法でもできます。

5.1.1. ポイント購入申請を取り下げて内容の修正・再申請を行う

ポイント購入履歴から 申請の取り下げ を行った後、 保存された申請を 復元する ことで再度申請を行うことができます。

5.1.2. 過去のポイント購入申請を複製して申請を行う

ポイント購入履歴から承認済の過去のポイント購入申請の内容を 複製 して、一部内容を修正のうえ申請を行うことができます。

5.2. ポイント購入可能なユーザを追加する

プロジェクトに対してポイント購入を許可するユーザは新規プロジェクト申請時に指定可能なほか、
プロジェクトの申請者により既存のプロジェクトに後から追加することも可能です。
詳細は ポイント購入を許可するユーザの操作 を参照してください。

5.3. 購入ポイントの決済処理を行う(クレジットカード決済のみ)

  1. いずれかの操作によりポイント購入履歴の画面に移動します。

    • 利用する機能を選択する画面で「ポイントの購入履歴を見る / Confirm point purchase history」右の[移動する/ Move to]をクリックします。

    • 「プロジェクト申請一覧/ Project Application List」の画面で[ポイントの購入履歴を見る / Confirm point purchase history]をクリックします。

  2. 決済処理を行うポイント購入申請の行の[決済情報入力 / Enter payment info]をクリックします。

  3. ポイント決済画面に遷移するため、ご利用内容を確認して、問題が無ければ、クレジットカード決済申し込みフォームに必要情報を入力します。

  4. 入力画面の下部の[お申し込み内容確認]をクリックします。

6. 資源の申請の流れ

プロジェクトで利用する資源の申請はユーザポータルから行います。
プロジェクトでは、ここで申請した資源量の範囲で、仮想マシンを運用します( スポット仮想マシン を除く)。

6.1. 資源申請を行う

  1. ユーザポータルにログインします。

  2. 上部メニューから[プロジェクト]をクリックします。

    プロジェクトタブへの移動
  1. メイン画面リスト上部の[プロジェクト編集申請]をクリックします。

    プロジェクト編集開始
  2. 必要な情報を入力して、完了したら[申請]をクリックします。

    プロジェクト編集申請画面
    • 資源量の詳細

    • 本申請にてプロジェクト期間の終了日についても変更が可能です。

これで資源量の申請は完了です。申請が承認されれば現在のプロジェクトに申請した資源が割り当てられます。
ただし、申請した資源量が不足している場合には、申請量の一部、もしくは割り当てられない場合があります。詳しくは 資源再配分機能 のページをご確認ください。
資源量を変更したい場合には、再度プロジェクト編集申請を行うことで変更が可能です。

その他プロジェクト関連の確認・変更に関する機能は プロジェクトの確認と変更に関する機能 のページをご確認ください。

6.2. 資源申請の状況を確認する

申請が承認されたかどうかはユーザポータル内 申請状況 から確認できます。

7. 仮想マシン利用の流れ

仮想マシンに関する操作はすべてユーザポータルから実施します。

7.1. 資源量の確認

仮想マシンを作成するためには、作成する仮想マシン分の資源が残っている必要があります。 ダッシュボード画面にて、仮想マシンの電源状態や、資源割当状況などが確認できます。

  • ダッシュボード

    ユーザポータルにログインするとはじめにダッシュボードの画面が表示されます。

ダッシュボード

7.2. 仮想マシンの作成と起動

仮想マシンを仮想マシンテンプレート、もしくはご自身で用意いただいたISO形式のマシンイメージから作成および起動までの手順を説明します。

7.2.1. 仮想マシンテンプレートを利用して、仮想マシンを作成する
  1. 上部メニューから[仮想マシン]をクリックします。

  2. サイドメニューから[デプロイ]をクリックします。

仮想マシン・コントロール画面1
  1. 表示された仮想マシンのテンプレート一覧から、OS名・バージョンが定義された任意のテンプレートを選択し
    リスト上部の[デプロイ]をクリックします。
仮想マシン・デプロイ画面
  1. ハードウェアのカスタマイズ画面にて必要事項を入力します。入力が完了したら[デプロイ]をクリックします。

    • 詳細は デプロイ時の設定項目 をご確認ください。

    • 仮想マシンへのログイン時に必要となりますので表示された[ログインユーザ名]を手元に控えておいてください。

仮想マシン・ハードウェアカスタマイズ画面
  1. 画面上部にリクエストを受け付けた旨のメッセージが表示されます。

    • リクエストの完了までには環境に応じて数分を要します。

    • リクエストの進捗状況につきましてはメッセージに記載の[操作履歴]画面へのリンクより確認が可能です。

    • リクエストの受付に失敗した旨のエラーメッセージが表示された場合には、機関の管理者までお問い合わせください。

リクエスト受付
  1. 操作履歴画面にて自身の行った操作の結果をステータス欄で確認します。

    • [Completed]の場合は、次の手順に進みます。

    • [Failed]の場合は、項目左の[>]をクリックすることで失敗の詳細を確認することができますので、修正のうえ再申請を行ってください。

リクエスト完了
  1. 上部メニューから[仮想マシン]をクリックして仮想マシンのコントロール画面に戻ります。

  2. メイン画面に仮想マシンの一覧が表示されますので、一覧から今作成した仮想マシンを検索・選択します。

  3. ([デプロイ後に起動する]を選択していない場合)リスト上部の[ACTION]から、[電源] > [起動]の順でクリックし、確認メッセージで[はい]をクリックします。

コントロール画面・仮想マシン起動
  1. 仮想マシンの起動状態を以下で確認します。

  • リスト上部の[CONSOLE]をクリックすると、ブラウザの別のタブでコンソール画面が表示されますので
    仮想マシンの起動状況を確認することができます。
    コンソール画面にユーザログイン画面が表示されることを確認します。
  • コンソール画面で仮想マシンが起動後に、ユーザポータル側で画面右側のサマリにて
    仮想マシンのIPアドレス(サービスネットワーク)が取得できていることを確認します。
  1. 上記が確認できましたら以上で起動処理は完了となります。

7.2.2. ISOイメージを指定して、仮想マシンを作成し、OSをインストールする
  1. 上部メニューから[仮想マシン]をクリックします。

  2. サイドメニューから[ISOイメージ]をクリックします。

仮想マシン・コントロール画面2
  1. 表示されたISOイメージの一覧に利用したいISOイメージがアップロードされているかを確認します。
    アップロードされていない場合にはリスト上部[UPLOAD]をクリックします。
ISOイメージ・アップロード
  1. [参照]からアップロードしたいISOイメージを選択し、[アップロード]をクリックします。
    アップロードの進捗は操作履歴画面から確認できます。
ISOイメージ・アップロード実行

注釈

本システムではEFI(UEFI)対応のISOイメージのみサポートしています。
EFIに対応していないISOイメージは認識されませんのでご注意ください。
  1. アップロードが完了したらサイドメニューから[デプロイ]をクリックします。

ISOイメージ画面からデプロイ選択
  1. 表示された仮想マシンのテンプレート一覧から、"ISO_image"を選択しリスト上部の[デプロイ]をクリックします。

  2. ハードウェアのカスタマイズ画面にて必要事項を入力します。入力する項目の詳細は5.2.1項の4.で掲載したページをご確認ください。

デプロイ新規・ハードウェアカスタマイズ
  1. 必要事項の入力が完了したら[次へ]をクリックします。

  2. ゲストOSの選択画面にて必要事項を入力します。入力する項目の詳細は5.2.1項の4.で掲載したページをご確認ください。

    • 任意のOSバージョンが選択できない場合には、テンプレートのハードウェアバージョンが影響している可能性があります。その際には機関管理者までお問い合わせください。

デプロイ新規・ゲストOS1 デプロイ新規・ゲストOS2
  1. 必要事項の入力が完了したら[デプロイ]をクリックします。デプロイの進捗は操作履歴画面から確認できます。

  2. デプロイが完了したら、上部メニューから[仮想マシン]をクリックしてコントロール画面に移動します。

  3. 仮想マシンのリストから、デプロイした仮想マシンを選択した状態で、リスト上部の[MOUNT]をクリックします。

  4. プルダウンメニューから仮想マシンにインストールするISOイメージファイルを選択して[はい]をクリックします。

ISOイメージのマウント
  1. リスト上部の[ACTION]から、[電源] > [起動]の順でクリックし、確認メッセージで[はい]をクリックします。

  2. リスト上部の[CONSOLE]をクリックし、ブラウザの別のタブにコンソール画面を表示させます。

  3. コンソール画面からOSごとにインストール処理を行います。

  4. インストールが完了後、ユーザポータル側で画面右側のサマリにて仮想マシンのIPアドレス(サービスネットワーク)が取得できていることを確認します。

  5. 上記が確認できましたら以上で起動処理は完了となります。

7.3. 仮想マシンにアクセスするネットワークの情報を設定する

仮想マシンにアクセスするためには、仮想マシンにアクセスするネットワークについて設定を行う必要があります。

7.3.1. ACL(アクセスコントロールリスト)の設定
外部(Internet)からの通信は初期状態では、全て遮断状態です。許可したい通信のみ設定するようお願いします。
ACL設定はセキュリティに関わる重要な設定項目です。各利用者のセキュリティ管理は利用者の自己責任となります。
設定の影響を理解した上で十分ご注意の上設定いただくようお願いします。

詳細は ACLの設定方法 をご確認ください。

7.3.2. DNAT(デスティネーションNAT)の設定
プロジェクトに割り当てられたグローバルIPv4アドレスへの通信を、仮想マシンについたプライベートIPv4アドレスに転送し、
プロジェクト外部(インターネットなど)と仮想マシンが直接通信できるようにします。
本設定と合わせて、転送先アドレスへの通信を許可する設定をACLのページで行う必要がありますのでご注意ください。

詳細は DNATの設定方法 をご確認ください。

7.4. 仮想マシンにアクセスする

デプロイ時に設定されていたログインユーザ名およびデプロイ時に入力した公開鍵とペアになる秘密鍵を用いて仮想マシンにログインします。
アクセス時は自身のターミナルから仮想マシンのアドレスにsshで接続します。
7.4.1. 他のメンバが管理する仮想マシンにアクセスする場合
仮想マシンの作成者に問い合わせて、アクセスに必要な情報を入手してください。
利用形態によって必要な情報は異なります。詳細はプロジェクト管理者にご確認ください。
一般的には以下のような情報が必要です。
  • 仮想マシンのグローバルIPアドレス

  • ユーザ名

  • 公開鍵認証でない場合、パスワード

7.5. 高速内部ストレージ、大容量ストレージをマウントする

仮想マシンテンプレートでは、lustreクライアントを設定することで、高速内部ストレージは「/fast」、大容量ストレージは「/large」からアクセスして利用可能です。
一方、仮想マシンをISOイメージから作成した場合や、Lustreがインストールされていない仮想マシンテンプレートを利用した場合に、
高速内部ストレージ、大容量ストレージを利用するためには、lustreクライアントソフトウェアのインストールと設定が必要です。
本項ではlustreクライアントによるファイルシステムの設定方法を記載します。
7.5.1. Ubuntu20.04, Ubuntu22.04 仮想マシンテンプレートの場合
  1. OFEDドライバのインストール

    インストール済みのため、必要ありません。

  2. lustre_clientのインストール

    インストール済みのため、必要ありません。

  3. Lustre Clientの設定

  • /etc/lnet.conf.dnn の設置と修正

    /etc/lnet.conf.ddn.j2 を設置します。
    $ sudo mv /etc/lnet.conf.ddn.j2 /etc/lnet.conf.ddn
    
    設定ファイルを修正します。

    修正箇所は「- net type: o2ib10」と「- net type: tcp10」のブロック内の、nid のIP アドレスとinterfaces のデバイス名です。
    {{ ib_src_ipaddr }}、{{ tcp_src_ipaddr }} を「ストレージネットワーク1」のIPv4アドレスに置換します。
    {{ ib_netif }}、{{ tcp_netif }} を「ストレージネットワーク1」のネットワークインタフェース(ens*)に置換します。
    「ストレージネットワーク1」のインタフェースのデバイス名の確認方法は、仮想マシンにてターミナルを開き、
    「ip -br addr」コマンドを実行いただくことで確認可能です。
    上記コマンドの出力結果から「ストレージネットワーク1」のIPアドレスが表示されるため、
    対象行の1カラム目に出力している項目が、ネットワークインタフェース名になります。
    例:「Storage Network 1」のIPアドレスが「10.134.82.79/21」であった場合。
    以下の実行例では、「ens194」が「ストレージネットワーク1」のネットワークインタフェース名になります。
    $ ip -br addr
    lo               UNKNOWN        127.0.0.1/8 ::1/128
    ens163           UP             10.aaa.bbb.ccc/21 2001:2f8:1041:223:9ba2:6ea9:3fd4:d289/64 fe80::d707:ca60:98a:cfb2/64
    ens194           UP             10.134.82.79/21 fe80::698:e5e1:3574:f2e6/64
    

    以下にIPアドレスが「10.134.82.79」、ネットワークインタフェース名が「ens194」の場合の変更例を記載します。

    修正前:

    - net type: o2ib10
      local NI(s):
        - nid: {{ ib_src_ipaddr }}@o2ib10
          status: up
          interfaces:
              0: {{ ib_netif }}
    - net type: tcp10
      local NI(s):
        - nid: {{ tcp_src_ipaddr }}@tcp10
          status: up
          interfaces:
              0: {{ tcp_netif }}
    

    修正後:

    - net type: o2ib10
      local NI(s):
        - nid: 10.134.82.79@o2ib10
          status: up
          interfaces:
              0: ens194
    - net type: tcp10
      local NI(s):
        - nid: 10.134.82.79@tcp10
          status: up
          interfaces:
              0: ens194
    
  • /etc/fstab を修正

    ストレージネットワークのタイプを「PortGroup」を選択した場合はlustre (tcp)の2行、「SR-IOV」を選択した場合はlustre (rdma)の2行のコメントアウトを解除します。

    以下にストレージネットワークのタイプ「SR-IOV」を選択した場合を記載します。

    修正前:

    # lustre (tcp)
    #172.17.8.40@tcp10:172.17.8.41@tcp10:/fast      /fast           lustre  network=tcp10,flock,noauto,defaults 0 0
    #172.17.8.56@tcp10:172.17.8.57@tcp10:/large     /large          lustre  network=tcp10,flock,noauto,defaults 0 0
    # lustre (rdma)
    #172.17.8.40@o2ib10:172.17.8.41@o2ib10:/fast    /fast           lustre  network=o2ib10,flock,noauto,defaults 0 0
    #172.17.8.56@o2ib10:172.17.8.57@o2ib10:/large   /large          lustre  network=o2ib10,flock,noauto,defaults 0 0
    

    修正後:

    # lustre (tcp)
    #172.17.8.40@tcp10:172.17.8.41@tcp10:/fast      /fast           lustre  network=tcp10,flock,noauto,defaults 0 0
    #172.17.8.56@tcp10:172.17.8.57@tcp10:/large     /large          lustre  network=tcp10,flock,noauto,defaults 0 0
    # lustre (rdma)
    172.17.8.40@o2ib10:172.17.8.41@o2ib10:/fast    /fast           lustre  network=o2ib10,flock,noauto,defaults 0 0
    172.17.8.56@o2ib10:172.17.8.57@o2ib10:/large   /large          lustre  network=o2ib10,flock,noauto,defaults 0 0
    
  • /etc/modprobe.d/lustre.conf を修正

    この修正は、ストレージネットワークのタイプに「PortGroup」を選択した場合に修正必要になります。
    ストレージネットワークのタイプに「SR-IOV」を選択した場合は、修正必要ありません。

    修正前:

    options lnet lnet_peer_discovery_disabled=1
    options lnet lnet_transaction_timeout=100
    # lustre (tcp)
    #options ksocklnd rx_buffer_size=16777216
    #options ksocklnd tx_buffer_size=16777216
    

    修正後:(PortGroup利用時のみ修正)

    options lnet lnet_peer_discovery_disabled=1
    options lnet lnet_transaction_timeout=100
    # lustre (tcp)
    options ksocklnd rx_buffer_size=16777216
    options ksocklnd tx_buffer_size=16777216
    
  • Lustreクライアントを起動設定します。

    $ sudo systemctl enable lustre_client
    $ sudo reboot
    

    再起動後、/large と /fast がlustreストレージがマウントされます。

7.5.2. 仮想マシンテンプレートを使用しない場合 (Rocky Linux 8)

OSは Rocky Linux release 8.10 (Rocky-8.10-x86_64-dvd1.iso: 公式ページ などから入手)を前提としています。

  1. OFED ドライバインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-23.10-3.2.2.0-rhel8.10-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    # mount -o ro,loop MLNX_OFED_LINUX-23.10-3.2.2.0-rhel8.10-x86_64.iso /mnt
    # cd /mnt
    # ./mlnxofedinstall --guest
    
    なお、OS のパッケージ不足が判明した場合は、当該パッケージをOS のISO イメージから入手して適用します
    (インターネット公開された最新パッケージを適用しない)。
  2. Lustre Client ソース・設定ファイルひな形入手
    DDN 社が提供するLustre Client のソースプログラムファイルと、Lustre Client 用の各種設定ファイルのひな形を
    mdx 内からのみアクセス可能なWeb サーバから入手します。
    • lustre-2.14.0_ddn149.tar.gz

    • lustre_config_rocky_rdma.tgz(rdma を使用する場合)

    • lustre_config_rocky_tcp.tgz(tcp を使用する場合)

    # wget http://172.16.2.26/lustre-2.14.0_ddn149.tar.gz
    # wget http://172.16.2.26/lustre_config_rocky_rdma.tgz
    # wget http://172.16.2.26/lustre_config_rocky_tcp.tgz
    
  3. Lustre Client パッケージビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    # dnf install gcc-gfortran libtool libmount-devel libyaml-devel json-c-devel rpm-build kernel-rpm-macros kernel-abi-whitelists
    # tar zxf lustre-2.14.0_ddn149.tar.gz
    # cd lustre-2.14.0_ddn149
    # sh autogen.sh
    # ./configure --with-linux=/usr/src/kernels/`uname -r` --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    # make rpms
    
  4. Lustre Client パッケージインストール
    作成したパッケージの内2つをインストールします。
    # rpm -ivh kmod-lustre-client-2.14.0_ddn149-1.el8.x86_64.rpm lustre-client-2.14.0_ddn149-1.el8.x86_64.rpm
    
  5. Lustre Client 設定ファイル配備
    入手した設定ファイルのひな形を利用して、各種ファイルの修正・配備を行います。
    • /etc/fstab
      /etc/fstab にLustre Filesystem のエントリを追加します。
      • SR-IOV を使用する場合は、以下の行をfatab に追加します。

        172.17.8.40@o2ib10:172.17.8.41@o2ib10:/fast /fast lustre network=o2ib10,flock,noauto,defaults 0 0
        172.17.8.56@o2ib10:172.17.8.57@o2ib10:/large /large lustre network=o2ib10,flock,noauto,defaults 0 0
        
      • 通常の仮想NIC(VMXNET3)を使用する場合は、以下の行をfstab に追加します。

        172.17.8.40@tcp10:172.17.8.41@tcp10:/fast /fast lustre network=tcp10,flock,noauto,defaults 0 0
        172.17.8.56@tcp10:172.17.8.57@tcp10:/large /large lustre network=tcp10,flock,noauto,defaults 0 0
        
    • /etc/lnet.conf.ddn
      etc/lnet.conf.ddn を/etc/lnet.conf.ddn として複写し、自身の環境に合わせて修正します。
      修正箇所は「- net type: o2ib10」と「- net type: tcp10」のブロック内の、nid のIP アドレスとinterfaces のデバイス名です。
      「ストレージネットワーク1」のインタフェースのデバイス名の確認方法は、仮想マシンにてターミナルを開き、
      「ip -br addr」コマンドを実行いただくことで確認可能です。
      上記コマンドの出力結果から「ストレージネットワーク1」のIPアドレスが表示されるため、
      対象行の1カラム目に出力している項目が、ネットワークインタフェース名になります。
      例:「Storage Network 1」のIPアドレスが「10.134.82.79/21」であった場合。
      以下の実行例では、「ens194」が「ストレージネットワーク1」のネットワークインタフェース名になります。
      $ ip -br addr
      lo               UNKNOWN        127.0.0.1/8 ::1/128
      ens163           UP             10.aaa.bbb.ccc/21 2001:2f8:1041:223:9ba2:6ea9:3fd4:d289/64 fe80::d707:ca60:98a:cfb2/64
      ens194           UP             10.134.82.79/21 fe80::698:e5e1:3574:f2e6/64
      

      以下にIPアドレスが「10.134.82.79」、デバイス名が「ens194」の場合の変更例を記載します。

      修正前:

      - net type: o2ib10
        local NI(s):
          - nid: 172.17.8.32@o2ib10
            status: up
            interfaces:
                0: enp59s0f0
      - net type: tcp10
        local NI(s):
          - nid: 172.17.8.32@tcp10
            status: up
            interfaces:
                0: enp59s0f0
      

      修正後:

      - net type: o2ib10
        local NI(s):
          - nid: 10.134.82.79@o2ib10
            status: up
            interfaces:
                0: ens194
      - net type: tcp10
        local NI(s):
          - nid: 10.134.82.79@tcp10
            status: up
            interfaces:
                0: ens194
      
    • /etc/sysconfig/lustre_client
      etc/sysconfig/lustre_client を/etc/sysconfig/lustre_client に複写します。
    • /etc/modprobe.d/lustre.conf
      etc/modprobe.d/lustre.conf を/etc/modprobe.d/lustre.conf に複写します。
    • /etc/init.d/lustre_client
      etc/init.d/lustre_client を/etc/init.d/lustre_client に複写します。
    • /usr/lib/systemd/system/lustre_client.service
      usr/lib/systemd/system/lustre_client.service を/usr/lib/systemd/system/lustre_client.service に複写します。
7.5.3. 仮想マシンテンプレートを使用しない場合 (Rocky Linux 9)

OSは Rocky Linux release 9.4 (Rocky-9.4-x86_64-dvd1.iso: 公式ページ などから入手)を前提としています。

  1. OFED ドライバインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-24.04-0.7.0.0-rhel9.4-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    # mount -o ro,loop MLNX_OFED_LINUX-24.04-0.7.0.0-rhel9.4-x86_64.iso /mnt
    # cd /mnt
    # ./mlnxofedinstall --guest
    
    なお、OS のパッケージ不足が判明した場合は、当該パッケージをOS のISO イメージから入手して適用します
    (インターネット公開された最新パッケージを適用しない)。
  2. Lustre Client ソース・設定ファイルひな形入手
    DDN 社が提供するLustre Client のソースプログラムファイルと、Lustre Client 用の各種設定ファイルのひな形を
    mdx 内からのみアクセス可能なWeb サーバから入手します。
    • lustre-2.14.0_ddn149.tar.gz

    • lustre_config_rocky_rdma.tgz(rdma を使用する場合)

    • lustre_config_rocky_tcp.tgz(tcp を使用する場合)

    # wget http://172.16.2.26/lustre-2.14.0_ddn149.tar.gz
    # wget http://172.16.2.26/lustre_config_rocky_rdma.tgz
    # wget http://172.16.2.26/lustre_config_rocky_tcp.tgz
    
  3. Lustre Client パッケージビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    # dnf install gcc-gfortran libtool keyutils-libs-devel libmount-devel libyaml-devel json-c-devel rpm-build kernel-abi-stablelists kernel-rpm-macros
    # tar zxf lustre-2.14.0_ddn149.tar.gz
    # cd lustre-2.14.0_ddn149
    # sh autogen.sh
    # ./configure --with-linux=/usr/src/kernels/`uname -r` --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    # make rpms
    
  4. Lustre Client パッケージインストール
    作成したパッケージの内2つをインストールします。
    # rpm -ivh kmod-lustre-client-2.14.0_ddn149-1.el9.x86_64.rpm lustre-client-2.14.0_ddn149-1.el9.x86_64.rpm
    
  5. Lustre Client 設定ファイル配備
    入手した設定ファイルのひな形を利用して、各種ファイルの修正・配備を行います。
    • /etc/fstab
      /etc/fstab にLustre Filesystem のエントリを追加します。
      • SR-IOV を使用する場合は、以下の行をfatab に追加します。

        172.17.8.40@o2ib10:172.17.8.41@o2ib10:/fast /fast lustre network=o2ib10,flock,noauto,defaults 0 0
        172.17.8.56@o2ib10:172.17.8.57@o2ib10:/large /large lustre network=o2ib10,flock,noauto,defaults 0 0
        
      • 通常の仮想NIC(VMXNET3)を使用する場合は、以下の行をfstab に追加します。

        172.17.8.40@tcp10:172.17.8.41@tcp10:/fast /fast lustre network=tcp10,flock,noauto,defaults 0 0
        172.17.8.56@tcp10:172.17.8.57@tcp10:/large /large lustre network=tcp10,flock,noauto,defaults 0 0
        
    • /etc/lnet.conf.ddn
      etc/lnet.conf.ddn を/etc/lnet.conf.ddn として複写し、自身の環境に合わせて修正します。
      修正箇所は「- net type: o2ib10」と「- net type: tcp10」のブロック内の、nid のIP アドレスとinterfaces のデバイス名です。
      「ストレージネットワーク1」のインタフェースのデバイス名の確認方法は、仮想マシンにてターミナルを開き、
      「ip -br addr」コマンドを実行いただくことで確認可能です。
      上記コマンドの出力結果から「ストレージネットワーク1」のIPアドレスが表示されるため、
      対象行の1カラム目に出力している項目が、ネットワークインタフェース名になります。
      例:「Storage Network 1」のIPアドレスが「10.134.82.79/21」であった場合。
      以下の実行例では、「ens194」が「ストレージネットワーク1」のネットワークインタフェース名になります。
      $ ip -br addr
      lo               UNKNOWN        127.0.0.1/8 ::1/128
      ens163           UP             10.aaa.bbb.ccc/21 2001:2f8:1041:223:9ba2:6ea9:3fd4:d289/64 fe80::d707:ca60:98a:cfb2/64
      ens194           UP             10.134.82.79/21 fe80::698:e5e1:3574:f2e6/64
      

      以下にIPアドレスが「10.134.82.79」、デバイス名が「ens194」の場合の変更例を記載します。

      修正前:

      - net type: o2ib10
        local NI(s):
          - nid: 172.17.8.32@o2ib10
            status: up
            interfaces:
                0: enp59s0f0
      - net type: tcp10
        local NI(s):
          - nid: 172.17.8.32@tcp10
            status: up
            interfaces:
                0: enp59s0f0
      

      修正後:

      - net type: o2ib10
        local NI(s):
          - nid: 10.134.82.79@o2ib10
            status: up
            interfaces:
                0: ens194
      - net type: tcp10
        local NI(s):
          - nid: 10.134.82.79@tcp10
            status: up
            interfaces:
                0: ens194
      
    • /etc/sysconfig/lustre_client
      etc/sysconfig/lustre_client を/etc/sysconfig/lustre_client に複写します。
    • /etc/modprobe.d/lustre.conf
      etc/modprobe.d/lustre.conf を/etc/modprobe.d/lustre.conf に複写します。
    • /etc/init.d/lustre_client
      etc/init.d/lustre_client を/etc/init.d/lustre_client に複写します。
    • /usr/lib/systemd/system/lustre_client.service
      usr/lib/systemd/system/lustre_client.service を/usr/lib/systemd/system/lustre_client.service に複写します。
7.5.4. 仮想マシンテンプレートを使用しない場合 (ubuntu20.04)
  1. OFED ドライバインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-5.8-5.1.1.2-ubuntu20.04-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    $ sudo mount -o ro,loop MLNX_OFED_LINUX-5.8-5.1.1.2-ubuntu20.04-x86_64.iso /mnt
    $ cd /mnt
    $ sudo ./mlnxofedinstall --guest
    
    なお、OS のパッケージ不足が判明した場合は、当該パッケージをOS のISO イメージから入手して適用します
    (インターネット公開された最新パッケージを適用しない)。
  2. Lustre Client ソース・設定ファイルひな形入手
    DDN 社が提供するLustre Client のソースプログラムファイル及びパッチファイルと、Lustre Client 用の各種設定ファイルのひな形を
    mdx 内からのみアクセス可能なWeb サーバから入手します。
    • lustre-2.12.9_ddn48.tar.gz

    • lustre-2.12.9_ddn48.ubuntu20.04.patch (lustreを ubuntu20.04でビルドするためのパッチ)

    • lustre_config_ubuntu_rdma.tgz(rdma を使用する場合)

    • lustre_config_ubuntu_tcp.tgz(tcp を使用する場合)

    $ wget http://172.16.2.26/lustre-2.12.9_ddn48.tar.gz
    $ wget http://172.16.2.26/lustre-2.12.9_ddn48.ubuntu20.04.patch
    $ wget http://172.16.2.26/lustre_config_ubuntu_rdma.tgz
    $ wget http://172.16.2.26/lustre_config_ubuntu_tcp.tgz
    
  3. lustre clientのビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    # apt install libkeyutils-dev libmount-dev libyaml-dev zlib1g-dev module-assistant libreadline-dev libselinux1-dev libsnmp-dev mpi-default-dev libssl-dev
    # tar zxvf lustre-2.12.9_ddn48.tar.gz
    # cd lustre-2.12.9_ddn48
    # patch -p1 < ../lustre-2.12.9_ddn48.ubuntu20.04.patch
    # ./configure --with-linux=/usr/src/linux-headers-$(uname -r) --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    # make dkms-debs
    

    これで再利用可能なdebパッケージが作成されます。

  4. lustre_clientのインストール

    注釈

    既にインストールされているkernel moduleが存在する場合には、本手順実行前にremoveを行ってください。

    # cd debs
    # apt install ./lustre-client-modules-dkms_2.12.9-ddn48-1_amd64.deb
    # apt install ./lustre-client-utils_2.12.9-ddn48-1_amd64.deb
    
  5. Lustre Client 設定ファイル配備
    入手した設定ファイルのひな形(lustre_config_ubuntu_*.tgz)を利用して、各種ファイルの修正・配備を行います。
    • /etc/fstab
      /etc/fstab にLustre Filesystem のエントリを追加します。
      • SR-IOV を使用する場合は、以下の行をfatab に追加します。

        172.17.8.40@o2ib10:172.17.8.41@o2ib10:/fast /fast lustre network=o2ib10,flock,noauto,defaults 0 0
        172.17.8.56@o2ib10:172.17.8.57@o2ib10:/large /large lustre network=o2ib10,flock,noauto,defaults 0 0
        
      • 通常の仮想NIC(VMXNET3)を使用する場合は、以下の行をfstab に追加します。

        172.17.8.40@tcp10:172.17.8.41@tcp10:/fast /fast lustre network=tcp10,flock,noauto,defaults 0 0
        172.17.8.56@tcp10:172.17.8.57@tcp10:/large /large lustre network=tcp10,flock,noauto,defaults 0 0
        
    • /etc/lnet.conf.ddn
      etc/lnet.conf.ddn を/etc/lnet.conf.ddn として複写し、自身の環境に合わせて修正します。
      修正箇所は「- net type: o2ib10」と「- net type: tcp10」のブロック内の、nid のIP アドレスとinterfaces のデバイス名です。
      「ストレージネットワーク1」のインタフェースのデバイス名の確認方法は、仮想マシンにてターミナルを開き、
      「ip -br addr」コマンドを実行いただくことで確認可能です。
      上記コマンドの出力結果から「ストレージネットワーク1」のIPアドレスが表示されるため、
      対象行の1カラム目に出力している項目が、ネットワークインタフェース名になります。
      例:「Storage Network 1」のIPアドレスが「10.134.82.79/21」であった場合。
      以下の実行例では、「ens194」が「ストレージネットワーク1」のネットワークインタフェース名になります。
      $ ip -br addr
      lo               UNKNOWN        127.0.0.1/8 ::1/128
      ens163           UP             10.aaa.bbb.ccc/21 2001:2f8:1041:223:9ba2:6ea9:3fd4:d289/64 fe80::d707:ca60:98a:cfb2/64
      ens194           UP             10.134.82.79/21 fe80::698:e5e1:3574:f2e6/64
      

      以下にIPアドレスが「10.134.82.79」、デバイス名が「ens194」の場合の変更例を記載します。

      修正前:

      - net type: o2ib10
        local NI(s):
          - nid: 172.17.8.32@o2ib10
            status: up
            interfaces:
                0: enp59s0f0
      - net type: tcp10
        local NI(s):
          - nid: 172.17.8.32@tcp10
            status: up
            interfaces:
                0: enp59s0f0
      

      修正後:

      - net type: o2ib10
        local NI(s):
          - nid: 10.134.82.79@o2ib10
            status: up
            interfaces:
                0: ens194
      - net type: tcp10
        local NI(s):
          - nid: 10.134.82.79@tcp10
            status: up
            interfaces:
                0: ens194
      
    • /etc/sysconfig/lustre_client
      etc/sysconfig/lustre_client を/etc/sysconfig/lustre_client に複写します。
    • /etc/modprobe.d/lustre.conf
      etc/modprobe.d/lustre.conf を/etc/modprobe.d/lustre.conf に複写します。
    • /etc/init.d/lustre_client
      etc/init.d/lustre_client を/etc/init.d/lustre_client に複写します。
    • /usr/lib/systemd/system/lustre_client.service
      usr/lib/systemd/system/lustre_client.service を/usr/lib/systemd/system/lustre_client.service に複写します。
  • Lustreクライアントを起動設定します。

    $ sudo systemctl enable lustre_client
    $ sudo reboot
    

    再起動後、/largeと /fastがlustreストレージがマウントされます。

7.5.5. 仮想マシンテンプレートを使用しない場合 (ubuntu22.04)
  1. OFED ドライバインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-5.8-5.1.1.2-ubuntu22.04-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    $ sudo mount -o ro,loop MLNX_OFED_LINUX-5.8-5.1.1.2-ubuntu22.04-x86_64.iso /mnt
    $ cd /mnt
    $ sudo ./mlnxofedinstall --guest
    
  2. Lustre Client ソース・設定ファイルひな形入手
    DDN 社が提供するLustre Client のソースプログラムファイルと、Lustre Client 用の各種設定ファイルのひな形を
    mdx 内からのみアクセス可能なWeb サーバから入手します。
    • lustre-2.14.0_ddn149.tar.gz

    • lustre_config_ubuntu_rdma.tgz(rdma を使用する場合)

    • lustre_config_ubuntu_tcp.tgz(tcp を使用する場合)

    $ wget http://172.16.2.26/lustre-2.14.0_ddn149.tar.gz
    $ wget http://172.16.2.26/lustre_config_ubuntu_rdma.tgz
    $ wget http://172.16.2.26/lustre_config_ubuntu_tcp.tgz
    
  3. lustre clientのビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    # apt install libkeyutils-dev libmount-dev libyaml-dev libjson-c-dev zlib1g-dev module-assistant libreadline-dev libssl-dev
    # tar zxvf lustre-2.14.0_ddn149.tar.gz
    # cd lustre-2.14.0_ddn149
    # ./configure --with-linux=/usr/src/linux-headers-$(uname -r) --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    # make dkms-debs
    

    これで再利用可能なdebパッケージが作成されます。

  4. lustre_clientのインストール

    注釈

    既にインストールされているkernel moduleが存在する場合には、本手順実行前にremoveを行ってください。

    # cd debs
    # apt install ./lustre-client-modules-dkms_2.14.0-ddn149-1_amd64.deb
    # apt install ./lustre-client-utils_2.14.0-ddn149-1_amd64.deb
    
  5. Lustre Client 設定ファイル配備
    入手した設定ファイルのひな形(lustre_config_ubuntu_*.tgz)を利用して、各種ファイルの修正・配備を行います。
    • /etc/fstab
      /etc/fstab にLustre Filesystem のエントリを追加します。
      • SR-IOV を使用する場合は、以下の行をfatab に追加します。

        172.17.8.40@o2ib10:172.17.8.41@o2ib10:/fast /fast lustre network=o2ib10,flock,noauto,defaults 0 0
        172.17.8.56@o2ib10:172.17.8.57@o2ib10:/large /large lustre network=o2ib10,flock,noauto,defaults 0 0
        
      • 通常の仮想NIC(VMXNET3)を使用する場合は、以下の行をfstab に追加します。

        172.17.8.40@tcp10:172.17.8.41@tcp10:/fast /fast lustre network=tcp10,flock,noauto,defaults 0 0
        172.17.8.56@tcp10:172.17.8.57@tcp10:/large /large lustre network=tcp10,flock,noauto,defaults 0 0
        
    • /etc/lnet.conf.ddn
      etc/lnet.conf.ddn を/etc/lnet.conf.ddn として複写し、自身の環境に合わせて修正します。
      修正箇所は「- net type: o2ib10」と「- net type: tcp10」のブロック内の、nid のIP アドレスとinterfaces のデバイス名です。
      「ストレージネットワーク1」のインタフェースのデバイス名の確認方法は、仮想マシンにてターミナルを開き、
      「ip -br addr」コマンドを実行いただくことで確認可能です。
      上記コマンドの出力結果から「ストレージネットワーク1」のIPアドレスが表示されるため、
      対象行の1カラム目に出力している項目が、ネットワークインタフェース名になります。
      例:「Storage Network 1」のIPアドレスが「10.134.82.79/21」であった場合。
      以下の実行例では、「ens194」が「ストレージネットワーク1」のネットワークインタフェース名になります。
      $ ip -br addr
      lo               UNKNOWN        127.0.0.1/8 ::1/128
      ens163           UP             10.aaa.bbb.ccc/21 2001:2f8:1041:223:9ba2:6ea9:3fd4:d289/64 fe80::d707:ca60:98a:cfb2/64
      ens194           UP             10.134.82.79/21 fe80::698:e5e1:3574:f2e6/64
      

      以下にIPアドレスが「10.134.82.79」、デバイス名が「ens194」の場合の変更例を記載します。

      修正前:

      - net type: o2ib10
        local NI(s):
          - nid: 172.17.8.32@o2ib10
            status: up
            interfaces:
                0: enp59s0f0
      - net type: tcp10
        local NI(s):
          - nid: 172.17.8.32@tcp10
            status: up
            interfaces:
                0: enp59s0f0
      

      修正後:

      - net type: o2ib10
        local NI(s):
          - nid: 10.134.82.79@o2ib10
            status: up
            interfaces:
                0: ens194
      - net type: tcp10
        local NI(s):
          - nid: 10.134.82.79@tcp10
            status: up
            interfaces:
                0: ens194
      
    • /etc/sysconfig/lustre_client
      etc/sysconfig/lustre_client を/etc/sysconfig/lustre_client に複写します。
    • /etc/modprobe.d/lustre.conf
      etc/modprobe.d/lustre.conf を/etc/modprobe.d/lustre.conf に複写します。
    • /etc/init.d/lustre_client
      etc/init.d/lustre_client を/etc/init.d/lustre_client に複写します。
    • /usr/lib/systemd/system/lustre_client.service
      usr/lib/systemd/system/lustre_client.service を/usr/lib/systemd/system/lustre_client.service に複写します。
  • Lustreクライアントを起動設定します。

    $ sudo systemctl enable lustre_client
    $ sudo reboot
    

    再起動後、/largeと /fastのlustreストレージがマウントされます。

7.5.6. 高速内部ストレージ、大容量ストレージの利用可能な容量を確認する
2つの方法で確認できます。
ユーザポータルもしくは仮想マシン上でコマンドを使って確認することができます。
  • ユーザポータルで確認する

    上部メニュー[ストレージ]→サイドメニュー[ストレージ]を選択した状態の画面で確認できます。
    高速内部ストレージ/大容量ストレージのハードリミットが利用可能な容量の上限です。
  • 仮想マシン上で確認する

    プロジェクトID確認後に、プロジェクトIDとファイルシステムを指定してquota制限を確認します。
    1. プロジェクトIDの確認
      以下の実行結果の1000XXXXの部分がプロジェクトIDです。
      高速内部ストレージ、大容量ストレージにファイルやディレクトリが一つも無い場合は確認できません。
      何か1つファイルを作成してください。
      $ lfs project /large
       1000XXXX P /large/mdx-user01
       1000XXXX P /large/root
      
    2. quota制限の確認
      以下の例では、ファイルシステムに大容量ストレージ(/large)を指定しています。
      高速内部ストレージを確認する場合は、/fastを指定してください。
      usedが現在の使用量、limitが上限(ハードリミット)を表しています。
      quotaはソフトリミットを表していて、当システムでは利用していません。
      $ lfs quota -h -p 1000XXXX /large
       Disk quotas for prj 1000XXXX (pid 1000XXXX):
           Filesystem    used   quota   limit   grace   files   quota   limit   grace
               /large     12k      0k    100G       -       3       0       0       -
      

8. サービスレベル

本章では、仮想マシンの効率かつ有効的な利用を目的とすることからサービスレベルを実装しており、この機能について説明します。

8.1. サービスレベルの種別

仮想マシンのサービスレベルの種別として「スポット仮想マシン」、「起動保証仮想マシン」の2種類が存在します。 それぞれの特徴は以下です。

8.1.1. スポット仮想マシン
  • プロジェクトの割り当て資源量に関係無く利用することができます。

  • スポット仮想マシンが利用可能な資源量は、システム全体の資源量として定義した値を上限としています。

  • 仮想マシンのステータスが「PowerON」の状態で、かつ、強制休止対象となった場合「起動保証仮想マシン」へのサービスレベルの変更ができません。※強制休止対象については「資源再配分機能」を参照。

  • デプロイや電源投入時に空き資源が充足する場合は、即時に仮想マシンのデプロイや起動が実行されます。

  • デプロイや電源投入時に空き資源が不足している場合は、既定のルールに従い一定時間経過した他のスポット仮想マシンを強制的に休止状態(PowerOff かつ資源解放)とし、解放された資源を割り当てて実行します。

  • デプロイや電源投入時に空き資源が不足している場合でも、一定時間経過した他のスポット仮想マシンを強制的に休止状態にしても資源不足の時には、仮想マシンのデプロイや起動が失敗します。
    なお、失敗したことは操作履歴で確認できます。
  • 他のスポット仮想マシンが資源を必要とした場合、一定時間経過後であれば強制的に自身の仮想マシン(スポット仮想マシン)が休止状態に遷移する場合があります。

  • 起動保証仮想マシンが資源を必要とした場合、稼働時間に関わらず強制的に自身の仮想マシン(スポット仮想マシン)休止状態に遷移する場合があります。

  • スポット仮想マシンが強制的に休止状態となる場合、プロジェクトユーザに対して事前に通知されるほか、ユーザポータルの仮想マシン一覧画面にて強制休止の対象であることが確認できます。
    強制休止のタイミングについては、 こちら をご確認ください。
  • スポット仮想マシンが強制的に休止状態となった場合でも、ローカルディスク(仮想ディスク)およびストレージ(高速内部ストレージ/大容量ストレージ)に保存済みのデータは削除されることなく、
    仮想マシンを再起動後に以前と同じ環境で利用可能です。一方、強制停止時に実行中のプロセスが持つデータなどメモリ上にあり、ローカルディスクやストレージに保存されていないものは救済できないためご注意ください。
  • 上記の強制的な休止状態への移行以外に、起動中のスポット仮想マシンが停止された場合も、その仮想マシンは休止状態に遷移します。

8.1.2. 起動保証仮想マシン
  • 休止状態以外の起動保証仮想マシンに割り当てられた資源の総量は、プロジェクトの割当量を超えることはできません。

  • プロジェクトに割り当てる資源量の総量は、機関に割り当てた上限を超えることはできません。但し、機関の割り当て量の総量は、システム全体の資源量を超えて定義ができます。

  • 起動保証仮想マシンが利用可能な資源量の上限が設定でき、各プロジェクトの割当量の総量はシステム全体の上限以下で設定しなければならない(資源量の定義については後述する)。

  • 起動保証仮想マシンの状態が電源投入状態でも、スポット仮想マシンへ変更することが可能です。

  • 仮想マシンのデプロイや電源投入時に空き資源が充足する場合は、即時に仮想マシンのデプロイや起動が実行されます。

  • 仮想マシンのデプロイや電源投入時に空き資源が不足する場合は、停止中や動作中の状態のスポット仮想マシンを強制休止状態へ遷移させ、解放された資源を使用して実行します。
    この場合、強制休止対象スポット仮想マシンの選択は、休止状態が優先的に選ばれ、続いて動作中でかつ、起動時間の長い仮想マシンの順に選ばれます。

8.2. サービスレベルの確認方法

仮想マシンのサービスレベルの確認は、ユーザポータルの以下の画面で確認できます。

8.2.1. ダッシュボードにて確認
ダッシュボードにて確認
8.2.2. 仮想マシン一覧にて確認
仮想マシン一覧にて確認

8.3. サービスレベルの指定方法

仮想マシンのサービスレベルの変更は、ユーザポータルから以下の操作を行うタイミングで指定可能です。

1.仮想マシンのデプロイ
2.仮想マシンの起動
3.仮想マシンのクローン
4.仮想マシンのサービスレベル変更

それぞれの操作時のタイミングを示します。

  1. 仮想マシンのデプロイ

    サービスレベルの指定方法
  2. 仮想マシンの起動

    サービスレベルの指定方法
  3. 仮想マシンのクローン

    サービスレベルの指定方法
  4. 仮想マシンのサービスレベル変更

    サービスレベルの指定方法

8.4. 資源利用イメージ

概要
  • プロジェクトに未割り当ての起動保証用資源は、スポット仮想マシンが利用可能です。

  • プロジェクトに割り当てられている資源でも、未使用の場合はスポット仮想マシンが利用可能です。

  • 起動保証仮想マシンはプロジェクトに割り当てられている範囲を超えての使用は不可となります。

8.4.1. スポット仮想マシンのデプロイまたは起動(成功パターン)
スポット仮想マシンのデプロイまたは起動(成功パターン)
ノードあたり8パックで各ノードの空きパック数が6に満たない状態で、6パックを使用するスポット仮想マシンをデプロイ、
または6パックを使用する休止状態のスポット仮想マシンを起動した場合、必要な資源量が確保できるまで、
一定時間以上経過しているスポット仮想マシンを実行時間の長い順にノードを選択し、
当該ノード上のスポット仮想マシンを強制休止し、解放された資源を使用してデプロイまたは起動が行われます。
なお、強制休止対象を選択する際、一定時間以上稼働しているものが対象となります。

※一定時間:24時間以上起動しているスポット仮想マシン

スポット仮想マシンのデプロイまたは起動(成功パターン)
8.4.2. スポット仮想マシンのデプロイまたは起動(失敗パターン)
スポット仮想マシンのデプロイまたは起動(失敗パターン)
空き資源が無い状態で6パックを使用するスポット仮想マシンのデプロイ、
または6パックを使用する休止状態のスポット仮想マシンを起動した場合、
一定時間以上経過しているスポット仮想マシンを強制休止しても必要な資源が確保できない時は、
スポット仮想マシンのデプロイまたは起動に失敗します。
8.4.3. 起動保証仮想マシンデプロイまたは起動
起動保証仮想マシンデプロイまたは起動
起動保証仮想マシンのデプロイまたは休止状態の起動保証仮想マシンを起動する際、必要とする資源が不足している場合は、
スポット仮想マシン起動時の成功パターンと同様な動作となります。
この際スポット仮想マシンの起動やデプロイでは、強制休止対象となるスポット仮想マシンは一定時間以上稼働しているものだけが対象となりますが、
起動保証仮想マシンの起動やデプロイでは、強制休止対象となるスポット仮想マシンの稼働時間は関係しません。
起動保証仮想マシンデプロイまたは起動

8.5. 資源確保と強制休止のタイミング

デプロイまたは休止状態の仮想マシン起動において資源が確保できない場合の、スポット仮想マシンの強制休止は一定周期で行われます。

  1. 仮想マシンのデプロイ・起動を要求した際に必要な資源が不足(デプロイ・起動が保留)

  2. 次の周期で当該仮想マシンに必要な資源が確保可能となった場合 ⇒ 資源を確保しデプロイ・起動する
    次の周期で当該仮想マシンに必要な資源が不足していた場合   ⇒ 強制休止対象となる仮想マシンを決定、および事前通知
  3. さらに次の周期で当該仮想マシンに必要な資源が確保可能となった場合 ⇒ 資源を確保しデプロイ・起動する(2.で予定された仮想マシンの強制休止は実施せず強制休止対象からも除外)
    さらに次の周期で当該仮想マシンに必要な資源が不足していた場合   ⇒ 2.で予定された仮想マシンを強制休止して資源を確保しデプロイ・起動する
    • 3.で仮想マシンを強制休止する場合のイメージ

      資源確保タイミング
    • 2.で資源の確保が可能となった場合のイメージ

      資源確保タイミング

また、強制休止対象となった仮想マシンはユーザポータルの仮想マシン一覧の画面で確認できます。

  • 対象となった仮想マシンの[サービスレベル]の先頭に、警告マークが表示されます。

  • 強制休止対象でなくなった場合はこの警告マークは削除されます。

    停止予定のスポット仮想マシンの印

9. 資源再配分機能

本章では、仮想マシン用利用資源の有効的な利用を目的とすることから資源再配分機能を実装しており、この機能について説明します。

9.1. 資源再配分機能の概要

  • 起動保証仮想マシン用予約分の計算資源(以後、起動保証仮想マシン用資源)はプロジェクトに割り当てられ、割り当て範囲内で起動保証仮想マシンを作成することが可能です。

  • プロジェクトに割り当てた起動保証仮想マシン用の資源量の総計は、システム側で定義した起動保証仮想マシン用資源の上限を超えることはできません。

  • 新規プロジェクトの承認や既存プロジェクトの要求資源量変更の際、起動保証仮想マシン用資源の空き状態によって動作が異なります。

  • 要求資源量が充足する場合は、要求資源量が割当資源量となります。

  • 空き資源が無い(ゼロ)の場合は、割当資源量はゼロとなります。

  • 要求資源量が不足の場合は、その時点の空き資源量が割当資源量となります。

  • 各プロジェクトの要求資源量の総計が起動保証仮想マシン用資源量を超える場合、資源再配分機能により割り当て資源量の増減が行われます。

    • 上記にかかわらず、通常プロジェクトではプロジェクトが保有するポイントの残高がゼロを下回りプロジェクトが停止した場合、もしくはプロジェクトが期間終了となった場合、
      そのプロジェクトの保有する起動保証仮想マシン用資源は全て解放されます(専有プロジェクトは対象外)。
    • プロジェクトの停止・期間終了による資源解放のタイミングで起動保証仮想マシンをデプロイしていた場合、自動でスポット仮想マシンに変更されます。

  • プロジェクト毎に最低資源量(Rmin)が定義されます。

  • 各プロジェクトのRmin の総計は、起動保証仮想マシン用資源の上限を超えないよう管理されています。

  • 資源再配分処理は定期的に(毎月1日に)行われます。

  • 資源再配分処理により割り当て資源量に変更がある場合は、各プロジェクトのプロジェクトユーザに対して新しい割り当て資源量の通知が行われます。

9.2. 資源再配分のタイミング

資源再配分処理は一定周期毎に行われます。 周期は毎月1日に行われますが、資源再配分イベントを以下に例として記します。

資源再配分のタイミング

9.3. 割当量の確認

プロジェクトへの起動保証仮想マシン用資源割り当て量は、ダッシュボードおよびプロジェクトの項目で確認することができます。

  1. ダッシュボード

    ユーザポータルにて確認
  2. プロジェクト情報

    ユーザポータルにて確認

9.4. プロジェクト情報欄で表示している項目の説明

割当量についてユーザポータルの「プロジェクト」で確認できますが、各項目についての用語を説明します。

CPUパック、GPUパックそれぞれの項目について

項目

説明

要求量

プロジェクトの起動保証仮想マシン用として要求している資源量

使用量

プロジェクト内で起動保証仮想マシンが使用している資源量の総和 (電源 Off 含む)

割当量

プロジェクトに起動保証仮想マシン用として割り当てられている資源量

翌月割当量

月初に行われる資源回収機能により通知された、来月の起動保証仮想マシン用の割り当て予定資源量

Rmin

プロジェクトの起動保証仮想マシン用資源として割り当てられる下限値

10. 機能詳細

10.1. プロジェクト申請関連機能

この項では、mdxにおけるプロジェクトの申請方法およびその他プロジェクト申請ポータル上で利用可能なプロジェクト申請関連機能について説明します。

10.1.1. 申請状態ごとに可能な操作
プロジェクトの一覧画面でプロジェクトごとの[申請状況/ Application Status]を見ると現在の状態を確認できます。
プロジェクトは状態によって利用できる操作が異なります。

申請状況/ Application Status

利用できる操作

新規作成

閲覧、申請(新規)、保存

未申請/ unapplied

閲覧、申請(未申請)、削除

申請中/ applied

閲覧、取戻

却下/ reject

閲覧、却下理由を確認し再申請、削除

承認済/ approved

閲覧、複写、mdxを利用する

10.1.2. プロジェクトの申請内容詳細
10.1.2.1. プロジェクトID

プロジェクトが承認された際に自動的に割り振られるIDです。未承認のプロジェクトの場合は表示されません。

10.1.2.2. プロジェクト名

作成するプロジェクトの名称です。最大50文字で、日本語の入力も可能です。

10.1.2.3. 利用目的
プロジェクトを申請する目的としてmdxシステム上で取り扱う課題・研究テーマに関する情報を記載します。
最大200文字で、日本語の入力も可能です。
10.1.2.4. プロジェクトタイプ

プロジェクトには3つのタイプのうち1つを指定します。各タイプには物理ノードの利用形態や資源量の指定可否などの違いがあります。

プロジェクトタイプ

物理ノード

プロジェクトで利用できる資源

期間

通常

共有

プロジェクト作成後に申請

可変(申請)

セキュア(ノード専有)

専有

プロジェクト作成後に申請

可変(申請)

お試し

共有

一定の資源量に固定

3カ月

資源申請についての詳細は プロジェクト情報の確認と変更を行う をご確認ください。 また、お試しを選択した場合の資源量は以下となります。

資源名

資源量

CPUパック(起動保証仮想マシン用予約分)

8

仮想ディスク

100GB

高速内部ストレージ

10GB

大容量ストレージ

10GB

グローバルIPアドレス数

1

10.1.2.5. 連携機関

申請するプロジェクトがどの機関に所属するかを選択します。なお、プロジェクトの承認処理は、所属機関の機関管理者によって行われます。

10.1.2.6. プロジェクト期間
プロジェクト期間では、申請するプロジェクトの開始日と終了日を指定します。
指定した開始日より前および終了日より後はプロジェクトの利用ができないため、ユーザポータルからプロジェクトにアクセスできません。
10.1.2.7. プロジェクト申請者情報

プロジェクト申請者の方の氏名と所属、住所、連絡可能なメールアドレス、および電話番号を入力します。

  • 代表者氏名は最大50文字まで入力できます。

  • プロジェクトの新規申請時は、メールアドレス認証で利用したメールアドレスが初期値として表示されますが、必要に応じて変更できます。

10.1.2.8. プロジェクト代表者情報

代表者の方の姓名と所属、連絡可能なメールアドレスを入力します。

プロジェクト申請者と同一の場合は[プロジェクト申請者と同じ/ Same as Project Applicant]を選択します。
個別に指定する場合には[プロジェクト代表者情報を指定する/ Specify Project Representative Information]を指定します。
10.1.2.9. 事務(連絡)担当者情報

プロジェクトの事務連絡を受け取る担当者の方の姓名と所属、連絡可能なメールアドレスを入力します。

プロジェクト申請者と同一の場合は[プロジェクト申請者と同じ/ Same as Project Applicant]を選択します。
個別に指定する場合には[事務(連絡)担当者情報を指定する/ Specify Office Contact Person Information]を指定します。
10.1.2.10. 通知

プロジェクトの利用者にメール通知を発行するかどうかを設定できます。対象は、下記の通りです。

  • プロジェクト申請者

  • プロジェクト代表者

  • 事務(連絡)担当者

  • プロジェクトユーザ

メールによる通知は以下の契機で発行されます。

カテゴリ

通知のタイミング

プロジェクト作成・編集申請に関する通知

・申請時
・承認/却下時

ポイントの購入に関する通知

・購入申請時
・購入申請承認/却下時
・クレジットカード決済時
・支払方法編集申請時
・支払方法編集申請承認/却下時
・購入取消時
・管理者による購入取消時

ポイントに関する通知

・ポイント残量が5000を下回った時
・ポイント残量が0を下回った時
・ポイント有効期限が1カ月前になった時
・管理者による利用停止時
・利用停止状態の解除時

プロジェクトの利用に関する通知

・お知らせ更新時
・プロジェクト期間終了1カ月前
・プロジェクト期間終了2週間前
・プロジェクト期間終了3日前
・ポイント残量が0を下回ってから83日経過時
 (ポイント残量が0を下回ってから90日でプロジェクトは自動削除)

資源の回収に関する通知

・スポット仮想マシン停止の1時間前
・起動保証用資源回収の1か月前
10.1.2.11. ユーザコミュニティ

ユーザコミュニティ(Slack)の参加の可否を設定できます。

10.1.2.12. ポイント購入を許可するユーザの追加(任意)

プロジェクト申請者本人以外にポイントを購入可能なユーザを設定できます。複数人を指定する場合は、”半角スペース”でユーザIDの間を区切って入力します。

10.1.2.13. 居住国に関する確認事項
申請者が日本国の居住者であるかどうかの確認を行います。ここでいう居住者とは
おおよそ、日本国内に住所を持つ日本人もしくは日本国内に住所を持って半年以上がたつ外国人を意味します。
詳細は、 「外国為替法令の解釈及び運用について」 (居住性の判定基準)を参照下さい。

日本の居住者ではない場合は以下の項目について追加で記載・報告する必要があります。

  • 所属機関

  • 所属機関所在国

  • 身分

  • 国籍

  • 主たる居住地

10.1.2.14. 輸出規制に関する質問事項

申請者が外国政府等との雇用に関する契約を結んでいるか、外国政府等から経済的利益を受けているかについて確認します。

10.1.2.15. 利用規約および利用目的に関する同意事項
利用規約および利用目的に関する同意事項について申請者が同意する場合は、同意事項左のチェックボックスにチェックを入れます。
同意しない場合はプロジェクトを申請することができません。
10.1.3. 新規のプロジェクトを申請する
  1. 申請リストの画面左上にある[プロジェクトの申請/ Project Application]をクリックします。

  2. プロジェクト申請に必要な項目を入力します。

    • [必須/ required]と記載のある項目は申請時には必ず入力する必要があります。

    • [詳細/ detail]をクリックすると項目ごとの説明を参照できます。

  3. 入力が完了したら、プロジェクト申請を行う場合は画面スクロールして最下部にある[申請/ Apply]を、プロジェクト情報を一時保存する場合には[保存/ Save]をクリックします。

  4. プロジェクト申請一覧画面に戻ると、作成したプロジェクトが申請中の場合には[申請中/ applied]、一時保存した場合には[未申請/ unapplied]で表示されます。以上でプロジェクト申請の作成処理は完了です。

注釈

プロジェクトを一時保存する場合にはプロジェクト名のみ入力が必須となります。

10.1.4. 一時保存したプロジェクトを申請する

未申請状態となっているプロジェクトを申請します。

  1. 申請リスト画面で対象とするプロジェクトのプロジェクトのアクションから[申請/ Apply]をクリックします。

  2. 必要に応じて任意の項目の情報を修正します。

  3. 修正が完了したら、プロジェクト申請を行う場合は画面スクロールして最下部にある[申請/ Apply]を、再度プロジェクト情報を一時保存する場合には[保存/ Save]をクリックします。

  4. プロジェクト申請一覧画面に戻ると、作成したプロジェクトが申請中の場合には[申請中/ applied]、一時保存した場合には[未申請/ unapplied]で表示されます。以上で申請処理は完了です。

10.1.5. プロジェクトの申請内容を削除する

未申請もしくは却下された状態のプロジェクトを削除します。

  1. 申請リスト画面で対象とするプロジェクトのプロジェクトのアクションから[削除/ Delete]をクリックします。

  2. 表示された内容に問題がなければ画面スクロールして最下部にある[削除/ Delete]をクリックします。

  3. プロジェクト申請一覧画面に戻り削除したプロジェクトが表示されていないことを確認します。以上で削除処理は完了です。

10.1.6. プロジェクト申請を取り下げる

申請状態のプロジェクトの申請を取り下げます。

  1. 申請リスト画面で対象とするプロジェクトのアクションから[取戻/ Cancel]をクリックします。

  2. 表示された内容に問題がなければ画面スクロールして最下部にある[取戻/ Cancel]をクリックします。

  3. プロジェクト申請一覧画面に戻り取戻処理を行ったプロジェクトが[未申請/ unapplied]状態になっていることを確認します。以上で取戻処理は完了です。

10.1.7. プロジェクトを却下された理由を確認し再申請を行う
申請したプロジェクトが管理者から却下された場合に、却下された理由についてのメッセージを確認し
それに応じた申請項目の修正および再申請を行います。
  1. 申請リスト画面で対象とするプロジェクトのアクションから[却下理由を確認し再申請/ Confirm Reject Reason and Reapply]をクリックします。

  2. 画面の最上部に却下理由が赤文字で表示されます。

(再申請を行う場合)

  1. 再申請を行う場合には却下理由に沿って現在の画面で任意の項目の情報を修正します。

  2. 修正が完了したら、再申請を行う場合は画面スクロールして最下部にある[再申請/ Reapply]を、プロジェクト情報を一時保存する場合には[保存/ Save]をクリックします。

  3. プロジェクト申請一覧画面に戻ると、作成したプロジェクトが申請中の場合には[申請中/ applied]、一時保存した場合には[未申請/ unapplied]で表示されます。以上で再申請処理は完了です。

10.1.8. プロジェクトの申請内容を複写する

承認済みのプロジェクトを同じ入力情報で別のプロジェクトとして申請もしくは保存します。

  1. 申請リスト画面で対象とするプロジェクトのアクションから[複写/ Copy]をクリックします。

  2. 任意の項目の情報を修正します。

  3. 修正が完了したら、そのままプロジェクト申請を行う場合は画面スクロールして最下部にある[申請/ Apply]を、プロジェクト情報を一時保存する場合には[保存/ Save]をクリックします。

  4. プロジェクト申請一覧画面に戻ると、作成したプロジェクトが申請中の場合には[申請中/ applied]、一時保存した場合には[未申請/ unapplied]で表示されます。以上で複写処理は完了です。

10.1.9. ユーザポータルへ移動してmdxの機能を利用する
承認されたプロジェクトの各種機能はユーザポータルで利用することができます。
申請リスト画面上で申請状況が"承認済み"となっているプロジェクトについて、
プロジェクト名下の[ユーザポータルへ/ Go to User Portal]をクリックすると、ユーザポータルに移動できます。

10.2. ポイント購入申請関連機能

mdxのポイント制度については 利用料金制度のページ をご確認ください。

10.2.1. 現在利用できるポイントを確認する
10.2.1.1. プロジェクトのポイント保有状況を確認する
現在のプロジェクトのポイント保有状況は、ポイント購入可能なプロジェクトが表示されている画面で確認できます。
プロジェクト申請一覧もしくはポイント購入履歴の画面から[ポイントを購入する / Buy Points]をクリックして移動します。
ポイント購入画面・残ポイント数フォーカス
  • 今年度残ポイント数:今年度に利用できるポイントの合計を表示します。

    • 「○○○ reserved」表記のポイントは、プロジェクト期間の開始前などまだ利用開始していないポイントです。

  • 次年度残ポイント数:次年度用に予約購入したポイントの合計を表示します。

また、前提条件を満たしたプロジェクトでは、そのプロジェクトで立ち上げた仮想マシン上でポイント保有状況を確認することも可能です。
前提条件と確認方法については 仮想マシン上でプロジェクトの残ポイント数を確認する をご確認ください。
10.2.1.2. ポイントの詳細情報を確認する
購入単位のポイントに関する詳細情報は、申請ポータルのポイント購入履歴の画面から確認できます。
任意の購入ポイント右のアクションから[参照/Browse]をクリックすると詳細情報を表示します。

また、 ユーザポータルのポイント利用状況 で購入ポイント単位の残ポイントを確認できます。

10.2.2. ポイント購入申請内容詳細
10.2.2.1. ポイント購入者情報

ポイント購入者の情報を入力します。以下の全ての情報の入力が必須となります。

  • 姓名

  • 所属機関

  • 所属部署

  • 職名

  • 郵便番号

  • 住所

  • メールアドレス

  • 電話番号

10.2.2.2. 支払事務担当者情報

ポイント購入者と支払事務担当者が異なる場合、[支払事務担当者を指定する/ Specify Payment clerks]を選択し、 支払事務担当者の情報を入力します。ポイント購入者と支払事務担当者が同一人物の場合は、[ポイント購入者と同じ/ Same as Point Purchaser]にチェックを付けることで入力を省略できます。

支払事務担当者の情報を入力する場合は、以下の全ての情報の入力が必須となります。

  • 姓名

  • 所属機関

  • 所属部署

  • 職名

  • 郵便番号

  • 住所

  • メールアドレス

  • 電話番号

10.2.2.3. 必要ポイント数の申請
ポイントは1口5000ポイント単位で購入できます。購入するポイント数を口数で入力します。
購入するポイント数は、必要ポイント数の入力欄の下部に、購入ポイント数/ Purchase points: x(xは購入ポイント数)として表示されます。
10.2.2.4. お支払方法

購入ポイントの支払い方法として、クレジットカード払い、請求書払い、学内振替の3種類が存在します。

  • ポイント購入者が学認IDかつ 所属が東京大学の場合、請求書払い、学内振替が選択可能です。

  • ポイント購入者が学認IDかつ 所属が東京大学以外の場合、請求書払い、クレジットカード払いが選択可能です。

  • ポイント購入者がmdx認証基盤IDの場合、請求書払い、クレジットカード払いが選択可能です。

10.2.2.5. お支払方法の詳細
支払方法により、設定可能な項目が異なります。
請求書払いを選択した場合、設定可能な項目は下記の通りです。
  • 請求書の宛名

  • 請求書送付先(各担当者と同一の連絡先とするほか、個別指定も可能)

学内振替を選択した場合、設定可能な項目は下記の通りです。
  • 経費種別

  • 予算科目コード

  • 部署コード

  • プロジェクトコード

  • 経費担当部署名

クレジットカード払いを選択した場合、設定可能な項目はありません。
10.2.3. 新規のポイント購入申請をする

新規のポイント購入申請を行います。

  1. ポイント購入可能なプロジェクトが表示されている画面で、対象とするプロジェクトのアクションから [購入する]をクリックします。

  2. ポイント購入申請に必要な項目を入力します。
    • [必須/ required]と記載のある項目は必ず入力してください。

    • ポイント購入申請の入力項目の詳細は ポイント購入申請内容詳細 を参照してください。

  3. 入力が完了したら申請画面最下部の左にある[申請内容を確認する/ Confirm the application]をクリックします。
    • もし、入力内容に不備がある場合は申請ボタンの上に申請ボタンの上にエラーメッセージが表示されます。
      また、不備がある項目名が赤色で表示されますので、修正のうえ再度[申請内容を確認する/ Confirm the application]をクリックしてください。
  4. ポイント購入申請の内容を確認して、問題が無ければ[ポイントの購入を申請する / Apply to purchase points]をクリックしてください。

  5. ポイント購入履歴画面にて、申請したポイント購入申請のステータスが[申請中]で表示されます。以上でポイント購入申請処理は完了です。

  • 入力内容を一時的に保存したい場合には、[入力内容を一時保存する / Save as draft]をクリックします。一時保存したポイント購入申請を使用する場合には、 復元の操作 を参照してください。

  • ポイント購入申請を辞める場合には、[プロジェクト一覧に戻る/ Return project list]をクリックすることでポイント購入画面に戻ることができます。

10.2.4. ポイント購入を許可するユーザを操作する
10.2.4.1. ポイント購入を許可するユーザの追加

プロジェクトの申請者が、プロジェクトのポイント購入を許可するユーザを追加します。

  1. ポイント購入可能なプロジェクトが表示されている画面で、対象とするプロジェクトのアクションから[ポイント購入者を確認する]をクリックします。

    ポイント購入画面・購入者フォーカス
  2. ポイント購入者一覧画面にポイント購入可能なユーザのリストが表示されます。

  3. リストの下部にある入力欄にポイントを購入可能なユーザのユーザIDを入力します。
    複数人を指定する場合は、”半角スペース”でユーザIDの間を区切って入力してください。
    ポイント購入者一覧画面
  4. 入力欄の右にある[追加]をクリックします。

  5. ポイント購入可能なユーザのリストが更新され、入力したユーザが追加されていることを確認します。以上でポイント購入可能なユーザを追加する処理は完了です。

10.2.4.2. ポイント購入を許可するユーザの削除
  1. 追加時同様にポイント購入者一覧画面に遷移します。

  2. 削除したいユーザの右にある[削除/ Delete]をクリックします。

  3. ポイント購入可能なユーザのリストが更新され、削除したユーザが消えていることを確認します。以上でポイント購入可能なユーザを削除する処理は完了です。

10.2.5. 一時保存したポイント購入申請を復元して申請する

一時保存した未申請のポイント購入申請を復元して申請します。

  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[申請 / Apply]をクリックします。

  2. [入力内容を一時保存する / Save as draft]をクリックする前のポイント購入申請が復元されるため、必要事項を入力して、[申請内容を確認する / Confirm the application] をクリックします。

  3. ポイント購入申請の内容を確認して、問題が無ければ[ポイントの購入を申請する / Apply to purchase points]をクリックしてください。

  4. ポイント購入履歴画面にて、申請したポイント購入申請のステータスが[申請中]で表示されます。以上で一時保存したポイント購入申請を復元して申請する処理は完了です

10.2.6. ポイント購入申請を取り下げる

申請中のポイント購入申請を取り下げます。

  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[取消/ Cancel]をクリックします。

  2. 表示された内容に問題がなければ画面スクロールして最下部にある[ポイント購入を取り消す/ Cancel point purchase]をクリックします。

  3. ポイント購入履歴画面に戻り、取り下げたポイント購入申請のステータスが[未申請]で表示されていることを確認します。以上で取り下げ処理は完了です。

10.2.7. 却下されたポイント購入申請を再申請する

却下されたポイント購入申請を再申請します。

  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[再申請/ Re-apply]をクリックします。

  2. ポイント購入申請の内容を確認して、問題が無ければ[ポイントの購入を申請する / Apply to purchase points]をクリックしてください。

  3. ポイント購入履歴画面にて、申請したポイント購入申請のステータスが[申請中]で表示されます。以上で却下されたポイント購入申請を再申請する処理は完了です。

10.2.8. ポイント購入申請の支払い方法の変更を申請する
支払い方法がクレジットカード払い以外で承認済かつ支払方法変更期限内のポイント購入申請について、
申請時の支払い方法を変更したい場合、編集申請を利用することができます。
  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[支払方法編集/ Edit payment method]をクリックします。

  2. [お支払方法/ Payment method]以下の項目について編集したい内容を入力します。

  3. [編集内容を申請する / Request edits edits] をクリックします。以上でポイント購入申請の支払い方法編集申請処理は完了です。

支払い方法の編集申請が承認もしくは却下されるまでは[支払方法編集/ Edit payment method]の画面で申請内容を修正することはできませんのでご注意ください。

10.2.9. ポイント購入申請の決済処理を行う(クレジットカード決済のみ)

支払い方法がクレジットカード払いかつ承認済のポイント購入申請の決済処理を行います。

  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[決済情報入力 / Enter payment info]をクリックします。

  2. ポイント決済画面に遷移するため、ご利用内容を確認して、問題が無ければ、クレジットカード決済申し込みフォームに必要情報を入力します。

  3. 入力画面の下部の[お申し込み内容確認]をクリックします。

10.2.10. ポイント購入申請を取り消す(請求書払い・学内振替決済のみ)

支払い方法がクレジットカード払い以外で、ポイントが未使用かつ、支払方法変更期限内のポイント購入申請を取り消します。

  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[取消/ Cancel]をクリックします。

  2. 表示された内容に問題がなければ画面スクロールして最下部にある[ポイント購入を取り消す/ Cancel point purchase]をクリックします。

  3. ポイント購入履歴画面に戻り、取り消ししたポイント購入申請が表示されていないことを確認します。以上でポイント購入申請を取り消す処理は完了です。

10.2.11. ポイント購入申請の内容を複製する

承認済のポイント購入申請を複製します。

  1. ポイント購入履歴画面で対象とするポイント購入申請のアクションから[複製/ Copy]をクリックします。

  2. [ポイントの購入/ Buy Points]画面の入力項目に初期値として、複製したポイント購入申請の情報が入力されます。以上でポイント購入申請の内容を複製する処理は完了です。

10.3. 仮想マシンの作成に関する機能

本章では、仮想マシンの作成に関する各種操作方法について説明します。
仮想マシンの作成に関する各種操作は上部メニューから[仮想マシン] > サイドメニューから[デプロイ]/[ISOイメージ]をクリックした画面から確認できます。
10.3.1. デプロイ

テンプレートから新規に仮想マシンを作成(デプロイ)します。

  • テンプレートにはOSなどあらかじめ様々な設定が入った仮想マシンテンプレートとOS設定のないテンプレートがあります。

  • 自身のISOイメージから仮想マシンを作成していない場合にはOS設定のないテンプレートをご利用ください。

テンプレートはプロジェクトごとに管理者から割り当てられます。
利用目的によってどのテンプレートを利用するのが適切かは各機関の管理者までお問い合わせください。

以下からデプロイの手順について説明します。

  1. 利用したいテンプレートの[デプロイ]をクリックします。

仮想マシン・デプロイ画面
  1. 各設定項目を入力もしくは選択します。

    • 仮想マシンテンプレートの場合にはハードウェアカスタマイズ画面の設定のみ行います。

    • ISOイメージから新規仮想マシンを作成するためのテンプレートの場合はゲストOSの選択画面の設定を追加で行います。

<仮想マシンテンプレートの場合>

仮想マシン・ハードウェアカスタマイズ画面

<OS設定のないテンプレートの場合>

デプロイ新規・ハードウェアカスタマイズ デプロイ新規・ゲストOS1 デプロイ新規・ゲストOS2
  1. 入力が完了したら[デプロイ]をクリックします。以上で仮想マシンの作成は完了です。

10.3.1.1. デプロイ時の設定項目
  • ハードウェアのカスタマイズ

項目

説明

仮想マシン名

作成する仮想マシンの名前を最大80 文字の英数字で指定する。
複数の仮想マシンを同時にデプロイしたい場合には仮想マシン名[(開始番号)-(終了番号)]という書き方が可能。
指定する開始番号と終了番号は桁数を揃える必要があり、開始番号の桁が少ない場合は上位桁を「0」で埋めること。
例) machine[0-3] と指定すると、名前以外のカスタマイズが同じ machine0, machine1,..., machine3 の4台
machine[00-10] と指定すると、名前以外のカスタマイズが同じ machine00, machine01,..., machine10 の11台 がデプロイされる
また、カンマ(,)区切りで複数の仮想マシン名を記載での書き方も可能。
例) machine0,machine1 と指定すると、machine0, machine1 の2台がデプロイされる。
上記2つを組み合わせた書き方も可能。
例) machine[0-1],machine2,machine3 と指定すると、machine0, machine1,machine2,machine3 の4台がデプロイされる。

パックタイプ

通常・お試しプロジェクト時のみ。構築する仮想マシンがGPU を使用しない場合は「CPU パック」を、GPU を使用する場合は「GPUパック」を選択する。

パック数

通常・お試しプロジェクト時のみ。仮想マシンに割り当てるCPUパックもしくはGPUパックの数を指定する。※
ただし、ひとつの物理ノードの資源量(CPU,メモリ)を超える仮想マシンは構成できない。
(CPUパックは最大で152パック、GPUパックは最大で8パックまで指定することが可能)

CPU数

セキュアプロジェクト時のみ。仮想マシンに割り当てるCPU数を指定する。(最大で152まで指定可)

メモリ(GB)

セキュアプロジェクト時のみ。仮想マシンに割り当てるメモリの容量を指定する。
(物理的な最大量は汎用ノードで256GB、演算加速ノードで512GBだが、GPU利用時やストレージネットワークに
「SR-IOV」を選択した場合はメモリ予約が行われるため、指定できるメモリの最大量が減少する)

GPU数

セキュアプロジェクト時のみ。仮想マシンに割り当てるGPU数を指定する。(最大で8まで指定可)

仮想ディスク(GB)

OS が格納されるハードディスクの容量を指定する。minimal install でも20GB 程度は必要であり、追加インストール するアプリケーションが使用する容量を加味して大きさを見積もる。

ストレージネットワーク

ストレージネットワークとして「仮想NIC(自動)」、「仮想NIC(E1000)」、「PVRDMA」、「SR-IOV」の中から使用する種別を選択。
Lustre を使用する場合、「仮想NIC(自動)」または「SR-IOV」を選択、更にLustre をRDMA で使用する場合は「SR-IOV」を選択する。

サービスネットワーク数

構築する仮想マシンに、いくつのサービスネットワークを接続するかを選択する。単体システムの場合は1で良い。

サービスネットワーク1, 2, ..., n

利用するサービスネットワーク名を指定する。サービスネットワークは上部メニューネットワークのセグメントから
追加できる(プロジェクトの初期設定としてプロジェクト名と同じ名前のセグメントが用意される)。
サービスネットワーク数で選択した数と同数のサービスネットワークの項目を表示・指定できる。

デプロイ後起動する

設定中の仮想マシンのデプロイ後にすぐにマシンを起動したい場合にチェックを入れる。

起動保証仮想マシン

通常・お試しプロジェクト時のみ。設定中の仮想マシンを起動保証仮想マシンとして取り扱う場合にチェックを入れる。

ログインユーザ名

公開鍵が設定されるユーザ名が表示される。

公開鍵

ssh でログインするための公開鍵を指定する。

※1パックにつき割り当てられる資源量は CPUパック・GPUパックについて を参照ください。

  • ゲストOSの選択

項目

説明

ゲストOSファミリ

新規仮想マシンでインストールするOSのファミリをWindows/Linux/その他から選択する

ゲストOSバージョン

新規仮想マシンにインストールするOSの種別・バージョンをリストから選択する

10.3.2. ISOイメージ

この画面では仮想マシンの作成に利用するためのISOイメージをローカル環境からアップロードできます。

仮想マシン・ISOイメージ画面
  1. ISOイメージをアップロードする

    • [参照]からローカル環境のISOイメージを指定し[アップロード]をクリックします。

    仮想マシン・ISOイメージ画面
  2. ISOイメージを削除する

    仮想マシン・ISOイメージ画面

10.4. 仮想マシンの制御に関する機能

本章では、作成した仮想マシンを制御するための各種操作方法について説明します。
仮想マシンの制御に関する各種操作は上部メニューから[仮想マシン] > サイドメニューから[コントロール]をクリックした画面から確認できます。
コントロール画面ではメイン画面に仮想マシンのリストが表示されます。
リストで指定した仮想マシンに対してコントロール画面の各種機能を利用することができます。
仮想マシン・コントロール機能
  1. CONSOLE:仮想マシンの起動状態をコンソールで確認します。

    • OSのインストールを行う場合もコンソールから操作を行います。

  2. MOUNT:仮想マシンにISOイメージのマウントを行います。

  3. SELECT MULTIPLE VMS:仮想マシンの複数の仮想マシンを同時に操作するモード(以後、マルチ操作モード)に移行します。

    • [SELECT MULTIPLE VMS]をクリックしてモードが移行するとボタンの名称が[SELECT SINGLE VM]に変化します。

    • [SELECT SINGLE VM]をクリックすると再度1つの仮想マシンを操作するモード(以後、シングル操作モード)に戻ります。

以下の機能は[ACTION]から利用できます。

  1. 電源:仮想マシンの電源操作を行います。

  2. 構成変更:仮想マシンのハードウェア構成の設定値を変更します。

  3. メンテナンス:仮想マシンのメンテナンス機能を利用します。

10.4.1. 複数の仮想マシンを同時に操作する

[SELECT MULTIPLE VMS]をクリックするとマルチ操作モードに移行し、専用の画面が表示されます。

シングル操作モードでは、仮想マシンの状態によって利用可能な操作が異なるのに対して、
このモードでは、選択したすべての仮想マシンの状態によらずすべての操作が実行できます。
その結果、一部の仮想マシンがその操作を利用できない状態の場合にはそのマシンは操作に失敗します。
  1. 操作する仮想マシン名の左にあるチェックボックスをチェックします。
    すべての仮想マシンを対象とする場合はリスト最上部の項目名左にあるチェックボックスをチェックします。
仮想マシン・複数マシン操作1
  1. 選択した仮想マシンに対する操作を選択します。

仮想マシン・複数マシン操作2
  • 電源:選択した仮想マシンに対して電源関連の操作を行います。

    • 可能な操作は[起動], [シャットダウン], [再起動], [リセット], [強制停止]です。

  • 削除:選択した仮想マシンを削除します。

  • CSVダウンロード:選択した仮想マシンのネットワークに関する情報を出力します。

10.4.2. 電源関連の操作を行う
[ACTION]>[電源]から対象の仮想マシンについて電源関連の操作を行うことができます。
可能な操作は[起動], [シャットダウン], [再起動], [リセット], [強制停止]です。
ただし、対象の仮想マシンに VMWare Tools がインストールされていない場合、
もしくは、VMWare Toolsがインストールされていても実行されていない場合、[シャットダウン]は選択できません。
VMWare Toolsの状態は仮想マシンの詳細情報に表示されるサマリタブ内の項目[VMWare Tools]で確認できます。
マルチ操作モードの場合は仮想マシンの起動状態によらずすべての操作を実行できますが、
無効な操作となる場合は操作に失敗します。
10.4.3. ハードウェア構成設定を変更する

[ACTION]>[構成変更]から仮想マシン作成時に設定したハードウェア構成設定を変更することができます。

  • (通常プロジェクトの場合) パック数

  • (セキュアプロジェクトの場合) CPU数

  • (セキュアプロジェクトの場合) メモリ(GB)

  • (セキュアプロジェクトの場合) GPU数

  • サービスネットワーク数

  • サービスネットワーク

  • 仮想ディスク容量

  • 仮想ディスクの追加・削除

注:仮想ディスク容量を増やす場合には仮想マシン側でパーティションの再設定が必要となります。操作例については こちら をご確認ください。

10.4.4. メンテナンス

[ACTION]>[メンテナンス]からその他の操作を行うことができます。

  • 仮想マシン名変更: 仮想マシンの名称を変更します。

  • 仮想マシンの削除: 仮想マシンを削除します。

  • 仮想マシンのクローン: 仮想マシンのクローンを行います。

  • 仮想マシンの休止: 仮想マシンを休止して仮想マシンに割り当てた計算資源を解放します。

    • 休止後の仮想マシンの状態は、 VMWare Tools のインストール状態によって異なります。

    • VMWare Toolsの状態は仮想マシンの詳細情報に表示されるサマリタブ内の項目[VMWare Tools]で確認できます。

      • VMware Toolsがインストール済みかつ実行されている場合の仮想マシン:シャットダウン → CPUおよびGPUの割り当て解除

      • VMware Toolsがインストールされていない、もしくはインストール済かつ実行されていない場合の仮想マシン:強制停止 → CPUおよびGPUの割り当て解除

  • サービスレベル変更: 現在の仮想マシンのサービスレベルを変更します。「スポット仮想マシン」から「起動保証仮想マシン」への変更あるいは、「起動保証仮想マシン」から「スポット仮想マシン」へ変更します。

  • アロケートのキャンセル: 仮想マシンの起動処理中で空きリソース待ちの際、起動処理中の状態をキャンセルします。

  • OVFインポート: 仮想マシンのOVFイメージをインポートします。

  • OVFエクスポート: 仮想マシンのOVFイメージをエクスポートします。

  • ACL設定:指定したマシンのIPアドレスを元にACLの設定を追加します。詳細は ACL設定

  • DNAT設定:指定したマシンのIPアドレスを元にDNATの設定を追加します。詳細は DNAT設定

10.4.4.1. 仮想マシンのクローンを利用して仮想マシンを複製する

仮想マシンの複製を行いたい場合、[ACTION]>[メンテナンス]>[仮想マシンのクローン]より行います。

クローン時の設定項目は、デプロイ時の設定項目で書かれた一部を指定できますが、項目の説明内容は同じ意味になります。 なお、仮想マシン名の記述形式により、複数の仮想マシンを同時にクローンできます。

10.4.4.2. OVFイメージを利用して仮想マシンを作成する

仮想マシンのOVFイメージを利用してOSのクローンを行います。

  • エクスポート

    注釈

    本操作を行う際は仮想マシンの状態を示すステータス欄が「休止(Deallocated)」であることをご確認ください。

    1. コントロール画面のリストからエクスポートする仮想マシンにチェックを入れます。

    2. [ACTION]>[メンテナンス]から[OVFエクスポート]をクリックします。

    3. 確認画面で[はい]をクリックします。

    4. ブラウザのダウンロード機能でローカルに.ovf、.vmdkファイルの2点を保存します。

  • インポート

    1. [ACTION]>[メンテナンス]から[OVFインポート]を選択します。

    2. ローカルファイルでエクスポート時に生成した.ovf、.vmdkファイルをクリックします。

    3. その他の項目を入力します。詳細は デプロイ時の設定項目 から確認できます。

    4. 入力が完了したら[はい]をクリックします。

10.5. ネットワーク設定

本章では、ネットワークに関する設定を行う手順について説明します。
本設定は上部メニューから[ネットワーク]をクリックした画面から確認できます。
10.5.1. セグメント
個別のネットワーク領域であるセグメントの確認および追加を行います。
設定を確認するためにはサイドメニューから[セグメント]をクリックします。
セグメント画面

リストから任意のセグメントを選択すると、セグメントのパラメータを確認できます。

  • VLAN ID

  • VNI

  • IPアドレス範囲

10.5.1.1. セグメントの追加

新たなセグメントを追加します。

  1. メイン画面・リスト上部の[+セグメント]をクリックします。

セグメント追加画面へ
  1. 新しいセグメントの名称を入力します。

セグメント追加画面
  1. [追加]をクリックします。

10.5.1.2. セグメントの削除

利用されていないセグメントを削除します。

  1. 任意のセグメントを選択します。

  2. メイン画面・リスト上部の[DELETE]をクリックします。

セグメント削除画面へ
  1. 削除しても問題ない場合は[はい]をクリックします。

セグメント削除確認
10.5.2. ACL(Access Control List)

注釈

外部(Internet)からの通信は初期状態では、全て遮断状態です。許可したい通信のみ設定するようお願いします。
ACL設定はセキュリティに関わる重要な設定項目です。各利用者のセキュリティ管理は利用者の自己責任となります。
設定の影響を理解した上で十分ご注意の上設定いただくようお願いします。
セグメントごとに仮想マシンへの接続を許可するネットワークの設定を行います。
本機能はサイドメニューの[ACL]から利用できるほか、仮想マシンのメンテナンスからもアクセス可能です。
本機能ではメイン画面の上部にセグメントのリスト、下部に選択したセグメントのACL設定情報が配置されます。
また、下部のIPv4, IPv6タブからそれぞれのACLを設定することができます。
以下の操作により現在の設定を確認できます。
  1. メイン画面上部リストよりACLの設定を行う任意のセグメントを選択します。

  2. メイン画面下部リストにてIPv4、IPv6のいずれかからネットワーク設定を確認したい方のタブをクリックします。

ACL画面
10.5.2.1. 設定項目

項目

説明

プロトコル

許可するプロトコルを、ICMP(IPv6の場合は"ICMPv6")、TCP、UDPの中から選択する。

Srcアドレス/ SrcPrefix長

アクセスを許可する送信元のIP アドレスを指定する。
Prefix 長によってアドレス範囲が決まる。ここで指定したアドレス以外は接続を許可しない。

Srcポート

アクセスを許可する送信元のポート番号を指定する。ポート番号を指定は、
複数指定(例:「80,443」)、範囲の指定(例:「22-443」)、Any(全て)の指定も可能。

Dstアドレス/ DstPrefix長

アクセスを許可する仮想マシンのIP アドレスを指定する。
Prefix 長によってアドレス範囲が決まる。ここで指定したアドレス以外は接続を許可しない。

Dstポート

アクセスを許可する仮想マシンのポート番号を指定する。ポート番号を指定は、
複数指定(例:「80,443」)、範囲の指定(例:「22-443」)、Any(全て)の指定も可能。

Tips

10.5.2.2. ACLの設定方法
  1. [+RECORD]をクリックします。

ACLのレコード追加画面へ
  1. 各設定項目を入力します。

  2. 入力が完了したら[追加]をクリックします。

10.5.2.3. レコードの削除
  1. 削除したい任意のレコードを選択した状態で[DELETE]をクリックします。

  2. 確認画面が表示されますので問題なければ[はい]をクリックします。

10.5.2.4. レコードの編集
  1. 編集したい任意のレコードを選択した状態で[EDIT]をクリックします。

  2. 編集したい設定項目を更新します。

  3. 入力が完了したら[編集]をクリックします。

10.5.3. DNAT

注釈

プロジェクトに割り当てられたグローバルIPv4アドレスへの通信を、仮想マシンについたプライベートIPv4アドレスに転送し、
プロジェクト外部(インターネットなど)と仮想マシンが直接通信できるようにします。
本設定と合わせて、転送先アドレスへの通信を許可する設定をACLのページで行う必要がありますのでご注意ください。
仮想マシンの宛先プライベートアドレスをグローバルアドレスに変換します(DNAT)。
本機能はサイドメニューの[DNAT]から利用できるほか、仮想マシンのメンテナンスからもアクセス可能です。

DNATにおける設定項目は以下の通りです。

項目

説明

転送元グローバルIPv4アドレス

変換先のグローバルアドレスを指定する。

セグメント

対象となるセグメントを指定する。

転送先プライベートIPアドレス

変換元の仮想マシンのIP アドレスを指定する。

DNATの設定方法を以下で説明します。

10.5.3.1. DNAT設定の追加
  1. [+DNAT]をクリックします。

DNAT追加画面へ
  1. 各設定項目を入力します。

  2. 入力が完了したら[追加]をクリックします。

DNAT追加画面
10.5.3.2. DNAT設定の削除
  1. 削除したい任意のDNAT設定を選択した状態で[DNAT]をクリックします。

DNAT削除画面へ
  1. 確認画面が表示されますので問題なければ[はい]をクリックします。

DNAT削除画面
10.5.3.3. DNAT設定の編集
  1. 編集したい任意のDNAT設定を選択した状態で[EDIT]をクリックします。

DNAT編集画面へ
  1. 編集したい設定項目を更新します。

  2. 入力が完了したら[編集]をクリックします。

DNAT編集画面

10.6. ストレージの利用状況の確認および追加ストレージの申請

本章では、ストレージ利用に関する設定を行う手順について説明します。 本設定は上部メニューから[ストレージ]をクリックした画面から確認できます。

10.6.1. ストレージの利用状況を確認する

ストレージの利用状況はサイドメニューの[ストレージ]から確認できます。

ストレージ・ストレージ画面

また、メイン画面下部の[オブジェクトストレージの申請]から、追加のストレージ利用を申請することができます。

ストレージ・オブジェクトストレージ申請
  1. 申請するストレージのサイズをGB単位で指定します。

  2. 申請内容に問題がないことを確認して[申請]をクリックします。以上でオブジェクトストレージの申請は完了です。

10.6.2. オブジェクトストレージにアクセスするためのキーの確認・追加を行う
オブジェクトストレージにアクセスするためのアクセスキーの確認と追加を行うことができます。
本機能はサイドメニューの[アクセスキー]から利用できます。
ストレージ・アクセスキー画面
  1. アクセスキーを追加します

    • 追加する際にはアクセスキーの有効期限を同時に設定します

  2. アクセスキーを削除します

  3. アクセスキーの有効期限を編集します

  4. アクセスキーの有効・無効状態を切り替えます

10.7. プロジェクトの確認と変更に関する機能

本章では、プロジェクトの基本情報の確認および申請・設定を行う手順について説明します。
本設定は上部メニューから[プロジェクト]をクリックした画面から確認できます。

注釈

本章で説明するプロジェクトに関する変更などの処理は画面ヘッダ部に表示されているプロジェクトに対して行われます。
意図しないプロジェクトに対して変更を行わないようご注意ください。
10.7.1. プロジェクト情報の確認と変更を行う

本機能はサイドメニューの[プロジェクト]から利用できます。

プロジェクト・プロジェクト画面
プロジェクトに関する基本情報と割り当てられている資源量・その利用状況について確認できます。
プロジェクトには以下のような申請・変更を行うことができます。
  1. プロジェクトの資源の申請・期間の変更を申請します。
    設定可能な項目は以下の通りです。本申請はプロジェクト種別が「お試し」以外の場合に実施できます。
    • (通常プロジェクトの場合) CPUパック(起動保証仮想マシン用予約分)

    • (通常プロジェクトの場合) GPUパック(起動保証仮想マシン用予約分)

    • (セキュアプロジェクトの場合) 専有汎用ノード数

    • (セキュアプロジェクトの場合) 専有演算加速ノード数

    • 仮想ディスク(GB)

    • 高速内部ストレージ(GB)

    • 大容量ストレージ(GB)

    • グローバルIPアドレス数

    • 終了期間

  2. プロジェクト名を変更します

  3. プロジェクトを削除します

    注釈

    プロジェクトを削除すると、仮想マシンもすべて削除されアクセスができなくなります。
    削除された仮想マシンを復旧させることはできませんので、ご注意ください。
10.7.1.1. 申請できる資源について

プロジェクト種別ごとに以下「〇」がついている資源を申請できます。

資源

通常

専有

CPUパック(起動保証仮想マシン用予約分)

-

GPUパック(起動保証仮想マシン用予約分)

-

専有汎用ノード数

-

専有演算加速ノード数

-

仮想ディスク

高速内部ストレージ

大容量ストレージ

グローバルIPアドレス数

CPUパック・GPUパックについては mdxにおける資源の単位について で説明しています。
ここで申請できるCPUパック・GPUパックは起動保証仮想マシンを利用するための資源ですので、
スポット仮想マシンのみを利用する場合は申請する必要はありません。(詳細は サービスレベル 参照)
なお、1台の仮想マシンに指定できるパック数の上限は、CPUパックが152パック、GPUパックが8パックとなります。
また、CPUパック・GPUパックはプロジェクトが保有するポイントの残高がゼロを下回り、プロジェクトが停止した場合、
もしくはプロジェクトが期間終了となった場合、すべて解放されます。
  • 上記の資源解放のタイミングで起動保証仮想マシンをデプロイしていた場合、自動でスポット仮想マシンに変更されます。

資源解放後、起動保証仮想マシン用にCPUパック・GPUパックを利用したい場合は再度資源の申請を行います。

専有プロジェクトの場合は CPUパック・GPUパックの単位ではなく、使用するノード種別とノード数を指定して申請します。
ノード毎の資源量は以下の通りです。

名称

仮想CPU数

仮想メモリ量

GPU数

専有汎用ノード

152

約256GB

0

専有演算加速ノード

152

約512GB

8

なお、1台の仮想マシンに指定できるCPU数の上限は152CPU、GPU数の上限は8GPUとなります。

仮想ディスクは仮想マシンの仮想ハードディスク領域で、OSが格納されます。
この領域は、仮想マシン毎に最低20GB程度(minimalinstall)は必要です。
また、仮想マシンにインストールするアプリケーションが使用する容量を考慮して申請量を決める必要があります。
例えば4つの仮想マシンを運用する場合、
ひとつの仮想マシンが使用するハードディスクサイズを80GBと仮定した場合、仮想ディスクの容量は320GBを申請します。
高速内部ストレージと大容量ストレージは、仮想マシンの作業領域として使用するファイルシステムです。
本領域は、プロジェクトが作成する仮想マシンの共用ファイルシステムとなります。
グローバルIPアドレス数は、外部からアクセス可能とする仮想マシン数分を指定します。
例えばプロジェクト全体で16個の仮想マシンを運用し、その内、2個の仮想マシンを外部からアクセス可能とする場合、
グローバルIPアドレス数は2以上を指定します。なお、払い出されるグローバルIPはIPv4であり、
IPv6のアドレスはRA(RouterAdvertisement)によって割り当てられたアドレスで外部からアクセス可能です。
10.7.2. プロジェクトに所属するユーザの確認と変更を行う
現在のプロジェクトに所属しているユーザの確認および追加・削除を行うことができます。
本機能はサイドメニューの[ユーザ]から利用できます。
プロジェクト・ユーザ画面
  1. プロジェクトに新しいユーザを追加します
    設定可能な項目は以下の通りです
    • 認証基盤:ユーザが利用しているアカウントを学認、もしくはmdxローカルアカウント(mdx認証基盤)のいずれかで指定する

    • mdx独自ID or 学認ID:ユーザを識別するための名称

    • メールアドレス:ユーザの連絡先メールアドレス

  2. リストで選択されているユーザをプロジェクトから削除します

  3. リストで選択されているユーザの情報を編集します

10.7.3. 申請の状況を確認する
プロジェクト編集申請やオブジェクトストレージ申請など、現在のユーザの申請状態を確認することができます。
申請リストの項目を選択すると申請した内容の詳細情報を確認できます。
プロジェクト・申請画面
  • 各申請の現在の状態は[ステータス]欄に以下の状態で表示されます。

    • 受付中

    • 承認済み

    • 却下

10.7.4. プロジェクトが保有するポイント状況を確認する

現在のプロジェクトが保有するポイントの状況を確認することができます。本機能はサイドメニューの[ポイント利用状況]から利用できます。

ポイント利用状況画面
  • 確認可能な項目は以下の通りです。

    • ポイント管理番号

    • 購入ポイント数

    • 利用ポイント数

    • 残ポイント数

    • 利用期限

10.7.5. 資源の利用状況を確認する

指定した期間内で利用した資源量と消費したポイントを確認することができます。本機能はサイドメニューの[資源利用状況]から利用できます。

資源利用状況画面
  • 開始および終了日時を年月日と正時で指定した状態で[表示]をクリックすると結果が確認できます。

  • 機能利用時点までの7日・30日・90日・365日の期間の結果を知りたい場合は[最近〇日]をクリックすることでも確認できます。

10.8. その他の機能について

10.8.1. インフォメーション

本内容は上部メニューから[インフォメーション]をクリックした画面から確認できます。

10.8.1.1. ポータル管理者からのお知らせを確認する

ポータルのシステム管理者からシステムのメンテナンス予定や一時的なアナウンスなどの情報を確認することができます。

インフォメーション・お知らせ画面
10.8.1.2. ユーザポータル上で行った操作の進捗状態と履歴を確認する

ユーザポータル上で今までに実施した各種操作について、現在の進捗状態および完了している場合にはその操作の実施結果を確認することができます。

インフォメーション・操作履歴画面
10.8.2. ヘルプ

メールで管理者に問合せを行います。お問合せ画面からメーラーを起動する場合にはお問合せに必要な情報が自動的に挿入されます。

  1. 上部メニューから[ヘルプ]をクリックします。

  2. お問合せ画面の記載事項に従ってメーラーを利用し問合せを行います。

お問合せ画面

11. 複数仮想マシンによるクラスタの作成例

mdx上にデプロイした複数の仮想マシンを使って簡単なクラスタを構築する例について説明します。

11.1. Ansibleとその概要

複数のVMをデプロイしたときに、VMを一台一台手動で設定していくのは現実的ではありません。
そこで複数のマシンを自動で一気に設定してくれるプロビジョニングツールを利用することになります。

ここでは、そうしたプロビジョニングツールのひとつである Ansible を使ってmdx上に複数のVMを展開して設定する例を紹介します。

Ansibleは、OSの中身の設定、たとえばパッケージのインストールや設定ファイルの変更、デーモンの起動など、OSのインストール後に行う作業を自動化するためのツールです。
Ansibleは大量のVMを一気に設定するようなユースケースをはじめさまざまな分野で広く利用されており、Linuxの主要なディストリビューションやmacOSでも実行可能です。

Ansibleを実行するために最低限必要なファイルは、

  • playbook

    設定するマシンの中で実行する処理を記述したYAML形式のファイル

  • inventory

    設定を行う対象のマシンのIPアドレスや付加する情報などを記述したファイル

の2つです。

例えばplaybookとして deploy-jupyter.yaml を用意し、その中にはJupyterlabをデプロイするために必要な処理を記述します。
次にその処理を実行したいVMのIPアドレスを記載したinventoryとして hosts というファイルを用意し、 ansible-playbook -i hosts deploy-jupyter.yaml と打てば、複数のVMにJupyterlabを立ち上げることができます。
Ansibleの特徴のひとつはAgent-lessであることです。
Ansibleでは、 ansible-playbook コマンド (ないし ansible コマンド)を実行して他のホストを設定/制御するホストをControl node、逆にControl nodeから設定/制御されるホスト(この場合はVM)をManaged nodeと呼びます。
Ansibleを実行するためにはControl nodeがManaged nodeへssh(と大抵の場合はsudo)できればよく、事前にManaged nodeに何らかのエージェントソフトウェアを入れる必要はありません。
もちろん、Control nodeにはAnsibleをインストールする必要があります。
                       +---------+
playbook.yaml          |         |
hosts                  | Managed |
+---------+     +----->|  node1  |
|         |     |      |         |
| Control | ssh |      +---------+
|  node   +-----+
|         |     |      +---------+
+---------+     |      |         |
                |      | Managed |
                +----->|  node2  |
                       |         |
                       +---------+
上記の図は、とても簡略化したAnsibleの実行イメージを示しています。
Control nodeに、Managed node1と2のIPアドレスを記載したinventoryファイルを用意し、どのように設定するかを記載したplaybookを用意して ansible-playbook コマンドを実行すると、ssh越しに2台のManaged Nodeが設定されます。

11.2. https://github.com/mdx-jp/machine-configs

machine-configsレポジトリ に、 mdx上で複数のVMによる簡単なクラスタを構築するためのplaybookを用意しています。
ここでは、machine-configsの使い方を説明します。

注釈

現在全てのplaybookは ubuntu server 20.04 テンプレートから作成したVMに対して実行することを想定しています。

クラスタの構築を始めるにあたって、まずはmdx上に複数のVMを作成してください。
仮想マシン利用の流れ を参考に ansible-playbook を実行するVM (ControlNode)を1台と、クラスタになるVM (Managed Node)を必要な台数作成します。
なおControl nodeは、Ansibleがインストールされ、Managed nodeにsshで接続できるホストであれば、mdxのVMである必要はありません。
mdxのVMに割り当てられるIPアドレスは、IPv4はプライベートアドレスですが、IPv6はグローバルアドレスです。
例えば、適切なACLの設定を行えばIPv6疎通性のある手元のホストから直接AnsibleでVMを設定することも可能です。

下の図では、 ansible-playbook を実行する test というノードをubuntu-2004-serverテンプレートからデプロイし、続いてクラスタになる vm1 から vm8 までの8台のVMを、同様にubuntu-2004-serverテンプレートから、VMデプロイ時の仮想マシン名に vm[1-8] と入力することで一度にデプロイしました。

クラスタを構成するためのVMデプロイ例

ACLの設定やssh公開鍵の投入などは、 ネットワーク設定仮想マシン利用の流れ を参照し、利用者自身の環境に合わせて実施してください。

OpenMPIやLustreストレージにRDMAで接続する場合は、ストレージネットワークを SR-IOV で作成してください。

11.3. クラスタの構築: 準備編

11.3.1. Ansibleのインストール
まずは ansible-playbook を実行するVM(上記例では test という名前のVM)にログインし、Ansibleをインストールします (最初にわかりやすさのためにホスト名を変更しています)。
Ansible実行時にはこのホストから各VMにsshすることになります。
そのため、このホストにsshする際はssh-agent (ssh -A)などを用いて、このホストから各VMにmdxuserでsshできるようにしてください。
mdxuser@ubuntu-2004:~$ sudo hostnamectl set-hostname ansible
mdxuser@ubuntu-2004:~$ bash

mdxuser@ansible:~$ sudo apt install ansible
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
cowsay sshpass
The following NEW packages will be installed:
  ansible
  0 upgraded, 1 newly installed, 0 to remove and 17 not upgraded.
Need to get 5794 kB of archives.
After this operation, 58.0 MB of additional disk space will be used.
Get:1 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 ansible all 2.9.6+dfsg-1 [5794 kB]
Fetched 5794 kB in 1s (4666 kB/s)
Selecting previously unselected package ansible.
(Reading database ... 125879 files and directories currently installed.)
Preparing to unpack .../ansible_2.9.6+dfsg-1_all.deb ...
Unpacking ansible (2.9.6+dfsg-1) ...
Setting up ansible (2.9.6+dfsg-1) ...
Processing triggers for man-db (2.9.1-1) ...
11.3.2. machine-configsレポジトリの取得

次にplaybookが用意されている machine-configs のGitレポジトリをクローンしてそこに移動します。

mdxuser@ansible:~$ git clone https://github.com/mdx-jp/machine-configs
Cloning into 'machine-configs'...
remote: Enumerating objects: 785, done.
remote: Counting objects: 100% (785/785), done.
remote: Compressing objects: 100% (510/510), done.
remote: Total 785 (delta 376), reused 622 (delta 214), pack-reused 0
Receiving objects: 100% (785/785), 119.50 KiB | 9.96 MiB/s, done.
Resolving deltas: 100% (376/376), done.
mdxuser@ansible:~$ cd machine-configs/
mdxuser@ansible:~/machine-configs$ ls
ansible.cfg  mdxcsv2inventory.py  playbook.yml  roles
files        mdxpasswdinit.py     README.md     vars
11.3.3. inventoryファイルの作成
playbookを実行するためには、設定したいVMのアドレスを記載したinventoryファイルが必要です。
machine-configsのレポジトリには、このinventoryファイルを簡単に作成するためのスクリプト mdxcsv2inventory.py が用意されています。
ユーザポータルの [仮想マシン]タブから[コントロール]で、[SELECT MULTIPLE VMS]を選択し、[ACTION]の[CSVダウンロード]をクリックすると、VM一覧で選択したVMに関するIPアドレスなどが記載されたCSVファイルをダウンロードすることができます。
ここからダウンロードしたCSVファイルをAnsibleを実行するVMへ(scpやsftpなどで)持っていきます。

mdxcsv2inventory.py にダウンロードしてきたCSVファイルを与えると、CSVファイルに記載されているVMをManaged Nodeとするinventoryファイルを生成します。

mdxuser@ansible:~/machine-configs$ ./mdxcsv2inventory.py user-portal-vm-info.csv
[all:vars]
ansible_user=mdxuser
ansible_remote_tmp=/tmp/.ansible
ethipv4prefix=10.13.200.0/21
rdmaipv4prefix=10.141.200.0/21
ethipv6prefix=2001:2f8:1041:21e::/64

[default]
10.13.204.85    hostname=vm1 ethipv4=10.13.204.85    rdmaipv4=10.141.200.147
10.13.204.83    hostname=vm2 ethipv4=10.13.204.83    rdmaipv4=10.141.200.146
10.13.204.89    hostname=vm3 ethipv4=10.13.204.89    rdmaipv4=10.141.204.70
10.13.200.158   hostname=vm4 ethipv4=10.13.200.158   rdmaipv4=10.141.204.63
10.13.204.90    hostname=vm5 ethipv4=10.13.204.90    rdmaipv4=10.141.200.149
10.13.204.87    hostname=vm6 ethipv4=10.13.204.87    rdmaipv4=10.141.200.150
10.13.204.84    hostname=vm7 ethipv4=10.13.204.84    rdmaipv4=10.141.204.64
10.13.204.86    hostname=vm8 ethipv4=10.13.204.86    rdmaipv4=10.141.204.67
[default] という表記はグループを示しています。Ansibleでは、inventoryでホストをグループにまとめ、playbookの中ではグループに対してどのような処理を行うかを記述します。
mdxcsv2inventory.py は全てのVMのアドレスを記載したグループとしてこの [default] を作成しています。
後で利用するために、この出力結果を hosts.ini というファイルに保存しておきます。
mdxuser@ansible:~/machine-configs$ ./mdxcsv2inventory.py user-portal-vm-info.csv > hosts.ini
11.3.4. Ansibleを実行する前の事前準備
mdxで提供されるubuntuの仮想マシンテンプレートは、mdxuserの最初のログイン時にmdxuserのパスワードを設定する必要があります。
Ansibleはsshした先で設定変更などを行うため、このパスワード設定が完了していないと、Ansibleの実行が失敗します。
そこでmachine-configsに含まれる mdxpasswordinit.py を使って、inventoryファイルの [default] グループのホストに対して一気に初期パスワードを設定します。
mdxuser@ansible:~/machine-configs$ ./mdxpasswdinit.py ./hosts.ini
Target hosts: 10.13.204.85, 10.13.204.83, 10.13.204.89, 10.13.200.158, 10.13.204.90, 10.13.204.87, 10.13.204.84, 10.13.204.86
New Password:
Retype New Password:
initializing the first password...
10.13.204.85: Success
10.13.204.83: Success
10.13.204.89: Success
10.13.200.158: Success
10.13.204.90: Success
10.13.204.87: Success
10.13.204.84: Success
10.13.204.86: Success

この操作はVMに対して一回だけ実行すれば大丈夫です。

11.4. Playbookの準備と実行

現在machine-configsが提供するVMへの操作は、下記の通りです。

Role

Desciprition

common

ホスト名や/etc/hostsを設定し、指定したパッケージをインストールする

desktop_common

xrdpをインストールする

nfs_server

VMをNFSサーバにし、/homeをexportする

nfs_client

NFS越しに/homeをマウントする

ldap_server

VMをLDAPサーバにし、LDAPアカウントを作成する

ldap_client

VMをLDAPクライアントにし、LDAPサーバを参照するように設定する

jupyter

jupyter labをインストールし、デーモンとして起動する

reverse_proxy

VMをリバースプロキシにし、特定ポートへのアクセスを他のVMの特定ポートに転送する

mpi

OpenMPIを使えるように設定する

Ansibleでは、Managed nodeに対して実行する一連の処理をtaskと呼び、そのtaskをひとまとめにしたものをRoleと呼びます。
machine-configsには上記のRoleが含まれています。
machine-configsの playbook.yml が、上記の全てを適用するPlaybookです。
この playbook.yml でホストに対してRoleを適用するブロックは下記のようになっています。
- name: setup NFS server
  hosts: nfsserver
  roles:
  - nfs_server
これは、 nfsserver というホストのグループに対して、 nfs_server のRoleを適用する、という記述です。
mdxcsv2inventory.py はデフォルトでは [default] というグループしか作成しません。
上記を実行するためには、VMが1台所属する nfsserver というグループを作成しなければなりません。
これには、直接inventoryファイルを編集して [nfsserver] というセクションを追加しても大丈夫ですが、下記のように mdxcsv2inventory.py を使用してグループを作成することもできます。
mdxuser@ansible:~/machine-configs$ ./mdxcsv2inventory.py user-portal-vm-info.csv -g nfsserver vm1
[all:vars]
ansible_user=mdxuser
ansible_remote_tmp=/tmp/.ansible
ethipv4prefix=10.13.200.0/21
rdmaipv4prefix=10.141.200.0/21
ethipv6prefix=2001:2f8:1041:21e::/64

[default]
10.13.204.85    hostname=vm1 ethipv4=10.13.204.85    rdmaipv4=10.141.200.147
10.13.204.83    hostname=vm2 ethipv4=10.13.204.83    rdmaipv4=10.141.200.146
10.13.204.89    hostname=vm3 ethipv4=10.13.204.89    rdmaipv4=10.141.204.70
10.13.200.158   hostname=vm4 ethipv4=10.13.200.158   rdmaipv4=10.141.204.63
10.13.204.90    hostname=vm5 ethipv4=10.13.204.90    rdmaipv4=10.141.200.149
10.13.204.87    hostname=vm6 ethipv4=10.13.204.87    rdmaipv4=10.141.200.150
10.13.204.84    hostname=vm7 ethipv4=10.13.204.84    rdmaipv4=10.141.204.64
10.13.204.86    hostname=vm8 ethipv4=10.13.204.86    rdmaipv4=10.141.204.67

[nfsserver]
# group with regexp 'vm1'
10.13.204.85    hostname=vm1 ethipv4=10.13.204.85    rdmaipv4=10.141.200.147

mdxuser@ansible:~/machine-configs$ ./mdxcsv2inventory.py user-portal-vm-info.csv -g nfsserver vm1 > hosts.ini
mdxcsv2inventory.py-g [GROUPNAME] [VMNAME] オプションを使うことで、指定したVMの所属する任意の名前のホストグループを作成することができます。
なお [VMNAME] の部分は正規表現になっているので、複数のVMが所属するグループを作成することもできます。

[nfsserver] の他にも playbook.yml にあるように、LDAPサーバにするには [ldapserver] グループを、リバースプロキシにするには [reverproxy] グループを上記の手順で作成してください。

あとは playbook.yml 自体を編集して、デプロイしたい環境に合わせて、不必要なRoleの適用箇所をコメントアウトしてください。
例えばubuntu serverを使うのであれば、 desktop_common は必要無いかもしれません。

inventoryの作成と playbook.yml の編集が終わったら、下記のコマンドをすると、Ansibleが全VMに設定を実施します。

mdxuser@ansible:~/machine-configs$ ansible-playbook -i hosts.ini playbook.yml

11.5. machine-configsが提供するRole

ここでは、machine-configsに用意されているRoleについて説明します。

11.5.1. common
commonは、VMに対してホスト名を設定し、/etc/hostsを設定し、指定したパッケージをインストールします。
ホスト名や/etc/hostsに記載される名前は、inventoryの hostname などの変数のものです。
また vars/common.yml を編集することで、実行時にインストールするパッケージを追加することが出来ます。
11.5.2. desktop_common
desktop_commonはxrdpをインストールします。
11.5.3. nfs_server
nfs_serverは、VMにNFSサーバをインストールし、/homeをexportします。
このとき、mdxuserのホームディレクトリは/home.local/mdxuserに移動されます。
11.5.4. nfs_client
nfs_clientは、VMにNFSをインストールし、NFSサーバから/homeをマウントします。
このとき、mdxuserのホームディレクトリは/home.local/mdxuserに移動されます。

マウントするNFSサーバは、 [nfsserver] グループの先頭にあるVMになります。

11.5.5. ldap_server
ldap_serverは、VMをLDAPサーバにし、指定されたグループやユーザを作成します。
LDAPドメインやパスワードなどは、 vars/ldap.yml を編集することで変更できます。
LDAPグループやLDAPユーザを作成するには、 machine-configs/files ディレクトリ配下に ldap_groups.csvldap_users.csv というファイルを作成してください。
このCSVファイルのサンプルとして machine-configs/fils ディレクトリに ldap_groups.csv.inldap_users.csv.in が用意してあります。
files/README.md を見つつ、作成したいLDAPグループやLDAPユーザを追加してください。
11.5.6. ldap_client
ldap_clientは、VMにLDAPをインストールし、LDAPクライアントとしてLDAPサーバを参照するようにします。

参照するLDAPサーバは、 [ldapserver] グループの先頭にあるVMになります。

11.5.7. jupyter
jupyterは、jupyter labをインストールし、デーモンプロセスとして実行します。
デーモンプロセスはmdxuserのホームディレクトリにあるvirtualenv環境で起動し、8888番ポートをListenします。
jupyterlabのWeb画面にアクセスする際には、トークンが必要になります。jupyterlabを起動したVMで、 journalctl --no-pager -u jupyterlab を実行すると、jupyterlab起動時のログからトークンつきのURLを取得できます。
11.5.8. reverse_proxy
reverse_proxyは、Nginxをインストールし、リバースプロキシとして設定します。
reverse_proxyの動作は、 [default] グループのVMについて、自身の 8000 + n ポートへのアクセスを各VMの8888番ポートに転送します。
jupyter Roleと組み合わせることで、下記のようなクラスタを構築することができます。
                                   User
                                     |
                                     v
                               mdx Global IPv4
                                  Address
                                     |
                                     |
                       +---------+   |
                       |  Nginx  |   |
                       |   (VM)  |   |
                       +----+----+   |
                            |  ^     |
                            |  +-----+
                            |              Ethernet Network (Private Address)
       +--------------------+------------------+------------------+
       |                    |                  |                  |
       v                    v                  v                  v
+--------------+   +--------------+   +--------------+   +--------------+
|  Jupyterlab  |   |  Jupyterlab  |   |  Jupyterlab  |   |  Jupyterlab  |  ...
|     (VM1)    |   |     (VM2)    |   |     (VM3)    |   |     (VM4)    |
+--------------+   +--------------+   +--------------+   +--------------+
mdxでVMに付与されるIPv4アドレスはプライベートアドレスであり、インターネット越しに直接アクセスすることはできません。
そこで reverse_proxy Roleを適用したVMに DNAT を使ってグローバルIPv4アドレスをマッピングすることで、外部から各VMのjupyter labにアクセスすることができるようになります。

DNATをマッピングしたら、ブラウザで http://[DNATのアドレス]:8001 にアクセスすると、上の図のVM1のJupyterlabに、 http://[DNATのアドレス]:8002 にアクセスすれば、VM2のJupyterlabにアクセスすることができます。

なお、各Jupyterlabは認証無しで起動するので、リバースプロキシになるNginxのVMには適切な ACL を設定してください。

vars/reverse_proxy.yml を編集することで、バックエンドになるVMのグループ(デフォルトは [default])やプロキシする先のポート番号(デフォルトは 8888)を変更することができます。

11.5.9. mpi
mpiは、/etc/bash.bashrc にOpenMPIへのパスを設定します。
VMにインストールされているOpenMPIは、OFEDと一緒にインストールされたものです。

12. FAQ

12.1. ユーザポータル関連

12.1.1. 仮想マシンをcloneした際に、clone元とclone先に同じIPアドレスが割り当たってしまうのはなぜでしょうか?

一般的に、machine-idが変わらないと、同じIPアドレスが割り当たります。

cloneした際に、machine-idもコピーされるので、その結果、同じIPアドレスが割り当てられてしまうことがあります。
cloneする場合は、以下の手順で実施する必要があります。

cloneの手順

  1. clone元の /etc/machine-id を空にする

  2. clone元をシャットダウン

  3. clone実行

なお、本操作を自動で行う機能については、実装方式を検討しています。機能が実装されるまでは、手動での対応をお願いいたします。

12.1.2. 仮想マシンに設定した公開鍵を修正したい場合はどうすればいいですか?
仮想マシンのデプロイ時に設定する公開鍵は後から修正することができません。
公開鍵の修正が必要な場合には、再度仮想マシンのデプロイから実施してください。
12.1.3. DNAT、ACLで何を設定したらよいのか分かりません。
ご利用のネットワークによって設定すべき値が変わります。
ここでは一例を説明しますが、ご自身のネットワーク環境の詳細については、ご自身のネットワークの管理者にご確認ください。
仮想マシンをデプロイした場合、デフォルトで「mdxローカルIPアドレス」が割り当てられます。
外部(インターネット)から、仮想マシンにアクセスする際、DNAT設定によって「mdxローカルIPアドレス」を「mdx側のグローバルIPアドレス」に
紐づける必要があります。
「mdxローカルIPアドレス」は、仮想マシンのコントロール画面の右側で確認できます。
デフォルトでは、サービスネットワーク1のIPv4もしくは、IPv6がその値になります。
「mdx側のグローバルIPアドレス」は、プロジェクト申請時の申請値に基づき、予めプロジェクトに割り当てられます。
DNAT設定画面で、以下の値を設定する必要があります。
転送元グローバルIPv4アドレス:「mdx側のグローバルIPアドレス」
セグメント:デフォルトでは変更する必要ありません。
転送先プライベートIPアドレス:「mdxローカルIPアドレス」
DNAT設定によって、グローバルIPアドレスで、仮想マシンにアクセスできるようになりました。
しかし、ACL設定をしない限りは、このグローバルIPアドレスにはアクセスできません。
安全のため、初期状態ではDNATで設定したグローバルIPアドレスには一切の通信を受け付けない設定がなされています。
そこで、ACLを正しく設定し、通信を許可する設定をする必要があります。この設定を誤ると、仮想マシンへの攻撃、侵入などの
セキュリティ被害を受けることになります。必要最低限の通信を許可するように心がけてください。
作成した仮想マシンに、例えばsshしたい場合は、ACL設定画面で以下の値を設定する必要があります。
プロトコル:TCP
Srcアドレス:ご利用のネットワークのIPアドレス、「利用者側のグローバルIPアドレス」を入力してください。
これが分からない場合、ご自身のネットワークの管理者にご確認ください。
SrcPrefix長:サブネットマスクのことを表しています。255.255.255.0の場合は、24になります。
Srcアドレス同様、これが分からない場合、ご自身のネットワークの管理者にご確認ください。
Srcポート:anyをご指定ください。
Dstアドレス:ここには、「mdxローカルIPアドレス」を設定します。「mdx側のグローバルIPアドレス」ではないのでご注意ください。
DstPrefix長:仮想マシンが1台ならば32になります。複数台ある場合は、DstアドレスとDstPrefix長でネットワークを指定するか、
それぞれACLを書くなどしてください。
Dstポート:sshはデフォルトでは22番ポートを使用します。意図的に変えていない限りは22番をご指定ください。
繰り返しになりますが、ACL設定はセキュリティに関わる重要な設定項目です。各利用者のセキュリティ管理は利用者の自己責任となります。
設定の影響を理解した上で十分ご注意の上設定いただくようお願いします。
12.1.4. 短期間に大量の資源量が必要な場合はどう対処すればよいでしょうか。
一時的に多くの仮想マシンを立ち上げたい等、一時的に仮想マシンリソースを大量に使用したい場合には、サービスレベルの種別として「スポット仮想マシン」をご利用ください。
なお、スポット仮想マシンの特徴については、7.1.1章記載の スポット仮想マシン をご確認ください。
ただし、スポット仮想マシンではなく起動保証用仮想マシンが必要となる場合には、資源情報の状況を加味して、割り当て可能 (承認する) かどうか判断致しますので、以下の情報を記載の上、問い合わせ窓口 (mdx-help@mdx.jp) までメールでご相談ください。
・プロジェクト名、
・利用期間(2023/01/01 - 2023/01/07)、
・必要な資源量(例:16GPU)、
・使用理由(例:深層学習の学習に大量のGPUが必要なため)
注意)ご希望に添えない場合がありますので、予めご了承ください。
12.1.5. IPアドレスが長く待っても割り当たりません。割り当たっていたものが突然無くなってしまいました。
一般的に原因として大きく2つ考えられます。
1. システム障害で、何らかの理由でIPアドレスが払い出せなくなっている可能性
この場合は、特定の仮想マシンだけではなく全体で問題が発生している場合が多いです。
ほかの仮想マシンでも同様のIPアドレスが払い出されない・表示されていない事象が発生しているかご確認ください。
2. OSの問題で、IPアドレスが見えなくなっているの可能性
OSのネットワーク設定が不適切だったり、OSがハングアップしてしまっていたりすると、VMware Toolsが
正しく情報を取得できない状態となり、ポータル上でIPアドレスが確認できなくなります。
この場合、OSを再起動していただくか、ネットワークインタフェースの再起動をコンソールより行ってください。
もし、OSの問題でなかった場合は、お手数ですがお問い合わせください。お問い合わせの際、
OSの状態(アクセスできない、再起動直後か等)を付記いただくと、スムーズに調査が始められます。
12.1.6. ISOイメージからOSをインストールする際にストレージを見つけられないエラーが発生しました
本システムでは、ポータルで仮想マシンを作成する場合に、
ハードディスク用のSCSIコントローラとして「VMware Paravirtual SCSI (PVSCSI) adapter」が使用されます。
OSが本アダプタに対応していない場合、インストール先を検出できません。
VMware Paravirtual SCSI (PVSCSI) adapterに対応したOSを利用することをご検討ください。
12.1.7. GPUパックを利用する仮想マシンの新規作成を行ったが、エラーとなり仮想マシンの作成に失敗する。

GPUパックを利用する仮想マシンの新規作成(デプロイ)時において、「No available ESXi found.」と出力され、 デプロイに失敗する。

仮想マシンは ESXi ホスト上で動作しますが、この ESXi ホストは (GPU の場合、物理ノードとしても) 8 GPU パックを使用する仮想マシンが最大となります。 また、運用仕様上、ESXi ホストは複数の利用者様の仮想マシンを同一 ESXi ホスト上で動作する場合があり、 GPUパック数を指定する数によっては、他の利用者様とリソースを分け合う運用となります。 そのため、GPUの空き資源の状況により、指定のGPUパック数を満たす環境が無く仮想マシンの作成失敗する 場合があります。

仮想マシンの作成に失敗した場合には、指定するGPU パック数について見直しを行い(元の指定数より減らす)、 改めて仮想マシンの新規作成(デプロイ)を実施にて確認をお願いします。

なお、一度に最大で利用可能な GPUパック数は、利用状況により変化するためご留意願います。

12.1.8. 仮想マシンのGPUパック数の変更(増加)を行ったが、エラーとなり増やすことができなかった
仮想マシンのGPUパック数の変更(増加)を行った際、操作履歴のメッセージにて
「Faild to execute action. Please contact your administrator.」と出力され、GPUパック数の増加が失敗する。
仮想マシンが動作している(割当たっている) ESXiホスト上に、他の利用者様が使用している仮想マシンが共存している場合があり、
他の利用者様仮想マシンが残りのGPUリソースを使用している場合、要求したGPUリソースを追加で割り当てることができない可能性があります。
仮想マシンの移動操作を行うことで、新たに割当たったESXiホストにてGPUを割り当て(増加)可能になる場合があるため、
以下の操作をお願いいたします。
なお、多数の利用者様がGPU資源を使用しており、全システムで提供できるGPU資源がひっ迫している状況であるため、
一つのESXiホストで複数個のGPUを利用した仮想マシンを作成(利用)する場合、GPU資源の確保ができない場合がありますことをご承知おきください。
仮想マシンの移動手順は以下です。
※仮想マシンの移動操作は、ユーザポータルより実施願います。
  1. ユーザポータル - 仮想マシン - コントロール の画面で対象の仮想マシンを選択します。

  2. (利用者様にて仮想マシンを起動していた場合) 操作アイコンの「ACTION」で表示される一覧より、電源 - シャットダウン を実行します。(OS コマンドによりシャットダウンしても問題ありません)

  3. 仮想マシン停止後、同じようにACTIONから、メンテナンス - 仮想マシンの休止を実行します。

  4. 仮想マシンの休止完了後、同じようにACTIONから、「ACTION」から、「構成変更」を選択しGPUパック数の変更を実施します。

  5. 仮想マシンを起動頂き利用可能となったことをご確認願います。

6項で行った仮想マシンの起動で、指定のGPUパック数が確保できた場合、仮想マシンの起動に成功します。
起動に失敗した場合には、資源が割り当たらず休止状態(資源解放状態)のままとなります。
操作結果の確認は、「インフォメーション」-「操作履歴」にて確認できます。

12.2. 仮想マシンへの接続関連

12.2.1. どうすれば自分の環境から起動中の仮想マシンにsshで接続できますか?
作成したマシンにグローバルIPアドレスを割り当て(DNAT設定)、さらに割り当てたアドレスに対して通信の許可設定(ACL設定)をする必要があります。
詳細は、 ネットワーク設定 をご確認ください。

なお、本設定はセキュリティに関わる重要な設定です。利用者の責任において各設定を行ってください。

12.2.2. デスクトップと仮想マシン間でファイルのやり取りを行うためにはどうすればいいですか?
ご自身の環境から仮想マシンへSSHできることをご確認いただいた後、SCPコマンドなどでファイル転送を行ってください。
Windowsの場合、WinSCPなども利用可能です。
12.2.3. 仮想マシンへsshログイン後、一定の時間が経過すると切断されてしまう。対応方法を教えてください。

mdxのファイヤーウォールでは、無通信のまま30分以上が経つと切断する設定となっています。

サーバあるいはクライアント側で無通信状態による接続断を防ぐための以下を参考に対応をお願いします。

  • Windows の場合、SSH クライアント (Putty、TeraTerm 等) で keep-alive 設定を行う。

  • サーバ側の sshd_config や ssh_config の設定 (ClientAliveInterval、ClientAliveCountMax)を行う。

12.3. 仮想マシン環境設定関連

12.3.1. 仮想マシンに静的アドレスを設定したい。
仮想マシンに設定されているセグメントに対して提供されているIPアドレス範囲のうち、
ホストアドレスが1~100の範囲のIPアドレスを指定してください。
  • 仮想マシンに設定されているセグメントは、上部メニュー[仮想マシン]をクリックしてメイン画面に表示される仮想マシンの一覧から
    任意の仮想マシンを選択し、右のサマリ情報内サービスネットワーク>セグメントより確認できます。
  • セグメントに割り振られるIPアドレスの範囲は、上部メニュー[ネットワーク]をクリックしてメイン画面に表示されるセグメントの一覧から
    上記で確認したセグメントを選択し、右に表示されるIPアドレス範囲から確認します。
例) IPアドレス範囲に「10.12.120.0/21」と記載されていた場合、
  IPアドレスは「10.12.120.1」~「10.12.120.100」で指定します。

なお、ネットワークの各種設定は、以下の通りです。

  • デフォルトゲートウェイアドレス:仮想マシンに設定されているセグメントに対して提供されているIPアドレス範囲のうち、
    最後から2番目のアドレスになります。
    例)IPアドレス範囲に「10.12.120.0/21」と記載されていた場合、10.12.127.254です。
  • ブロードキャストアドレス:仮想マシンに設定されているセグメントに対して提供されているIPアドレス範囲のうち、
    最後のアドレスになります。
    例)IPアドレス範囲に「10.12.120.0/21」と記載されていた場合、10.12.127.255です。
  • NTPサーバ:172.16.2.[26,27]をご利用ください。

  • DNSサーバ:172.16.2.[26,27]をご利用ください。もしくはPubic DNS(例えば、Googleが提供するPublic DNSサーバ 8.8.8.8 など)をご利用ください。

仮想マシンに静的アドレスを設定する際には、仮想マシン上でNetworkManager等を用いて設定ください。
以下はNetworkManagerのnmtuiツールを使った設定方法の一例です。
  1. ユーザポータルの上部メニューから[仮想マシン]をクリックします。

  2. メイン画面で静的アドレスを設定する任意の仮想マシンを選択した状態で[CONSOLE]をクリックします。

  3. 仮想マシンのコンソール(もしくはターミナル)上で、nmtuiツールを起動します。

    $ sudo nmtui
    
  4. [Edit a connection]にカーソルを合わせてEnterキーを押します。

  5. [Wired connection 1]にカーソルを合わせてEnterキーを押します。

  6. [IPv4 CONFIGURATION]右側の[<Automatic>]にカーソルを合わせてEnterキーを押します。

  7. 表示される項目のうち[<Manual>]にカーソルを合わせてEnterキーを押します。

  8. [IPv4 CONFIGURATION]右側の[<Show>]にカーソルを合わせてEnterキーを押します。

  9. 各項目を選択して上記で決定した設定内容を入力します。なお、[Addresses]にはネットマスクの値を合わせて記載ください(以下入力例)。

    nmtui入力例
  10. 入力が完了したら画面下部の[<OK>]にカーソルを合わせてEnterキーを押します。

  11. 画面下部の[<Back>]にカーソルを合わせてEnterキーを押します。

  12. [Activate a connection]にカーソルを合わせてEnterキーを押します。

  13. [Wired connection 1]にカーソルを合わせてEnterキーを押し,右側に[<Activate>]と表示されることを確認します。

  14. [Wired connection 1]にカーソルを合わせて再度Enterキーを押し,右側に[<Deactivate>]と表示されることを確認します。

  15. 以上で設定は完了です。

また、DNATにてグローバルIPアドレスを設定している場合は、
上記のPublic DNSサーバに対するアクセスができなくなるため、DNSによる名前解決ができなくなります。
DNATとPublic DNSサーバを同時に利用する場合は、ネットワークのACLでPublic DNSサーバに対するアクセス許可ルールを追加してください。

ACLフィルタルール例)

srcアドレス: 8.8.8.8
SrcPrefix長/32
srcポート: 53
Dstアドレス: VMのアドレス
DstPrefix長: 32
Dstポート: any
12.3.2. ストレージネットワーク(PVRDMA)を利用した環境も ストレージネットワーク(SR-IOV)の環境と同様なRDMA によるノード間通信環境が構築可能ですか?
PVRDMA を利用した環境も RDMA と同等のノード間通信環境が構築可能です。
ただし、PVRDMA で構成した場合と、SR-IOV で構成した場合では以下の通りの機能の差があります。
  • PVRDMA (準仮想化RDMA):

    ノード間の RDMA 通信は可能。ただし、ストレージ (Lustre) は TCP 接続となります。

  • SR-IOV:

    ノード間、ストレージ (Lustre) も含め RDMA による通信となります。

PVRDMA ご利用の際にはストレージ (Lustre 領域) への通信種別に違いがあること、
PVRDMA は準仮想化 RDMA であることから、実際の RDMA 通信に比べ性能が劣るケースもございます。
その点をご留意頂き、PVRDMA 環境のご利用をご検討ください。
12.3.3. GPU仮想マシン上でnvidia-smiを使うとGPU-UtilがN/Aと表示されて利用できないGPUがある
対象のGPUでマルチインスタンスGPU (通称MIG)が有効化されている状態です。
nvidia-smiコマンドを使って、対象GPUのMIGを無効化してください。
  1. GPUの状態を確認 (以下の場合、GPU ID 1でMIGが有効化されているため、通常のGPUとして使用できません(MIGとしては利用可能です)。

    mdxuser@ubuntu-2204:~$ nvidia-smi
    Mon Jul 10 22:11:43 2023
    +---------------------------------------------------------------------------------------+
    | NVIDIA-SMI 535.54.03              Driver Version: 535.54.03    CUDA Version: 12.2     |
    |-----------------------------------------+----------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
    |                                         |                      |               MIG M. |
    |=========================================+======================+======================|
    |   0  NVIDIA A100-SXM4-40GB          Off | 00000000:03:00.0 Off |                    0 |
    | N/A   24C    P0              42W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   1  NVIDIA A100-SXM4-40GB          Off | 00000000:05:00.0 Off |                   On |
    | N/A   24C    P0              43W / 400W |      0MiB / 40960MiB |     N/A      Default |
    |                                         |                      |              Enabled |
    +-----------------------------------------+----------------------+----------------------+
    |   2  NVIDIA A100-SXM4-40GB          Off | 00000000:0D:00.0 Off |                    0 |
    | N/A   25C    P0              49W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   3  NVIDIA A100-SXM4-40GB          Off | 00000000:0F:00.0 Off |                    0 |
    | N/A   25C    P0              48W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    
    +---------------------------------------------------------------------------------------+
    | MIG devices:                                                                          |
    +------------------+--------------------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |                   Memory-Usage |        Vol|      Shared           |
    |      ID  ID  Dev |                     BAR1-Usage | SM     Unc| CE ENC DEC OFA JPG    |
    |                  |                                |        ECC|                       |
    |==================+================================+===========+=======================|
    |  No MIG devices found                                                                 |
    +---------------------------------------------------------------------------------------+
    
    +---------------------------------------------------------------------------------------+
    | Processes:                                                                            |
    |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
    |        ID   ID                                                             Usage      |
    |=======================================================================================|
    |  No running processes found                                                           |
    +---------------------------------------------------------------------------------------+
    
  2. MIGは sudo nvidia-smi -i <GPU ID> -mig 0 で無効化できます。無効化すると以下の通り、MIG devices: の表示が消え、GPU-UtilがN/Aから0%になります。

    mdxuser@ubuntu-2204:~$ sudo nvidia-smi -i 1 -mig 0
    Disabled MIG Mode for GPU 00000000:05:00.0
    All done.
    
    mdxuser@ubuntu-2204:~$ sudo nvidia-smi
    Mon Jul 10 22:15:43 2023
    +---------------------------------------------------------------------------------------+
    | NVIDIA-SMI 535.54.03              Driver Version: 535.54.03    CUDA Version: 12.2     |
    |-----------------------------------------+----------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
    |                                         |                      |               MIG M. |
    |=========================================+======================+======================|
    |   0  NVIDIA A100-SXM4-40GB          Off | 00000000:03:00.0 Off |                    0 |
    | N/A   24C    P0              42W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   1  NVIDIA A100-SXM4-40GB          Off | 00000000:05:00.0 Off |                    0 |
    | N/A   24C    P0              42W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   2  NVIDIA A100-SXM4-40GB          Off | 00000000:0D:00.0 Off |                    0 |
    | N/A   25C    P0              49W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    |   3  NVIDIA A100-SXM4-40GB          Off | 00000000:0F:00.0 Off |                    0 |
    | N/A   25C    P0              48W / 400W |      4MiB / 40960MiB |      0%      Default |
    |                                         |                      |             Disabled |
    +-----------------------------------------+----------------------+----------------------+
    
    +---------------------------------------------------------------------------------------+
    | Processes:                                                                            |
    |  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
    |        ID   ID                                                             Usage      |
    |=======================================================================================|
    |  No running processes found                                                           |
    +---------------------------------------------------------------------------------------+
    

12.4. 各種ストレージ利用関連

12.4.1. 高速内部ストレージ、大容量ストレージの利用可能な容量はどこで確認できますか?
12.4.2. dfで高速内部ストレージ、大容量ストレージの使用量/上限値を確認しましたが、正しく表示されていません。
高速内部ストレージ、大容量ストレージは、ファイルシステムとしてlustreを採用しています。
よって、dfでは個人の利用可能なディスク容量は確認できません。

確認方法については、 高速内部ストレージ、大容量ストレージの利用可能な容量を確認する をご確認ください。

12.4.3. 仮想マシンは起動したのですが、Lustre領域(/fast、/large)のマウントに失敗する場合は、どう対処すればよいでしょうか。
ofed 及び lustre のカーネルモジュールの再作成することで、この問題は解決できます。
以下の手順でカーネルモジュールの再作成を行い、lustre 領域が mount されるかご確認下さい。
mlnx-ofed-kernelや、lustre-client-modulesのバージョンは、ご利用の環境に合わせたバージョンを指定願います。
バージョン確認方法として、「dkms status」を実行いただき、「mlnx-ofed-kernel」や「lustre-client-modules」の項目列で確認したバージョンを指定し実行願います。
バージョン指定例:
・mlnx-ofed-kernel:"5.8" など
・lustre-client-modules:"2.12.9-ddn26" など
  1. build された ofed モジュールをアンインストールする

    $ sudo dkms uninstall -m mlnx-ofed-kernel -v [バージョン] -k $(uname -r)
    
  2. ofed モジュールのソースを削除

    $ sudo dkms remove -m mlnx-ofed-kernel -v [バージョン] -k $(uname -r)
    
  3. ofed モジュールのソースをコンパイル

    $ sudo dkms build -m mlnx-ofed-kernel -v [バージョン] -k $(uname -r)
    
  4. build されたofed モジュールをインストール

    $ sudo dkms install -m mlnx-ofed-kernel -v [バージョン] -k $(uname -r)
    
  5. build された lustre_client モジュールをアンインストール

    $ sudo dkms uninstall -m lustre-client-modules -v [バージョン] -k $(uname -r)
    
  6. lustre_client モジュールのソースを削除

    $ sudo dkms remove -m lustre-client-modules -v [バージョン] -k $(uname -r)
    
  7. ofa_kernel_headersのシンボリックリンク先を現在のカーネルリリース情報に置き換える

    $ sudo update-alternatives --set ofa_kernel_headers /usr/src/ofa_kernel/x86_64/$(uname -r)
    
  8. lustre_client モジュールのソースをコンパイル

    $ sudo dkms build -m lustre-client-modules -v [バージョン] -k $(uname -r)
    
  9. build されたlustre_client モジュールをインストール

    $ sudo dkms install -m lustre-client-modules -v [バージョン] -k $(uname -r)
    
  10. 仮想マシンの再起動

    $ sudo reboot
     ※1回の再起動で、立ち上がらない等ありました場合には、少し時間を空け数回再起動を行い状況を確認願います。
    
12.4.4. bucket全体をまとめて公開する方法を教えてください。

bucket 配下の公開/非公開をまとめて行う場合の手順は以下となります。

  1. 各bucket用のポリシーを作成する。

    ※bucketごとにポリシー用のファイルの準備をお願いします。

    ---記載例(ファイル名:bucket_list.json)---
    {
        "Version": "2008-10-17",  ←※変えないでください
        "Statement": [
          {
                "Sid": "bucket_list", ←※記載内容は任意
                "Effect": "Allow",
                "Principal": {
                       "DDN": ["*"]  ←※変えないでください
                },
                "Action": [
                        "s3:ListBucket",
                        "s3:GetObject"
                ],
                "Resource": "bucket_list" ←※公開するbucket名を指定
          }
        ]
    }
    ---ここまで---
    
  2. 作成したポリシーを対象のbuketに適用する。

    $ s3cmd --no-check-certificate setpolicy bucket_list.json s3://bucket_list
    
  3. オブジェクトが公開されていることを確認する。

    "https://s3ds.mdx.jp/bucket_list/<オブジェクト名>"

以上で公開設定完了。

※なお、非公開設定をする場合には、ポリシーのファイル内の「"Effect": "Allow"」を
 「"Effect": "Deny"」に変更し、再度2項目に上げたポリシーの適用を実施する。

12.5. 仮想マシントラブル関連

12.5.1. 仮想マシンが不安定になりました。障害でしょうか。
一般的に仮想マシンが不安定になった場合、OSの問題である可能性が高いです。
以下のログをご確認ください。また、エラー等のログが確認できた場合は、復旧作業を行うなどの必要な対応を行ってください。
・/var/log/kern.log
・/var/log/syslog
・/var/log/kern.log
・/var/log/messages
・/var/log/dmesg
それでも解決しない場合、お手数ですがお問い合わせください。
なお、利用者が立ち上げた仮想マシンの動作環境 (OS の状態等) については mdx 管理者から確認できない事象も多くあり、
解決できない、解決までに時間を要する場合がありますので、予めご承知おき頂きますようお願いいたします。
12.5.2. 仮想マシン上にて特定のGPUを使用すると「CUDA error: uncorrectable ECC error encountered」というメッセージが出力する。
仮想マシン上にて特定のGPUを使用した際「CUDA error: uncorrectable ECC error encountered」
というメッセージが出力した場合、以下の対処をお願いいたします。
  1. エラーカウントの確認のため、以下のコマンドを実行します。
    いずれかのGPUにて下記★印に示す値が"0"より大きい値になっているか確認します。
    # nvidia-smi -q -d ECC
    
    ※以下、出力結果抜粋
    
    GPU 00000000:05:00.0
        Ecc Mode
            Current                           : Enabled
            Pending                           : Enabled
        ECC Errors
            Volatile
                SRAM Correctable              : 0
                SRAM Uncorrectable            : 0
                DRAM Correctable              : 9    ★
                DRAM Uncorrectable            : 11   ★
            Aggregate
                SRAM Correctable              : 0
                SRAM Uncorrectable            : 0
                DRAM Correctable              : 9
                DRAM Uncorrectable            : 11
    
  2. 上記で"0"より大きい値を確認した場合、対象のGPUにて"Uncorrectable Error"のカウント数を
    以下のコマンドにて確認します。
    # nvidia-smi -q -i <GPU番号>
    ※<GPU番号>は、1.でGPU単位で出力した順に番号が指定でき、出力順に、0、1、2・・・となります。
     以下は、GPUの1番(出力単位で2番目のGPU)を指定した場合の出力内容抜粋になります。
    
    ※以下、出力結果抜粋
    
     # nvidia-smi -q -i 1
     ・・<snip>・・
        Remapped Rows
            Correctable Error                 : 0
            Uncorrectable Error               : 2    ★
            Pending                           : No
            Remapping Failure Occurred        : No
    
  3. 実行結果から、"Remapped Rows"項目の"Uncorrectable Error"の値が"8"より小さい場合は、
    以下のコマンドにてGPUデバイスの再起動をお願いいたします。
    # nvidia-smi -r
    
  4. GPUデバイス再起動後に、再度以下のコマンドで、★印のエラーカウントの値が"0"となっているか、ご確認ください。

    # nvidia-smi -q -d ECC -i 1
    
    ※以下、出力結果抜粋
    
    GPU 00000000:05:00.0
        Ecc Mode
            Current                           : Enabled
            Pending                           : Enabled
        ECC Errors
            Volatile
                SRAM Correctable              : 0
                SRAM Uncorrectable            : 0
                DRAM Correctable              : 0    ★
                DRAM Uncorrectable            : 0    ★
            Aggregate
                SRAM Correctable              : 0
                SRAM Uncorrectable            : 0
                DRAM Correctable              : 9
                DRAM Uncorrectable            : 11
    
なお、2.の実行結果で"8"以上の数字の場合には、お手数ですが、
再度以下2点の実行結果をmdx問い合わせ窓口までご連絡のほど、よろしくお願いいたします。
  • 「nvidia-smi -q -i <GPU番号>」の実行結果

  • 「nvidia-smi -q -i <GPU番号> | grep -e "Serial Number" -e "GPU UUID"」の実行結果

13. Tips

下記の操作例はあくまで参考情報となりますので、利用者ご自身の責任でご確認ください。

13.1. 仮想マシンの仮想ディスク容量を追加する場合の手順

注:本操作の設定値に誤りがあった場合には仮想マシン上のデータが削除されてしまうおそれがありますので、利用者ご自身の責任で実施ください。

プロジェクト内で作成した仮想マシンについて、コントロール機能により仮想ディスク容量を追加した場合、
実際に追加分の仮想ディスク容量を使うためには、仮想マシン上での操作が必要となります。

ここではLVM(logical volume manager)の機能を利用した、仮想マシン上で追加した仮想ディスク容量を利用するための設定手順を説明します。

  1. fdisk:新しいパーティションを作成する

    • fdiskを対話モードで開く

    [root@localhost user]# fdisk /dev/sda
    
    • pを入力して、現在のパーティションテーブルを確認する

    Command (m for help): p
    Disk /dev/sda: 9.8 TiB, 10737418240000 bytes,    20971520000 sectors
    ...
    Device       Start      End  Sectors  Size Type
    /dev/sda1     2048  1230847  1228800  600M EFI System
    /dev/sda2  1230848  3327999  2097152    1G Linux    filesystem
    /dev/sda3  3328000 83884031 80556032 38.4G Linux LVM
    
    • nを入力して、新しいパーティションを作成する

    Command (m for help): n
    Partition number (4-128, default 4):
    First sector (83884032-20971519966, default 83884032):
    Last sector, +sectors or +size{K,M,G,T,P}    (83884032-20971519966, default 20971519966):
    
    Created a new partition 4 of type 'Linux filesystem'    and of size 9.7 TiB.
    
    • 再度pを入力して、作成したパーティションが追加されていることを確認する

    Command (m for help): p
    Disk /dev/sda: 9.8 TiB, 10737418240000 bytes,    20971520000 sectors
    ...
    Device        Start         End     Sectors  Size Type
    /dev/sda1      2048     1230847     1228800  600M EFI    System
    /dev/sda2   1230848     3327999     2097152    1G    Linux filesystem
    /dev/sda3   3328000    83884031    80556032 38.4G    Linux LVM
    /dev/sda4  83884032 20971519966 20887635935  9.7T    Linux filesystem
    
    • LVMパーティションのタイプを'Linux LVM'に指定するため、l を入力して、パーティションのタイプ一覧を表示する

    Command (m for help): l
      1 EFI System                        C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      2 MBR partition scheme              024DEE41-33E7-11D3-9D69-0008C781F39F
      ...
      31 Linux LVM                         E6D6D379-F507-44C2-A23C-238F2A3DF928
    
    • tを入力して、新しいパーティションのタイプを指定する

    Command (m for help): t
    Partition number (1-4, default 4):
    Partition type (type L to list all types): 31
    
    Changed type of partition 'Linux filesystem' to    'Linux LVM'.
    
    • wを入力して、設定を保存しfdiskの対話モードを終了する

    Command (m for help): w
    The partition table has been altered.
    Syncing disks.
    
  2. pvcreate:物理ボリュームを作成する

    • pvcreateコマンドで、物理ボリュームを作成する

    [root@localhost user]# pvcreate /dev/sda4
      Physical volume "/dev/sda4" successfully created.
    
    • pvdisplyコマンドで、物理ボリュームが追加されていることを確認する

    [root@localhost user]# pvdisplay
     ...
      "/dev/sda4" is a new physical volume of "<9.73 TiB"
      --- NEW Physical volume ---
      PV Name               /dev/sda4
      VG Name
      PV Size               <9.73 TiB
      Allocatable           NO
      PE Size               0
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               YuRMxQ-sLTN-fgNl-M1nB-kzE3-VOX9-pGq
    
  3. vgextend:現在のボリュームグループに、作成した物理ボリュームを追加し拡張する

    • vgdisplayコマンドで、現在のボリュームグループを確認する

    [root@localhost user]# vgdisplay
      --- Volume group ---
      VG Name               cl
      ...
      Cur PV                1
      Act PV                1
      VG Size               38.41 GiB
      PE Size               4.00 MiB
      Total PE              9833
      Alloc PE / Size       9833 / 38.41 GiB
      Free  PE / Size       0 / 0
      VG UUID               6sMb7k-xEuU-HLwu-32cS-tDJn-OLk0-YVpvEP
    
    • vgextendコマンドで、ボリュームグループに物理ボリュームを追加する

    [root@localhost user]# vgextend cl /dev/sda4
      Volume group "cl" successfully extended
    
    • vgdisplayコマンドで、ボリュームグループが拡張されていることを確認する

    [root@localhost user]# vgdisplay
      --- Volume group ---
      VG Name               cl
      ...
      Cur PV                2
      Act PV                2
      VG Size               9.76 TiB
      PE Size               4.00 MiB
      Total PE              2559592
      Alloc PE / Size       9833 / 38.41 GiB
      Free  PE / Size       2549759 / <9.73 TiB
      VG UUID               6sMb7k-xEuU-HLwu-32cS-tDJn-OLk0-YVpvEP
    
  4. lvextend:ボリュームグループ拡張に伴い論理ボリュームのサイズを拡張する

    • lvdisplayコマンドで、現在の論理ボリュームを確認する

    [root@localhost user]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/cl/swap
      ...
      --- Logical volume ---
      LV Path                /dev/cl/root
      LV Name                root
      VG Name                cl
      LV UUID                0HUU49-A9Nh-HC8a-Fv9P-4oZY-ObZy-WZ0vj6
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2021-03-05 13:04:26 +0900
      LV Status              available
      # open                 1
      LV Size                34.41 GiB
      Current LE             8809
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0
    
    • lvextendコマンドで、ボリュームグループのサイズに合わせて論理ボリュームを拡張する

    [root@localhost user]# lvextend -l +100%FREE /dev/cl/root
      Size of logical volume cl/root changed from 34.41 GiB (8809 extents) to 9.76 TiB (2558568 extents).
      Logical volume cl/root successfully resized.
    
    • lvdisplayコマンドで、論理ボリュームが拡張されていることを確認する

    [root@localhost user]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/cl/swap
      ...
      --- Logical volume ---
      LV Path                /dev/cl/root
      LV Name                root
      VG Name                cl
      LV UUID                0HUU49-A9Nh-HC8a-Fv9P-4oZY-ObZy-WZ0vj6
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2021-03-05 13:04:26 +0900
      LV Status              available
      # open                 1
      LV Size                9.76 TiB
      Current LE             2558568
      Segments               2
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:0
    
  5. xfs_growfs:XFS ファイルシステムを拡張する

    • xfs_growfsコマンドで、マウントしたまま XFSファイルシステムを拡張する

    [root@localhost user]# xfs_growfs /
    meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=2255104 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1
    data     =                       bsize=4096   blocks=9020416, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=4404, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 9020416 to 2619973632
    

以上で、仮想マシンの仮想ディスク容量の追加は完了となります。

13.2. 仮想マシンのディレクトリを手元マシンにマウントする

rcloneやsshfsを使うことで、手元マシンにssh接続先の仮想マシンのディレクトリをマウントできます。

ここでは、rcloneを使って、手元ubuntuマシンからmdx上のubuntu仮想マシンのディレクトリをマウントする方法を記載します。 本手法は、mdx上の仮想マシンから、ssh先の他サーバのディレクトリをマウントする際にも利用できます。

rcloneクライアントは、linuxだけではなく、macやwindowsに対応しています。 詳しくは、公式サイト を確認してください。

  1. rcloneのインストール

    https://rclone.org/install/ に従ってrcloneをインストールしてください。

    aptを使ってインストールした場合は、rcloneのバージョンが古い可能性があるため、後述する自動起動が動作しない可能性があります。 OS起動時にrcloneを自動マウントしたい場合は、rclone公式サイトから最新版をインストールしてください。

    最新版のインストール例:

    # curl https://rclone.org/install.sh | sudo bash
    

    aptを使ったインストール例:

    $ sudo apt install rclone
    
  2. rcloneの設定

    rclone config コマンドを使って対話形式で設定するか、もしくは、~/.config/rclone/rclone.conf を編集して仮想マシンを設定します。 利用する通信方式は、 SFTP を選択してください。 詳しくは、公式サイトの SFTPのページ を確認してください。

    ~/.config/rclone/rclone.conf の設定例:

    [mdx0]
    type = sftp
    host = [2001:XXX:XXX:XXX::XXX]
    user = <user_id>
    key_file = <ssh_key>
    
  3. rcloneを実行

    手元マシンの ~/mnt/mdx0 にmdx上の仮想マシンのディレクトリがマウントされます。

    $ mkdir -p ~/mnt/mdx0
    $ rclone mount mdx0: mnt/mdx0
    
  4. 自動起動の設定

    手元マシンがLinuxの場合は、systemdを使うことでOS起動時にマウントすることが可能です。 本機能を利用したい場合は、最新版のrcloneを使用してください。

    はじめに、mount.rclone がインストールされていない場合は、コマンドを作成します。

    $ sudo ln -s /usr/bin/rclone /sbin/mount.rclone
    

    本設定例では、手元マシンの/mntディレクトリに仮想マシンのディレクトリをマウントします。

    systemdのファイル名には命名規則があるため、/mnt/dataディレクトリにマウントする際は、ファイル名を mnt-data.mountに変更してください。 また config=/home/user/ ... の箇所は、自身の設定ファイルのPATHに変更してください。

    /etc/systemd/system/mnt.mount の設定例:

    [Install]
    WantedBy=multi-user.target
    [Unit]
    After=network-online.target
    [Mount]
    Type=rclone
    What=mdx0:
    Where=/mnt
    Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/home/user/.config/rclone/rclone.conf,cache-dir=/var/rclone
    

    最後にdaemonを起動します。

    $ sudo systemctl enable mnt.mount
    $ sudo systemctl start mnt.mount
    

    手元マシンの /mnt にmdx上の仮想マシンのディレクトリがマウントされます。

13.3. オブジェクトストレージの利用方法例

オブジェクトストレージが提供するS3データサービスは「s3cmd」「AWS CLI」など専用のクライアントツールを使うことでアクセス・利用することができます。
本稿では仮想マシン上でオブジェクトストレージを操作する方法の一例として、「s3cmd」の使い方の一部を記載します。
こちらのマニュアル の内容と合わせてご確認ください。
13.3.1. 前提・ユーザポータルでの申請
ストレージの利用状況の確認および追加ストレージの申請 に記載の手順でオブジェクトストレージを申請します。
承認されると、アクセスキー・秘密鍵・UUIDの3点を入手できます。
13.3.2. s3cmdの利用方法
  1. s3cmdの導入

    s3cmdを仮想マシンにインストールします。インストール方法はOSによって異なります。

    (ubuntuでの操作例)
    $ sudo apt install s3cmd
    
  2. 初期設定を行う

    オブジェクトストレージの申請が承認された際に取得した情報などを用いて初期設定を行います。
    ★印の箇所は記載の通り入力しEnterを入力します。それ以外の箇所はEnterのみ入力します。
    $ s3cmd --configure
    ...
    Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
    Access Key: ★(アクセスキーを入力)
    Secret Key: ★(秘密鍵を入力)
    Default Region [US]: ★us-east-1
    
    Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
    S3 Endpoint [s3.amazonaws.com]: ★s3ds.mdx.jp
    
    Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
    if the target S3 system supports dns based buckets.
    DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: ★s3ds.mdx.jp
    
    Encryption password:
    Path to GPG program [/usr/bin/gpg]:
    Use HTTPS protocol [Yes]:
    HTTP Proxy server name:
    
    Test access with supplied credentials? [Y/n]
    Please wait, attempting to list all buckets...
    Success. Your access key and secret key worked fine :-)  <==これが出ればOK!
    
    Now verifying that encryption works...
    Not configured. Never mind.
    Save settings? [y/N] ★y
    
  3. 各種操作を行う

    • バケットを作成する・削除する

      ・バケットの作成
      $ s3cmd mb s3://(バケット名)
      
      ・バケットの削除
      $ s3cmd rb s3://(バケット名)
      
      バケットの一覧は以下のコマンドで確認できます
      $ s3cmd ls
      
    • バケット上にファイルをアップロードする

      $ s3cmd put (任意のファイル名) s3://(バケット名)
      
    • バケット上のオブジェクトを操作する

      ・オブジェクトのダウンロード
      $ s3cmd get s3://(バケット名)/(任意のオブジェクトキー名)
      
      ・オブジェクトの削除
      $ s3cmd del s3://(バケット名)/(任意のオブジェクトキー名)
      
      バケット上のオブジェクト一覧は以下のコマンドで確認できます
      $ s3cmd ls s3://(バケット名)
      
      すべてのバケット上のオブジェクトを確認したい場合には以下のコマンドが利用できます
      $ s3cmd la
      
    • オブジェクトのアクセスコントロールリスト(ACL)を変更する

      ・オブジェクトをパブリックに公開する
      $ s3cmd setacl --acl-public s3://(バケット名)/(任意のオブジェクトキー名)
      
      公開した場合、ブラウザなどで以下のURLからアクセス可能となります。
      
      - 仮想ホスト形式: https://(バケット名).s3ds.mdx.jp/(任意のオブジェクトキー名)
      - パス形式: https://s3ds.mdx.jp/(バケット名)/(任意のオブジェクトキー名)
      
      ・バケット内のすべてのオブジェクトをパブリックに公開する
      $ s3cmd setacl -r --acl-public s3://(バケット名)
      
      ・オブジェクトを非公開にする
      $ s3cmd setacl --acl-private s3://(バケット名)/(任意のオブジェクトキー名)
      
      バケット内のすべてのオブジェクトを公開/非公開にする場合、バケットに直接ポリシーの設定を行うこともできます。
      ※オブジェクト数が非常に多い場合に有効です
      実施方法は FAQのバケット一括公開手順 をご確認ください。
13.3.3. バケット作成時の注意点

バケット名について以下の制約があります。

  • バケット名はmdx内で一意である必要があります。そのため、単純な名前を指定すると重複により使えない可能性があります。

  • バケット名の文字数および使用できる文字種についてアクセス形式ごとの制約があります。クライアントツールによっては、
    アクセス形式を選択できない場合もあるので、仮想ホスト形式の制約に従いバケット名を決定することを推奨します。
    • 仮想ホスト形式

      • 文字数:3~63文字

      • 使用できる文字種:アルファベット小文字(a-z)、数字(0-9)、ピリオド(.)、ハイフン(-)

    • パス形式

      • 文字数:3~255文字

      • 使用できる文字種:アルファベット大小文字(a-zA-Z)、数字(0-9)、ピリオド(.)、ハイフン(-)、アンダーバー(_)

  • 使用するクライアントツールの仕様により制約に違反した名前のバケットを作成出来てしまう場合がありますが、
    その場合は意図しない動作になる可能性がありますのでご注意ください。
13.3.4. バケット配下のアクセス制御設定
バケット配下をアクセスキー単位で制御を行うことができます。
アクセスキーを追加する手順は、 オブジェクトストレージにアクセスするためのキーの確認・追加を行う を参照してください。

【例1】バケット全体への書き込み権限を、追加したアクセスキーに対して設定する。

  1. bucket用のポリシーを作成する。

    ※bucketごとにポリシー用のファイルの準備をお願いします。

    ---記載例(ファイル名:bucket_acl.json)---
    {
        "Version": "2008-10-17",  ←※変えないでください
        "Statement": [
          {
                "Sid": "bucket_acl", ←※記載内容は任意
                "Effect": "Allow",
                "Principal": {
                       "DDN": [
                               "許可するアクセスキー1のUUID",  ←※許可するアクセスキーのUUIDを指定(複数指定はカンマ区切り)
                               "許可するアクセスキー2のUUID"
                              ],
                },
                "Action": [
                        "s3:ListBucket",
                        "s3:PutObject",
                        "s3:GetObject",
                        "s3:DeleteObject"
                ],
                "Resource": "bucket_acl" ←※公開するbucket名を指定
          }
        ]
    }
    ---ここまで---
    
  2. 作成したポリシーを対象のbuketに適用する。

    $ s3cmd --no-check-certificate setpolicy bucket_acl.json s3://bucket_acl
    

※なお、非公開設定をする場合には、ポリシーのファイル内の「"Effect": "Allow"」を 「"Effect": "Deny"」に変更し、再度ポリシーの適用を実施する。

【例2】バケット全体への読み取りのみの権限を、追加したアクセスキーに対して設定する。

  1. bucket用のポリシーを作成する。

    ※bucketごとにポリシー用のファイルの準備をお願いします。

    ---記載例(ファイル名:bucket_acl.json)---
    {
        "Version": "2008-10-17",  ←※変えないでください
        "Statement": [
          {
                "Sid": "bucket_acl", ←※記載内容は任意
                "Effect": "Allow",
                "Principal": {
                       "DDN": ["許可するアクセスキーのUUID"]  ←※許可するアクセスキーのUUIDを指定
                },
                "Action": [
                        "s3:ListBucket",
                        "s3:GetObject",
                ],
                "Resource": "bucket_acl" ←※公開するbucket名を指定
          }
        ]
    }
    ---ここまで---
    
  2. 作成したポリシーを対象のbucketに適用する。

    $ s3cmd --no-check-certificate setpolicy bucket_acl.json s3://bucket_acl
    

※なお、非公開設定をする場合には、ポリシーのファイル内の「"Effect": "Allow"」を 「"Effect": "Deny"」に変更し、再度ポリシーの適用を実施する。

13.4. Jupyter環境の構築例

13.4.1. 準備

本コンテンツには次の準備が必要です。

  • mdxのプロジェクト申請、仮想マシンの起動、ネットワークの設定、仮想マシンへのアクセス(利用の流れ (quick start))

  • mdxから提供される Ubuntu VM Template

  • PythonとPython用パッケージツール (ここでは pip を例として利用) の準備

    $ sudo apt-get install python, pip
    
13.4.2. Jupyterとその概要
mdxのようなリモート環境へのアクセスはsshなどを使って行うことが多いですが、データ可視化やプログラムの編集即実行などといったインタラクティブな操作には不向きです。
ここでは、Webベースのインタラクティブなソフトウエア開発環境である Jupyter についてmdx上への構築方法を紹介します。
Jupyter環境の構築は、利用人数とリソースの規模によって異なります。
例えば、1人1VMを専有する場合は JupyterLab のみのインストールで十分ですが、複数人で利用する場合はユーザー管理などを含んだ JupyterHub が必要です。
利用人数がさらに多いプロジェクトにには JupyterHub に加え Kubernetes を導入し分散環境を用意する必要があります。
まとめると以下のようになります。

利用人数

ツール

mdx VM 環境

方法

1人での利用

JupyterLab

1 VMのStandaone環境

JupyterLabのインストール方法

少人数での利用

JupyterHub

1 VMのStandaone環境

Standaone環境へのJupyterHubインストール方法 (TLJH)

大人数での利用

JupyterHub + Kubernetes

複数VMの分散環境

分散環境へのJupyterHubインストール方法 (JupyterHub + Kubernetes)

以下それぞれの構築方法を説明します。mdxで提供されるUbuntu VM Templateでの例になります。

13.4.3. JupyterLabのインストール方法

JupyterLabをインストールし立ち上げます。

$ pip install jupyterlab
$ jupyter-lab --no-browser
...
...
[I 2022-10-13 15:13:18.516 ServerApp] Jupyter Server 1.18.0 is running at:
[I 2022-10-13 15:13:18.516 ServerApp] http://localhost:8888/lab?token=XXXXXXXX
[I 2022-10-13 15:13:18.516 ServerApp]  or http://127.0.0.1:8888/lab?token=XXXXXXXX
[I 2022-10-13 15:13:18.516 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 2022-10-13 15:13:18.520 ServerApp]

To access the server, open this file in a browser:
        file:///home/mdxuser/.local/share/jupyter/runtime/jpserver-2356389-open.html
Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=XXXXXXX
or http://127.0.0.1:8888/lab?token=XXXXXXX

これで、JupyterLabのサーバーが立ち上がりました。例えば、SSH Port Forward などを利用して手元のブラウザからアクセスできようになります。

$ ssh -N -L 8888:localhost:8888 mdxuser@{mdxのGlobal IPアドレス}

として、手元環境のブラウザにて上のtoken付きURL http://localhost:8888/lab?token=XXXXXXX からアクセスできます。

例は最小構成のJupyter Labです。より進んだ利用方法は公式のDocsを参照してください。
13.4.4. Standaone環境へのJupyterHubインストール方法 (TLJH)
13.4.4.1. JupyterHub (TLJH distribution) のインストール

JupyterHubの最小構成版であるTLJHをインストールします。(Admin User名 jupyter-admin は任意)

$ curl -L https://tljh.jupyter.org/bootstrap.py | sudo -E python3 - --admin jupyter-admin
...
...
Existing TLJH installation not detected, installing...
Setting up hub environment...
Installing Python, venv, pip, and git via apt-get...
Setting up virtual environment at /opt/tljh/hub
Upgrading pip...
Installing TLJH installer...
Running TLJH installer...
Setting up admin users
Granting passwordless sudo to JupyterHub admins...
Setting up user environment...
Downloading & setting up user environment...
Setting up JupyterHub...
Downloading traefik 1.7.33...
Created symlink /etc/systemd/system/multi-user.target.wants/jupyterhub.service → /etc/systemd/system/jupyterhub.service.
Created symlink /etc/systemd/system/multi-user.target.wants/traefik.service → /etc/systemd/system/traefik.service.
Waiting for JupyterHub to come up (1/20 tries)
Done!
これで、TLJHがインストールと立ち上げができました。
設定したmdxサーバーのGlobal IP を使って、手元のブラウザから http://mdx-global-ip にてアクセスできます。
Login画面

警告

本設定 (IPアドレスをそのまま利用する方法) はhttpを利用するため安全性にリスクがあります。ファイアウォールなどを利用し、信頼されるネットワーク内のみ(たとえば組織内のみ)にアクセスを制限することを推奨します。
もしくは、httpsの設定を行い安全性のある通信を利用します (Enable HTTPS) 。https対応にはドメイン名の取得が別途必要です。
次に新しいユーザーを追加します。
ログインしたJupyterHub の Control Panel > Admin より、ユーザー管理画面に移動します。
ユーザー管理画面

Add Users にて新しいユーザーを追加できます

ユーザー追加画面
13.4.4.2. Lustreディレクトリへのホームディレクトリからのデフォルトリンク
複数ユーザーにてJupyterHubを利用する場合、大規模データの扱いやユーザー間でのデータ共有方法が問題となりますが、mdxのLustreのディレクトリ ( /fast/large ) をJupyterHubからリンクし、共有ディレクトリを作成することですることで問題の解決が可能です。
JupyterHubでの共有ディレクトリは新規ユーザー作成時の設定を変更することで実現します。
まず、/fast 下に共有用ディレクトリ /fast/shared を作成し、全ユーザーからReadアクセス可能にします。(Lustreディレクトリ /fast/large の設定>方法は 高速内部ストレージ、大容量ストレージをマウントする を参照ください。)
$ sudo mkdir /fast/shared
$ sudo chown root:jupyterhub-users /fast/shared
$ sudo chmod 1777 /fast/shared
$ sudo chmod g+s /fast/shared

次に、 /etc/skel を編集し新規ユーザー作成時に /fast/shared をリンクするように設定します。

$ sudo ln -s /fast/shared /etc/skel/fast_shared
これで、新規ユーザー作成時に共有ディレクトリへのリンク ~/fast_shared が生成されるようになりました。
~/fast_shared 下のデータはLustreへ保存されるため、大規模データの扱いが可能です。
また、/large へのリンクも同様の方法です。
13.4.4.3. JupyterLab Interfaceの利用

TLJHはデフォルトではJupyterNotebookインターフェースですが、よりリッチな機能をもつJupyterLabへ切り替えが以下のコマンドで可能です。

$ sudo tljh-config set user_environment.default_app jupyterlab
$ sudo tljh-config reload hub

より進んだ利用方法は公式のTLJH Docsを参照してください。TLJH Installing on your own server

13.4.5. 分散環境へのJupyterHubインストール方法 (JupyterHub + Kubernetes)
13.4.5.1. クラスタ環境およびKubernetes環境の準備
mdxでのクラスタ環境に関しては、 複数仮想マシンによるクラスタの作成例 を参照ください。
Kubernetesに関しての構築方法は様々ありますが、たとえば https://github.com/a-sugiki/k8s-configs を利用するとmdxの機能をより効果的に利用可能です。
13.4.5.2. JupyterHubのインストール

Kubernetesのパッケージ管理ツールである Helm を利用してインストールを行います。 ログインノードにて、以下を実行します。

$ helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
$ helm repo update

JupyterHubのhelm-chartがイントールされました。空の config.yaml ファイルを用意し以下を実行します。 config.yamlが空の場合、Default値によって動作します。

$ helm upgrade --cleanup-on-fail --install <helm-release-name> jupyterhub/jupyterhub --namespace <k8s-namespace> --create-namespace --version=<chart-version> --values config.yaml

たとえば、<helm-release-name>, <k8s-namespace> を jupyter とし version 2.0.0 を実行する場合、以下のようにします。

$ helm upgrade --cleanup-on-fail --install jupyter jupyterhub/jupyterhub --namespace jupyter --create-namespace --version=2.0.0 --values config.yaml

JupyterHubがKubernetes上にデプロイされました。

$ kubectl get pods -n jupyter
などとすると、jupyter namespace上にJupyterHub用のPodsが展開されているのが確認できます。
デプロイ後、config.yamlを変更し、上記コマンドを再実行することによって各種設定を更新することができます。
設定方法の詳細は公式のドキュメント ( Configuration Reference ) を参照してください。
以下例として、機械学習用にDockerイメージや計算リソースを設定します。
13.4.5.3. 機械学習用 JupyterHub 設定例

設定例として、以下を行います。

  • パスワード管理方法の設定

  • Data-Science Notebook イメージの設定

  • リソースの設定

  • 共有フォルダの設定

全ての設定を行うとconfig.yamlは以下のようになります。

hub:
    config:
        JupyterHub:
            authenticator_class: firstuseauthenticator.FirstUseAuthenticator
singleuser:
    image:
        name: jupyter/datascience-notebook
        tag: latest
    cpu:
        limit: 32
        guarantee: 16
    profileList:
        - display_name: "GPU Server"
          description: "Spawns a notebook server with access to a GPU"
          kubespawner_override:
              extra_resource_limits:
              nvidia.com/gpu: "1"
    memory:
        limit: 50G
        guarantee: 50G
    storage:
        capacity: 100Gi
        extraVolumes:
            - name: shm-volume
              emptyDir:
                  medium: Memory
        extraVolumeMounts:
            - name: shm-volume
              mountPath: /dev/shm

以下、設定の説明です。

13.4.5.3.1. パスワード管理方法 (FirstUseAuthenticator ) の設定
TLJHのように初回アクセス時にパスワードを設定する方法は、最もシンプルな実用的方法です。
FirstUseAuthenticator と呼ばれ、config.yamlに以下を追記し設定を行います。
hub:
    config:
        JupyterHub:
            authenticator_class: firstuseauthenticator.FirstUseAuthenticator
他にもJupyterHubではLDAPやOAuth2など様々なユーザーアクセス管理がサポートされています。
詳細は公式のドキュメント ( Authentication and authorization ) を参照してください。
13.4.5.3.2. Data-Science Notebook イメージの設定
Kubernetes 上にデプロイされるJupyterコンテナイメージの変更を行います。 公開されている公式コンテナイメージは様々ありますが、( Selecting an Image )ここでは Data-science Notebook を利用します。
config.yamlに以下を追記します。
singleuser:
    image:
        name: jupyter/datascience-notebook
        tag: latest
13.4.5.3.3. リソースの設定
機械学習のプログラムではGPUなどの計算リソースを大量に利用する必要があります。ここではCPU/GPU/Memory/Storageを再設定し、機械学習のプログラムを十分に実行できるコンテナ環境にします。
config.yamlに以下を追記します。
singleuser:
    cpu:
        limit: 32
        guarantee: 16
    profileList:
        - display_name: "GPU Server"
          description: "Spawns a notebook server with access to a GPU"
          kubespawner_override:
              extra_resource_limits:
              nvidia.com/gpu: "1"
    memory:
        limit: 50G
        guarantee: 50G
    storage:
        capacity: 100Gi
        extraVolumes:
            - name: shm-volume
              emptyDir:
                  medium: Memory
        extraVolumeMounts:
            - name: shm-volume
              mountPath: /dev/shm
13.4.5.3.4. ユーザー間共有フォルダの設定
各ユーザーが立ち上げたJupyterコンテナ間から共通にアクセスできる共有フォルダの設定を行います。
本設定はconfig.yamlの設定に加え、KubernetesにてPersistentVolumeClaim (PVC)の設定を行う必要があります。

まず、DefaultのStorageClassが設定されていることを前提し、以下設定ファイルを作成します (shared-directory.yamlとする)。

kind: PersistentVolumeClaim
    apiVersion: v1
metadata:
    name: jupyterhub-shared-volume
    namespace: jupyter
spec:
    accessModes:
       - ReadWriteMany
    volumeMode: Filesystem
    resources:
        requests:
        storage: 10000Gi

設定ファイルを利用してPVCをデプロイします。

$ kubectl create -f shared-directory.yaml
Kubernetes上にPVCが作成されました。
次に、config.yamlに以下を追記し、helm upgradeを行います。
singleuser:
    storage:
        extraVolumes:
            ....
            - name: jupyterhub-shared
              persistentVolumeClaim:
                  claimName: jupyterhub-shared-volume
        extraVolumeMounts:
            ....
            - name: jupyterhub-shared
              mountPath: /home/jovyan/shared

これで、ユーザー間の共有フォルダ shared が作成されます。

13.5. LustreClient のアップデート手順

既にインストールされているLustreClientに対して、新たに提供されたバージョンへのアップデート手順を以下に記載します。 なお、提供バージョンは以下があり、OSに合わせて適用をお願いします。

  • lustre-2.12.9_ddn48:Ubuntu20.04 は、このバージョンを利用してください。

  • lustre-2.14.0_ddn149:Ubuntu22.04, Rocky 8 は、このバージョンを利用してください。

13.5.1. Ubuntu20.04 仮想マシンの場合

インストール済みのバージョン(lustre-2.12.9_ddn26)から新たな提供バージョン(lustre-2.12.9_ddn48)へのアップデート手順を以下に記載します。

  1. Lustreサービスの停止
    $ sudo systemctl stop lustre_client
    $ sudo systemctl status lustre_client
    
  2. dkmsから現在のLustreClientの削除
    $ sudo dkms uninstall -m lustre-client-modules -v 2.12.9-ddn26 -k $(uname -r)
    $ sudo dkms remove -m lustre-client-modules -v 2.12.9-ddn26 -k $(uname -r)
    
  3. パッケージとパッチのダウンロード
    $ wget http://172.16.2.26/lustre-2.12.9_ddn48.tar.gz
    $ wget http://172.16.2.26/lustre-2.12.9_ddn48.ubuntu20.04.patch
    
  4. パッケージの展開とパッチの適用
    $ tar zxf lustre-2.12.9_ddn48.tar.gz
    $ cd lustre-2.12.9_ddn48
    $ patch -p1 < ../lustre-2.12.9_ddn48.ubuntu20.04.patch
    
  5. LustreClientパッケージのビルド
    $ ./configure --with-linux=/usr/src/linux-headers-$(uname -r) --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    $ make dkms-debs
    
  6. LustreClientパッケージのインストール
    $ cd debs
    $ sudo apt install ./lustre-client-modules-dkms_2.12.9-ddn48-1_amd64.deb
    $ sudo apt install ./lustre-client-utils_2.12.9-ddn48-1_amd64.deb
    
  7. システムの再起動
    $ sudo reboot
    

    再起動後、高速内部ストレージ領域(/fast)や大容量領域(/large)がマウントされていることを確認する。

13.5.2. Ubuntu22.04 仮想マシンの場合

インストール済みのバージョン(2.14.0-ddn93)から新たな提供バージョン(2.14.0-ddn149)へのアップデート手順を以下に記載します。

  1. Lustreサービスの停止
    $ sudo systemctl stop lustre_client
    $ sudo systemctl status lustre_client
    
  2. dkmsから現在のLustreClientの削除
    $ sudo dkms uninstall -m lustre-client-modules -v 2.14.0-ddn93 -k $(uname -r)
    $ sudo dkms remove -m lustre-client-modules -v 2.14.0-ddn93 -k $(uname -r)
    
  3. パッケージとパッチのダウンロード
    $ wget http://172.16.2.26/lustre-2.14.0_ddn149.tar.gz
    
  4. パッケージの展開
    $ tar zxf lustre-2.14.0_ddn149.tar.gz
    $ cd lustre-2.14.0_ddn149
    
  5. LustreClientパッケージのビルド
    $ ./configure --with-linux=/usr/src/linux-headers-$(uname -r) --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    $ make dkms-debs
    
  6. LustreClientパッケージのインストール
    $ cd debs
    $ sudo apt install ./lustre-client-modules-dkms_2.14.0-ddn149-1_amd64.deb
    $ sudo apt install ./lustre-client-utils_2.14.0-ddn149-1_amd64.deb
    
  7. システムの再起動
    $ sudo reboot
    

    再起動後、高速内部ストレージ領域(/fast)や大容量領域(/large)がマウントされていることを確認する。

13.5.3. Rocky 8 仮想マシンの場合

インストール済みのバージョン(lustre-2.12.9_ddn26)から新たな提供バージョン(lustre-2.14.0_ddn149)へのアップデート手順を以下に記載します。

  1. Lustreサービスの停止
    # systemctl stop lustre_client
    # systemctl status lustre_client
    
  2. 旧OFED ドライバのアンインストール
    # /usr/sbin/ofed_uninstall.sh
    
  3. 新OFED ドライバのインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-23.10-3.2.2.0-rhel8.10-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    # mount -o ro,loop MLNX_OFED_LINUX-23.10-3.2.2.0-rhel8.10-x86_64.iso /mnt
    # cd /mnt
    # ./mlnxofedinstall --guest
    
  4. パッケージのダウンロード
    # wget http://172.16.2.26/lustre-2.14.0_ddn149.tar.gz
    
  5. パッケージの展開
    # tar xzf lustre-2.14.0_ddn149.tar.gz
    # cd lustre-2.14.0_ddn149
    
  6. LustreClientパッケージのビルド
    # dnf install json-c-devel
    # ./configure --with-linux=/usr/src/linux-headers-$(uname -r) --with-o2ib=/usr/src/ofa_kernel/default --disable-server --disable-lru-resize
    # make rpms
    
  7. LustreClientパッケージのインストール
    # rpm -Uvh kmod-lustre-client-2.14.0_ddn149-1.el8.x86_64.rpm lustre-client-2.14.0_ddn149-1.el8.x86_64.rpm
    
  8. システムの再起動
    # reboot
    

    再起動後、高速内部ストレージ領域(/fast)や大容量領域(/large)がマウントされていることを確認する。

13.6. 仮想マシン上でプロジェクトの残ポイント数を確認する

仮想マシン上でプロジェクトの残ポイント数を確認する機能を提供しています。
本機能を利用するには、 プロジェクト編集申請 で大容量ストレージを申請する必要があります。
  1. マウント手順 にしたがって、本機能を利用する仮想マシン上に大容量ストレージをマウントします。

  2. 以下を実行してディレクトリを作成します。ディレクトリ作成後、定期的にポイント情報が取得されます。

    # mkdir /large/mdx_status
    

ポイント情報取得後(最大1時間)に、以下を実行することで残ポイント数を確認できます。

$ /large/mdx_status/show_point
Update:            2024-04-01 11:41:54 JST
Remaining Points:     32929.18
Expiration Date:   2024-09-30 JST

See https://oprpl.mdx.jp/ for more detail.

各項目の意味は以下の通りです。

  • Update:ポイント情報を取得した日時

  • Remaining Points:残ポイント数

  • Expiration Date:所有するポイントのうち最も未来の有効期限

個別のポイント情報を確認したい場合は ユーザポータルのポイント利用状況 を参照して下さい。

マニュアル

1. オブジェクトストレージ

mdxが提供するS3データサービス(DDN EXAScaler S3 Data Service)で取り扱うAPI仕様を記載したDataDirect Networks社のマニュアルです。
Tipsのオブジェクトストレージの利用方法例 と合わせてご確認ください。