このチュートリアルでは、ディスプレイ対応 GPU を割り当てて Ubuntu 22.04 を実行する仮想 Linux ワークステーションを作成する方法について説明します。Cloud de Confiance by S3NS は、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 が利用可能な場所の詳細については、GPU のリージョンとゾーンの可用性をご覧ください。
Cloud Shell を開きます。(gcloud CLI を使用している場合は、パソコンのターミナル ウィンドウを開きます)。
次に、GPU が利用可能なゾーンのリストを取得します。
gcloud compute accelerator-types list
物理的に最も近いリージョンとゾーンをメモします。
使用するゾーンを設定します。
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 個の制限をはるかに下回ります。
仮想ワークステーションを作成する
Cloud Shell で、Compute Engine 仮想ワークステーション インスタンスを作成します。
gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=ACCELERATOR,count=NUM-GPUS \ --maintenance-policy="TERMINATE" \ --image-project=ubuntu-os-cloud \ --image-family=ubuntu-2204-lts \ --boot-disk-size=SIZE \ --boot-disk-type=TYPE \ --network=NETWORK
次のように置き換えます。
VM_NAME
は、ワークステーションの名前です。ZONE
は VM を作成するゾーンです。MACHINE_TYPE
は、事前定義済みまたはカスタムのマシン構成です。ACCELERATOR
は、接続する GPU のタイプ(nvidia-l4-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=ubuntu-os-cloud \ --image-family=ubuntu-2204-lts \ --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 アドレスは、Cloud de Confiance コンソールを使用していつでも取得できます。
仮想ワークステーションにログインする
仮想ワークステーションの作成が終わったら、マシンにログインして構成できます。
Cloud Shell で、新しい仮想ワークステーションに接続します。
gcloud compute ssh VM_NAME
アカウントのパスワードを設定します。PCoIP ソフトウェア クライアントを使用して仮想ワークステーションにログインするには、ユーザー パスワードが必要です。
sudo passwd `whoami`
プロンプトが表示されたら、パスワードを入力します。チュートリアルの後半で、このパスワードを使用して HP Anyware PCoIP クライアントから仮想ワークステーションにログインします。
ベース ライブラリをインストールする
Cloud de Confiance のデフォルトの Ubuntu 22.04 イメージは、Ubuntu の最小インストールです。次の手順では、仮想ワークステーションをグラフィック ワークステーションとして実行するために必要なライブラリをインストールします。
ソフトウェア リポジトリを更新します。
sudo apt update
ベース コンポーネントをインストールします。
sudo apt install -y build-essential sudo apt install -y libvulkan1
NVIDIA ドライバのバージョンを
gcc
に更新します。sudo apt install -y gcc-12 sudo apt install -y linux-headers-$(uname -r) sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12 sudo update-alternatives --config gcc
NVIDIA ドライバをインストールする
NVIDIA L4、NVIDIA T4、NVIDIA P4、NVIDIA P100 GPU は、可視化ワークロード用の認定 NVIDIA RTX 仮想ワークステーション ドライバを搭載した Cloud de Confianceでのみ動作します。このドライバは、一般公開 Cloud de Confiance ストレージ バケットからダウンロードできます。
最新の NVIDIA RTX 仮想ワークステーション ドライバをインストールするには、手順(ステップ 3 と 4 のみ)に沿って操作してください。
ワークステーションを再起動します。
sudo reboot
デスクトップ環境をインストールする
仮想ワークステーションをグラフィック ワークステーションとして実行するには、デスクトップ環境が必要です。このチュートリアルでは、KDE Plasma Desktop をインストールします。
デスクトップ環境をインストールします。
sudo apt update sudo apt -y install kubuntu-desktop sudo apt -y install dialog
ワークステーションを再起動します。
sudo reboot
HP Anyware ソフトウェアをインストールする
HP Anyware ソフトウェアは、仮想ワークステーション上で動作するグラフィック エージェントを提供し、ハードウェアまたはソフトウェア クライアントにデスクトップを提供します。
仮想ワークステーションが再起動したら、Cloud Shell で仮想ワークステーションに再接続します。
gcloud compute ssh VM_NAME
Teradici ソフトウェア リポジトリを追加します。
curl -1sLf \ https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.deb.sh \ | sudo -E distro=ubuntu codename=jammy bash
次のように置き換えます。
TOKEN
は、HP Linux 用 Anyware グラフィック エージェントの [Downloads and scripts] ページから取得できます。
ソフトウェア リポジトリを更新します。
sudo apt update
省略可: キーボード、マウス、ポインタ デバイス以外の USB デバイスをサポートする必要がある場合は、USB 依存関係をインストールします。
sudo apt -y install usb-vhci-dkms
HP Anyware ソフトウェアをインストールします。
sudo apt -y install pcoip-agent-graphics
Anyware グラフィック エージェントを登録する
Anyware グラフィック エージェントを使用するには、HP Anyware ライセンスが必要です。
Cloud Shell で、HP Anyware ソフトウェア ライセンスを有効化します。
pcoip-register-host --registration-code=REGISTRATION-CODE
REGISTRATION-CODE
は、HP Teradici から入手したABCDEFGHIJKL@0123-4567-89AB-CDEF
形式のコードに置き換えます。仮想ワークステーションを再起動します。
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 クライアントを使用して仮想ワークステーションにログインする
ローカルのパソコンで、HP Anyware サポートページの「PCoIP Clients」セクションに移動します。使用中のオペレーティング システムに対応する PCoIP Software Client アプリケーションをダウンロードしてインストールし、起動します。
[Host Address] または [Registration Code] フィールドに、仮想ワークステーションの外部 IP アドレスを入力します。必要に応じて、接続の名前を入力できます。
接続されたら、仮想ワークステーション用に作成したユーザー名とパスワードを入力して認証します。
数秒後に Linux のデスクトップが表示されます。
仮想ワークステーションをテストする
仮想ワークステーションをデプロイした後、さまざまなツールを使用してパフォーマンスとインタラクティビティをテストできます。
- Linux ワークステーションでグラフィックのパフォーマンスをテストするプログラムである glxgears、glmark2、UNIGINE などの GPU ベンチマーク ツールを実行します。
- Unreal Engine、Unity Editor、Blender などの任意のコンテンツ作成アプリケーションをインストールします。
- V-Ray、Octane、Maxon など一般的なレンダラのレンダリング ベンチマーク ツールを実行します。
- Google Chrome を使用して、お気に入りのサイトのブラウジングや、YouTube 動画の再生を行います。
ワークロードに基づく PCoIP パフォーマンスの最適化の詳細を確認することもできます。