Azure Data Science Virtual Machine に関する問題のトラブルシューティング

この記事では、Azure Data Science Virtual Machine を使用するときに発生する可能性があるエラーまたはエラーを見つけて修正する方法について説明します。

Ubuntu

NVIDIA A100 GPU チップの GPU を修正する - Azure NDasrv4 シリーズ

ND A100 v4 シリーズの仮想マシンは、Azure GPU ファミリの主要な追加機能です。 これは、ハイエンドのディープ ラーニング トレーニングを処理し、HPC ワークロードを密に結合、スケールアップ、スケールアウトします。

独自のアーキテクチャのため、TensorFlow または PyTorch フレームワークを使用した GPU アクセラレーションの恩恵を受けるために、需要の高いワークロード用に異なるセットアップが必要です。

ND A100 マシン GPU のすぐに使用するサポートを構築しています。 一方、NVIDIA Fabric Manager を追加し、ドライバーを更新すると、GPU で Ubuntu を処理できます。 ターミナルで次の手順に従います。

  1. ドライバーをインストールまたは更新する NVIDIA リポジトリを追加する - このリソースで詳細な手順を 見つける

  2. [省略可能]そのリポジトリから CUDA ドライバーを更新することもできます

  3. NVIDIA Fabric Manager ドライバーをインストールします。

    sudo apt-get install cuda-drivers-460
    sudo apt-get install cuda-drivers-fabricmanager-460
    
  4. VM を再起動する (ドライバーを準備するため)

  5. 新しくインストールされた NVIDIA Fabric Manager サービスを有効にして起動します。

    sudo systemctl enable nvidia-fabricmanager
    sudo systemctl start nvidia-fabricmanager
    

GPU とドライバーが動作することを確認するには、次のコード サンプルを実行します。

systemctl status nvidia-fabricmanager.service

このスクリーンショットは、Fabric Manager サービスが実行されているのを示しています。

Fabric Manager サービスが実行されていることを示すスクリーンショット。

デスクトップ環境への接続が失敗する

SSH ターミナル経由で DSVM に接続できるが、x2go 経由で接続できない場合、x2go のセッションの種類の設定が間違っている可能性があります。 DSVM デスクトップ環境に接続するには、x2go/session preferences/session のセッションの種類を XFCE設定します。 その他のデスクトップ環境は現在サポートされていません。

x2go を使用して DSVM に接続するとフォントが正しく表示されない

x2go に接続すると、特定の x2go セッション設定によってフォントの一部が間違って見える可能性があります。 DSVM に接続する前にチェックセッション環境設定ダイアログの [入力/出力] タブにある [ディスプレイ DPI の設定] チェックボックスを解除します。

不明なパスワードの入力を求めるメッセージ

DSVM 認証の種類の設定を SSH 公開キー設定できます。 これは、パスワード認証ではなく推奨されます。 SSH 公開キーを使用している場合、パスワードは受け取りません。 ただし、一部のシナリオでは、一部のアプリケーションで引き続きパスワードが要求されます。 特定のユーザーの新しいパスワードを作成するために実行 sudo passwd <user_name> します。 sudo passwd を使用すると、ルート ユーザーの新しいパスワードを作成できます。

このコマンドを実行しても SSH 構成は変更されません。また、許可されたサインイン メカニズムも同じメイン変更されます。

sudo コマンドを実行するときにパスワードの入力を求められる

Ubuntu マシンでコマンドを sudo 実行すると、ログインユーザーであることを確認するためにパスワードを繰り返し入力する要求が表示されることがあります。 これは、既定の Ubuntu 動作として想定されます。 ただし、場合によっては、認証を繰り返す必要がなく、むしろ迷惑な場合があります。

ほとんどの場合、再認証を無効にするには、ターミナルで次のコマンドを実行します。

echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers

ターミナルを再起動すると、sudo は別のサインインを要求せず、セッション サインインからの認証は十分と見なされます。

docker を非ルート ユーザーとして使用できない

docker を非ルート ユーザーとして使用するには、ユーザーに docker グループのメンバーシップが必要です。 このコマンドは getent group docker 、そのグループに属するユーザーのリストを返します。 ユーザーを Docker グループに追加するには、sudo usermod -aG docker $USER を実行します。

Docker コンテナーがネットワーク経由で外部と対話できない

既定では、Docker は、いわゆる "ブリッジ ネットワーク" に新しいコンテナーを追加します 172.17.0.0/16。 そのブリッジ ネットワークのサブネットは、DSVM のサブネット、またはサブスクリプションに存在する別のプライベート サブネットと重複する可能性があります。 この場合、ホストとコンテナーの間のネットワーク通信は不可能です。 さらに、コンテナー内で実行される Web アプリケーションにアクセスすることはできないため、コンテナーは apt からパッケージを更新できません。

この問題を解決するには、サブスクリプションの他のネットワークと重複しないブリッジ ネットワークの IP アドレス空間を使用するように Docker を再構成する必要があります。 たとえば、〘〘

"default-address-pools": [
        {
            "base": "10.255.248.0/21",
            "size": 21
        }
    ]

を JSON ファイルに /etc/docker/daemon.json 割り当てると、Docker は別のサブネットをブリッジ ネットワークに割り当てます。 sudo を使用してファイルを編集する必要があります。たとえば、次を実行します sudo nano /etc/docker/daemon.json

変更後、Docker サービスを再起動するために実行 service docker restart します。 変更が有効になったかどうかを判断するには、次のコマンドを実行 docker network inspect bridgeします。 IPAM の値 。Config.Subnet は、先ほど指定したアドレス プールに対応している必要があります。

Docker コンテナーで GPU を使用できない

DSVM にインストールされている Docker リソースは、既定で GPU をサポートします。 ただし、そのサポートには特定の前提条件が必要です。

  • DSVM の VM サイズには、少なくとも 1 つの GPU が含まれている必要があります。
  • docker コンテナーdocker runを開始するときは、--gpus パラメーターを追加する必要があります。たとえば、 --gpus all
  • NVIDIA A100 GPU を含む VM サイズには、他のソフトウェア パッケージ (特に NVIDIA Fabric Manager) がインストールされている必要があります。 これらのパッケージは、イメージにプレインストールされていない可能性があります。

Windows

仮想マシンの第 2 世代 (Gen 2) が動作していない

仮想マシン第 2 世代 (Gen 2) に基づいてデータ サイエンス VM を作成しようとすると、失敗します。

現時点では、Windows 2019 Server に基づくデータ サイエンス仮想マシン (DSVM) のイメージをメインし、提供するのは第 1 世代 DSVM のみです。 Gen 2 はまだサポートされていませんが、近い将来サポートする予定です。

SQL Server へのアクセス

プレインストールされている SQL Server インスタンスに接続しようとすると、"ログインに失敗しました" エラーが発生する可能性があります。 SQL Server インスタンスに正常に接続するには、接続するプログラム (SQL Server Management Studio (SSMS) など) を管理者モードで実行する必要があります。 DSVM の既定の動作では、管理者のみが接続できるため、管理者モードが必要です。

Hyper-V が機能しない

想定どおりの動作では、Hyper-V は最初は Windows では動作しません。 パフォーマンスを最大限に高めるには、一部のサービスを無効にしました。 Hyper-V を有効化するには、次の手順に従います。

  1. Windows DSVM で検索バーを開きます
  2. 「サービス」と入力します
  3. すべての Hyper-V サービスを "手動" に設定します
  4. "Hyper-V 仮想マシンの管理" を "自動" に設定します

最後の画面は、次のようになります。

Hyper-V サービスが実行されていることを示すスクリーンショット。