仮想 GPU で高速化した Linux ワークステーションを作成する


このチュートリアルでは、ディスプレイ対応 GPU を接続して、CentOS 7 を実行する仮想 Linux ワークステーションを作成する方法を説明します。Google Cloud は、4 つのディスプレイ対応 GPU(NVIDIA L4、NVIDIA T4、NVIDIA P4、NVIDIA P100)を提供しています。

Windows ワークステーションを作成するには、仮想 GPU による高速 Windows ワークステーションの作成のチュートリアルをご覧ください。

仮想ワークステーションを作成した後、PC-over-IP(PCoIP®)テクノロジーを使用する HP Anyware(旧 Teradici CAS)でリモート アクセスする方法について学びます。PCoIP は、メディア、エンターテイメント、ゲーム開発、アーキテクチャ、エンジニアリング業界で広く使用されているリモート デスクトップ プロトコルです。PCoIP は、これらの業界でのワークロードに不可欠な機能(色精度、複数モニターのサポート、ロスレス ディスプレイ、タブレットの圧力感度など)を提供します。

このチュートリアルは、Linux コマンドラインに精通していることを前提としています。

目標

  • GPU を使用して Compute Engine インスタンスを作成します。このインスタンスは、仮想ワークステーションの基盤として機能します。
  • 仮想ワークステーションに NVIDIA ドライバをインストールします。
  • 仮想ワークステーションに HP Anyware ソフトウェアをインストールします。
  • PCoIP ソフトウェア クライアントを使用して仮想ワークステーションに接続します。

費用

このチュートリアルでは、課金対象である次の Google Cloud コンポーネントを使用します。

料金計算ツールを使用すると、予想使用量に基づいて費用の見積もりを作成できます。2023 年 10 月の時点で、このチュートリアルで示しているワークステーション構成の概算費用は 1 時間あたり US$1.08 です。

このチュートリアルで、仮想ワークステーションを構成するリソースとコストに影響する要素は次のとおりです。

インターネット データ転送は、仮想ワークステーションからローカルのディスプレイ クライアントにストリーミングされ、インターネット送信データ転送の費用で課金されるデータを表します。PCoIP セッション中のデータ転送に影響を与える変数は、帯域幅、画面解像度、ディスプレイ モニターの台数、使用するアプリケーション、各モニターのアクティビティの種類です。HP Anyware の Session Planning Guide は、さまざまなワークロード要件を理解するのに役立ちます。

始める前に

このチュートリアルでは、Google Cloud CLI を使用します。この CLI は、Google Cloud コンソールから起動された Cloud Shell インスタンスから実行できます。ローカル ワークステーションで gcloud CLI を使用する場合は、Google Cloud CLI をインストールします。このチュートリアルでは、Cloud Shell でコマンドを実行する方法を説明しています。お使いのワークステーションで gcloud CLI を使用する場合、ここでの説明は環境に合わせて読み替えてください。

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Compute Engine API を有効にします。

    API を有効にする

  5. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  6. Google Cloud プロジェクトで課金が有効になっていることを確認します

  7. Compute Engine API を有効にします。

    API を有効にする

また、次の条件が整っていることを確認してください。

  • 選択したゾーン内に NVIDIA L4 仮想ワークステーション GPU の割り当てを持つ Google Cloud プロジェクト。gcloud compute accelerator-types list コマンドを使用すると、GPU の可用性リストを取得できます。
  • Google Cloud コンソールにアクセスするための Google Chrome ブラウザ。
  • 仮想ワークステーションにアクセスするための最新の PCoIP Client ソフトウェア(Windows、Mac、または Linux 用)。
  • HP Anyware ソフトウェアをダウンロードするための help.teradici.com のアカウント。アカウント登録は無料です。
  • HP Anyware ソフトウェア ライセンス。トライアル ライセンスをリクエストするか、HP Teradici の担当者に問い合わせて、この仮想ワークステーションに使用するトライアル登録コードを依頼します。

アーキテクチャ

次の図は、このチュートリアルで単一の仮想ワークステーションをデプロイするためのコンポーネントを示しています。図に示すオプションのコンポーネントには、仮想ワークステーションに接続するさまざまな方法、共有ストレージ、サードパーティ ライセンスを提供するための追加のインスタンス、レンダリングまたはコンピューティング ファームを表す追加のインフラストラクチャが含まれています。

仮想ワークステーション アーキテクチャ。

リージョンを選択する

仮想ワークステーションをデプロイする際に重要になるのは、デベロッパーのロケーションと作成されたインスタンスとの間のレイテンシです。レイテンシが短いほど、より良いエクスペリエンスが得られます。したがって、可能な限り地理的に近いリージョンを選択することをおすすめします。さまざまな GPU が利用可能な場所の詳細については、GPU のリージョンとゾーンの可用性をご覧ください。

  1. Cloud Shell を開きます。(gcloud CLI を使用している場合は、パソコンのターミナル ウィンドウを開きます)。

    Cloud Shell に移動

  2. 次に、GPU が利用可能なゾーンのリストを取得します。

    gcloud compute accelerator-types list

    物理的に最も近いリージョンとゾーンをメモします。

  3. 使用するゾーンを設定します。

    gcloud config set compute/zone ZONE

    ZONE は、使用しているゾーンの名前(us-west1-b など)に置き換えます。

マシンタイプを選択する

NVIDIA L4 GPU は、G2 マシンタイプにアタッチされます。GPU を 1 つ以上使用する仮想マシンには、インスタンスに追加する GPU ごとに vCPU の最大数が設定されます。たとえば、各 NVIDIA L4 GPU では、インスタンスのマシンタイプで最大 32 個の vCPU と最大 128 GB のメモリを使用できます。各種の GPU 構成で使用可能な vCPU とメモリの範囲を確認するには、GPU リストをご覧ください。

このチュートリアルの例では、8 個の vCPU の G2 仮想ワークステーションで構成されており、これは、単一の NVIDIA L4 GPU に対する vCPU 32 個の制限をはるかに下回ります。

仮想ワークステーションを作成する

  1. Cloud Shell で、Compute Engine 仮想ワークステーション インスタンスを作成します。

    gcloud compute instances create NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    次のように置き換えます。

    • NAME は、ワークステーションの名前です。
    • ZONE は VM を作成するゾーンです。
    • MACHINE_TYPE は、事前定義済みまたはカスタムのマシン構成です。
    • ACCELERATOR は、接続する GPU のタイプ(nvidia-tesla-t4-vws など)です。
    • NUM-GPUS は、VM に接続する GPU の数です。
    • SIZE は、ブートディスクのサイズ(GB)です。
    • TYPE は、ブートディスクのタイプです。使用可能なディスクタイプのリストを取得するには、gcloud compute disk-types list を実行します。
    • NETWORK は、VM を作成するネットワークです。

    次に例を示します。

    gcloud compute instances create test-workstation \
        --zone=us-west1-b \
        --machine-type=g2-standard-8 \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

    仮想ワークステーションが作成されると、マシンのステータスが表示されます。出力は次のようになります。

    NAME: test-workstation
    ZONE: us-west1-b
    MACHINE_TYPE: g2-standard-8
    PREEMPTIBLE:
    INTERNAL_IP: 10.138.XX.XXX
    EXTERNAL_IP: XX.XXX.XXX.XXX
    STATUS: RUNNING
    

    仮想ワークステーションの外部 IP アドレスをメモしておきます。これはチュートリアルの後半で使用します。

    仮想ワークステーションの外部 IP アドレスは、Google Cloud コンソールを使用していつでも取得できます。

仮想ワークステーションにログインする

仮想ワークステーションの作成が完了したら、マシンにログインして構成できます。

  1. Cloud Shell で、新しい仮想ワークステーションに接続します。

    gcloud compute ssh NAME
  2. アカウントのパスワードを設定します。Teradici PCoIP を使用するには、ユーザー パスワードが必要です。

    sudo passwd `whoami`

    プロンプトが表示されたら、パスワードを入力します。チュートリアルの後半で、このパスワードを使用して Teradici PCoIP クライアントから仮想ワークステーションにログインします。

グラフィック ライブラリとウィンドウ マネージャをインストールする

Google Cloud のデフォルトの CentOS 7 イメージは、CentOS 7.x の最小インストールです。次の手順では、仮想ワークステーションをグラフィック ワークステーションとして実行するために必要なライブラリをインストールします。このチュートリアルでは、KDE ウィンドウ マネージャもインストールします。

  1. ソフトウェア リポジトリを更新します。

    sudo yum -y update
  2. 必要なコンポーネントをインストールします。

    sudo yum -y install \
      kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    sudo yum -y groupinstall \
      "KDE desktop" "X Window System" "Fonts" \
      "Development Tools" "Server with GUI"
    
  3. ワークステーションを再起動します。

    sudo reboot

    Cloud Shell からの接続が閉じられます。

NVIDIA ドライバをインストールする

NVIDIA L4、NVIDIA T4、NVIDIA P4、NVIDIA P100 GPU は、可視化ワークロード用の認定 NVIDIA RTX 仮想ワークステーション ドライバを搭載した Google Cloud でのみ動作します。これらのドライバは、公開 Google Cloud Storage バケットからダウンロードできます。

  1. 仮想ワークステーションが再起動したら、Cloud Shell で仮想ワークステーションに再接続します。

    gcloud compute ssh NAME
  2. システムに正しいカーネル ヘッダーがインストールされていることを確認します。

    sudo yum -y install kernel-devel-$(uname -r) \
      kernel-headers-$(uname -r)
    
  3. 最新の NVIDIA RTX 仮想ワークステーション ドライバをインストールするには、手順(ステップ 3 のみ)に沿って操作してください。

  4. ワークステーションを再起動します。

    sudo reboot

HP Anyware ソフトウェアをインストールする

HP Anyware ソフトウェアは、仮想ワークステーション上で動作するグラフィック エージェントを提供し、ハードウェアまたはソフトウェア クライアントにデスクトップを提供します。

  1. 仮想ワークステーションが再起動したら、Cloud Shell で仮想ワークステーションに再接続します。

    gcloud compute ssh NAME
  2. Teradici ソフトウェア リポジトリを追加します。

    curl -1sLf \
        https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.rpm.sh \
        | sudo -E distro=el codename=7 bash
    

    次のように置き換えます。

  3. ソフトウェア リポジトリを更新します。

    sudo yum -y update
  4. 省略可: キーボード、マウス、ポインタ デバイス以外の USB デバイスをサポートする必要がある場合は、USB 依存関係をインストールします。

    sudo yum -y install usb-vhci
  5. HP Anyware ソフトウェアをインストールします。

    sudo yum -y install pcoip-agent-graphics
  6. 表示状態を graphical に設定します。

    sudo systemctl set-default graphical.target
  7. 仮想ワークステーションを再起動します。

    sudo reboot

Anyware グラフィック エージェントを登録する

Anyware グラフィック エージェントを使用するには、HP Anyware ライセンスが必要です。

  1. Cloud Shell で、HP Anyware ソフトウェア ライセンスを有効化します。

    pcoip-register-host --registration-code=REGISTRATION-CODE

    REGISTRATION-CODE は、HP Teradici から入手した ABCDEFGHIJKL@0123-4567-89AB-CDEF 形式のコードに置き換えます。

  2. 仮想ワークステーションを再起動します。

    sudo reboot

ファイアウォール ルールを作成する

PCoIP クライアントは、複数のポートを使用して仮想ワークステーションと通信します。仮想ワークステーションへのトラフィックを許可するようにファイアウォール ルールを設定する必要があります。

  • (仮想ワークステーションではなく)ローカル コンピュータ上の Cloud Shell で、必要なポートを開くファイアウォール ルールを作成します。

    gcloud compute firewall-rules create allow-pcoip \
        --action=ALLOW \
        --rules=tcp:443,tcp:4172,udp:4172 \
        --source-ranges=0.0.0.0/0
    

PCoIP クライアントを使用して仮想ワークステーションにログインする

  1. ローカルのパソコンで、HP Anyware サポートページの「PCoIP Clients」セクションに移動します。使用中のオペレーティング システムに対応する PCoIP Software Client アプリケーションをダウンロードしてインストールし、起動します。

  2. [Host Address] または [Registration Code] フィールドに、仮想ワークステーションの外部 IP アドレスを入力します。必要に応じて、接続の名前を入力できます。

  3. 接続されたら、仮想ワークステーション用に作成したユーザー名とパスワードを入力して認証します。

    数秒後に Linux のデスクトップが表示されます。

仮想ワークステーションをテストする

仮想ワークステーションをデプロイした後、さまざまなツールを使用してパフォーマンスとインタラクティビティをテストできます。

  • Linux ワークステーションでグラフィックのパフォーマンスをテストするプログラムである glxgearsglmark2UNIGINE などの GPU ベンチマーク ツールを実行します。
  • Unreal EngineUnity EditorBlender などの任意のコンテンツ作成アプリケーションをインストールします。
  • V-RayOctaneMaxon など一般的なレンダラのレンダリング ベンチマーク ツールを実行します。
  • Google Chrome を使用してお気に入りのサイトを閲覧したり、YouTube 動画を再生したりします。

ワークロードに基づく PCoIP パフォーマンスの最適化の詳細を確認することもできます。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

チュートリアルが終了したら、Google Cloud で作成したリソースをクリーンアップして今後料金が発生しないようにします。

仮想ワークステーションを停止する

仮想ワークステーションを停止すると、永続ディスクの費用が発生しますが、いつでも再起動できます。仮想ワークステーションを停止するには、Cloud Shell で次のコマンドを実行します。

gcloud compute instances stop test-vws

プロジェクトを削除する

  1. Google Cloud コンソールで、[リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

すべてのコンポーネントの削除

  1. 仮想ワークステーションを削除します
  2. ファイアウォール ルールを削除します

次のステップ