8.2.4. カスタム GPU ゲストイメージのビルド


GPU 対応コンピュートノードと共にオーバークラウドをデプロイしたら、NVIDIA GRID ゲストドライバーおよびライセンスファイルを使用してカスタムの仮想 GPU 対応インスタンスイメージをビルドします。

NVIDIA GRID ライセンスファイルの作成

オーバークラウドホストで、NVIDIA GRID のライセンス情報が含まれる gridd.conf ファイルを作成します。前のステップでインストールしたセルフホスト NVIDIA GRID ライセンスサーバーからのライセンスサーバー情報を使用します。以下に例を示します。

# /etc/nvidia/gridd.conf.template - Configuration file for NVIDIA Grid Daemon

# This is a template for the configuration file for NVIDIA Grid Daemon.
# For details on the file format, please refer to the nvidia-gridd(1)
# man page.

# Description: Set License Server Address
# Data type: string
# Format:  "<address>"
ServerAddress=[NVIDIA_LICENSE_SERVER_URL]

# Description: Set License Server port number
# Data type: integer
# Format:  <port>, default is 7070
ServerPort=[PORT_NUMBER]

# Description: Set Backup License Server Address
# Data type: string
# Format:  "<address>"
#BackupServerAddress=

# Description: Set Backup License Server port number
# Data type: integer
# Format:  <port>, default is 7070
#BackupServerPort=

# Description: Set Feature to be enabled
# Data type: integer
# Possible values:
#    0 => for unlicensed state
#    1 => for GRID vGPU
#    2 => for Quadro Virtual Datacenter Workstation
FeatureType=[TYPE_ID]

# Description: Parameter to enable or disable Grid Licensing tab in nvidia-settings
# Data type: boolean
# Possible values: TRUE or FALSE, default is FALSE
EnableUI=TRUE

# Description: Set license borrow period in minutes
# Data type: integer
# Possible values: 10 to 10080 mins(7 days), default is 1440 mins(1 day)
#LicenseInterval=1440

# Description: Set license linger period in minutes
# Data type: integer
# Possible values: 0 to 10080 mins(7 days), default is 0 mins
#LingerInterval=10

ゲストイメージおよび NVIDIA GRID ゲストドライバーの準備

  1. NVIDIA の Web サイトから、GPU デバイスに対応する NVIDIA GRID ゲストドライバー RPM パッケージをダウンロードします。必要なドライバーを確認するには、NVIDIA ドライバーダウンロードポータル を参照してください。

    注記

    ポータルからドライバーをダウンロードするには、NVIDIA カスタマーとして登録されている必要があります。

  2. ドライバー RPM パッケージから ISO イメージを作成します。この ISO イメージを使用して、以下の手順でコンピュートノードにドライバーをインストールします。

    [root@virtlab607 guest]# genisoimage -o nvidia-guest.iso -R -J -V NVIDIA nvidia-guest/
    I: -input-charset not specified, using utf-8 (detected in locale settings)
      9.06% done, estimate finish Wed Oct 31 10:59:50 2018
     18.08% done, estimate finish Wed Oct 31 10:59:50 2018
     27.14% done, estimate finish Wed Oct 31 10:59:50 2018
     36.17% done, estimate finish Wed Oct 31 10:59:50 2018
     45.22% done, estimate finish Wed Oct 31 10:59:50 2018
     54.25% done, estimate finish Wed Oct 31 10:59:50 2018
     63.31% done, estimate finish Wed Oct 31 10:59:50 2018
     72.34% done, estimate finish Wed Oct 31 10:59:50 2018
     81.39% done, estimate finish Wed Oct 31 10:59:50 2018
     90.42% done, estimate finish Wed Oct 31 10:59:50 2018
     99.48% done, estimate finish Wed Oct 31 10:59:50 2018
    Total translation table size: 0
    Total rockridge attributes bytes: 358
    Total directory bytes: 0
    Path table size(bytes): 10
    Max brk space used 0
    55297 extents written (108 MB)
  3. GPU インスタンス用にカスタマイズするゲストイメージをコピーします。以下に例を示します。

    [root@virtlab607 guest]# cp rhel-server-8.0-update-4-x86_64-kvm.qcow2 rhel-server-8.0-update-4-x86_64-kvm-gpu.qcow2

カスタマイズスクリプトの作成および実行

デフォルトでは、GPU 負荷用に指定する各インスタンスに NVIDIA GRID ドライバーをインストールする必要があります。そのためには、ゲストイメージを変更し、再起動してからゲストドライバーをインストールします。ゲストインスタンスに対するこのプロセスを自動化するスクリプトを作成することができます。

  1. nvidia-prepare-guest.sh という名前のスクリプトを作成します。このスクリプトにより、必要なリポジトリーを有効にし、インスタンスを最新のカーネルに更新し、NVIDIA GRID ゲストドライバーをインストールし、インスタンスに gridd.conf ライセンスファイルをアタッチします。

    #/bin/bash
    
    # Add build tooling
    subscription-manager register --username [USERNAME] --password [PASSWORD]
    subscription-manager attach --pool=8a85f98c651a88990165399d8eea03e7
    subscription-manager repos --disable=*
    subscription-manager repos --enable=rhel-8-server-rpms
    dnf upgrade -y
    dnf install -y gcc make kernel-devel cpp glibc-devel glibc-headers kernel-headers libmpc mpfr elfutils-libelf-devel
    
    # NVIDIA GRID guest script
    mkdir /tmp/mount
    mount LABEL=NVIDIA /tmp/mount
    /bin/sh /tmp/mount/NVIDIA-Linux-x86_64-430.24-grid.run
    
    mkdir -p /etc/nvidia
    cp /tmp/mount/gridd.conf /etc/nvidia
  2. 前のステップでコピーしたゲストイメージで、スクリプトを実行します。以下に例を示します。

    $ virt-customize --attach nvidia-guest.iso -a rhel-server-8.0-update-4-x86_64-kvm-gpu.qcow2 -v --run nvidia-prepare-guest.sh
  3. カスタムゲストイメージを Glance にアップロードします。

    (overcloud) [stack@director ~]$ openstack image create rhelgpu --file /var/images/x86_64/rhel-server-8.0-update-4-x86_64-kvm-gpu.qcow2 --disk-format qcow2 --container-format bare --public
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.