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

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

6.1. 資源量の確認

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

  • ダッシュボード

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

ダッシュボード

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

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

6.2.1. 仮想マシンテンプレートを利用して、仮想マシンを作成する

  1. 上部メニューから[仮想マシン]をクリックします。

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

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

    • 入力できる項目の詳細については こちら をご確認ください。

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

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

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

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

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

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

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

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

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

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

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

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

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

6.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. 上記が確認できましたら以上で起動処理は完了となります。

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

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

6.3.1. ACL(アクセスコントロールリスト)の設定

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

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

6.3.2. DNAT(デスティネーションNAT)の設定

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

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

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

デプロイ時に設定されていたログインユーザ名およびデプロイ時に入力した公開鍵とペアになる秘密鍵を用いて仮想マシンにログインします。
アクセス時は自身のターミナルから仮想マシンのアドレスにsshで接続します。

6.4.1. 他のメンバが管理する仮想マシンにアクセスする場合

仮想マシンの作成者に問い合わせて、アクセスに必要な情報を入手してください。
利用形態によって必要な情報は異なります。詳細はプロジェクト管理者にご確認ください。
一般的には以下のような情報が必要です。
  • 仮想マシンのグローバルIPアドレス

  • ユーザ名

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

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

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

6.5.1. Ubuntu20.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ストレージがマウントされます。

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

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

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

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

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

    # wget http://172.16.2.26/lustre-2.12.9_ddn26.tar.gz
    # wget http://172.16.2.26/lustre_config_centos_rdma.tgz
    # wget http://172.16.2.26/lustre_config_centos_tcp.tgz
    
  3. Lustre Client パッケージビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    # sudo yum install keyutils-libs-devel libmount-devel libyaml-devel libselinux-devel binutils-devel bison flex
    # tar xzf lustre-2.12.9_ddn26.tar.gz
    # cd 2.12.9-ddn26
    # 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.12.9_ddn26-1.el8.x86_64.rpm lustre-client-2.12.9_ddn26-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 に複写します。

6.5.3. 仮想マシンテンプレートを使用しない場合 (ubuntu20.04)

  1. OFED ドライバインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-5.6-2.0.9.0-ubuntu20.04-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    $ sudo mount -o ro,loop MLNX_OFED_LINUX-5.6-2.0.9.0-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_ddn26.tar.gz

    • lustre-2.12.9_ddn26.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_ddn26.tar.gz
    $ wget http://172.16.2.26/lustre-2.12.9_ddn26.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のビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    # sudo apt install build-essential libyaml-dev zlib1g-dev linux-headers-$(uname -r) module-assistant libreadline-dev libselinux1-dev libsnmp-dev mpi-default-dev libssl-dev debhelper dpatch quilt libkeyutils-dev libmount-dev bison flex
    # tar zxvf lustre-2.12.9_ddn26.tar.gz
    # cd lustre-2.12.9_ddn26
    # patch -p1 < ../lustre-2.12.9_ddn26.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 2.12.9-ddn26/debs
    $ sudo apt install ./lustre-client-modules-dkms_2.12.9-ddn26-1_amd64.deb
    $ sudo apt install ./lustre-client-utils_2.12.9-ddn26-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ストレージがマウントされます。

6.5.4. 仮想マシンテンプレートを使用しない場合 (ubuntu22.04)

  1. OFED ドライバインストール
    Mellanox 社のWeb からOFED ドライバのISO イメージ「MLNX_OFED_LINUX-5.6-2.0.9.0-ubuntu22.04-x86_64.iso」を入手します。
    ISO イメージをマウントし、インストールスクリプトを実行します。この際、インストールするモジュールの選択として「--guest(VM のゲストOS 用)」を指定します。
    $ sudo mount -o ro,loop MLNX_OFED_LINUX-5.6-2.0.9.0-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_ddn93.tar.gz

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

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

    $ wget http://172.16.2.26/lustre-2.14.0_ddn93.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のビルド
    入手したソースプログラムを展開し、パッケージの構築を行います。
    $ sudo apt-get update
    $ sudo apt-get upgrade
    $ sudo apt install build-essential libyaml-dev zlib1g-dev linux-headers-$(uname -r) module-assistant libreadline-dev libselinux1-dev libsnmp-dev mpi-default-dev libssl-dev debhelper dpatch quilt libkeyutils-dev libmount-dev libjson-c-dev bison flex
    # tar zxvf lustre-2.14.0_ddn93.tar.gz
    # cd lustre-2.14.0_ddn93
    # ./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 lustre-2.14.0_ddn93/debs
    $ sudo apt install ./lustre-client-modules-dkms_2.14.0-ddn93-1_amd64.deb
    $ sudo apt install ./lustre-client-utils_2.14.0-ddn93-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ストレージがマウントされます。

6.5.5. 高速内部ストレージ、大容量ストレージの利用可能な容量を確認する

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       -