パブリックリソースグループおよび専用リソースグループの DSW インスタンスは、デフォルトのストレージ容量が限られており、データは永続的に保存されません。ストレージを拡張し、永続ストレージを有効にし、データを共有するには、データセットまたはストレージパスをインスタンスにマウントできます。
インスタンスを削除した場合、または 15 日以上停止したままにした場合、システムディスク上のデータは消去されます。
システムディスク上のデータは、インスタンスが停止または削除された後に消去されます。
データセットのマウントとストレージパスの直接マウントの比較
長期保存またはチームコラボレーションが必要な場合は、データセットをマウントします。一時的なタスクまたは迅速なストレージ拡張が必要な場合は、ストレージパスを直接マウントします。
機能 | データセットのマウント | ストレージパスの直接マウント |
対応クラウドサービス | OSS、NAS、および CPFS | |
バージョン管理 | バージョン管理とデータアクセラレーションをサポートします。 | バージョン管理はサポートしていません。 |
データ共有 | 複数インスタンス間での共有をサポートします。 | 現在のインスタンスに限定されます。 |
操作の複雑さ | データセットの作成と設定が必要です。 | ストレージパスを直接マウントするだけで済みます。 |
使用例 | 長期保存、チームコラボレーション、高度なセキュリティ要件。 | 一時的なタスク、迅速なストレージ拡張のニーズ。 |
起動時マウントと動的マウントの比較
マウント方法には、起動時マウントと動的マウントの 2 種類があります。
起動時マウント:インスタンスの作成時または設定変更時に構成します。変更を反映するには、インスタンスの再起動が必要です。
動的マウント:実行中のインスタンスで PAI SDK を使用します。再起動は不要です。
制限事項
一意のパス:各データセットのマウントパスは一意にする必要があります。
書き込み制限:OSS マウントディレクトリでの頻繁な書き込み操作は避けてください。パフォーマンスが低下したり、操作が失敗したりする可能性があります。
Git 制限:OSS マウントディレクトリでは Git 操作はサポートされていません。ローカルディレクトリまたは他のマウントされていないパスで Git コマンドを実行してください。
動的マウントの制限事項
読み取り専用制限:動的マウントは読み取り専用であり、書き込み操作はサポートされていません。高速マウントまたは一時的な読み取り専用アクセスが必要なシナリオに適しています。
ストレージタイプの制限:動的マウントは OSS と NAS のみをサポートします。
リソースの制限:動的マウントは現在、Lingjun リソースをサポートしていません。
起動時マウント
起動時にマウントするには、インスタンス設定ページのデータセットのマウント または [ストレージのマウント] オプションを使用します。変更を有効にするには、インスタンスを再起動する必要があります。
データセットのマウント
データセットの作成
PAI コンソールにログインします。左側のナビゲーションペインで、AI 資産管理 > データセット を選択します。表示されたページで、カスタムデータセットまたはパブリックデータセットを作成します。詳細については、「データセットの作成と管理」をご参照ください。
データセットのマウント
DSW インスタンス設定ページで、データセットのマウント パラメーターを探します。インスタンスの作成時、または既存のインスタンスで 設定の変更 をクリックすると、このページにアクセスできます。カスタム をクリックし、作成したデータセットを選択して マウントパス を入力します。
カスタムデータセットのマウントに関する注意事項:
CPFS データセット:CPFS データセットを設定する場合、DSW インスタンスの VPC は CPFS ファイルシステムの VPC と同じである必要があります。VPC が一致しない場合、インスタンスの作成は失敗します。
NAS データセット:NAS データセットを設定する場合は、ネットワークを構成し、セキュリティグループを選択します。
専用リソースグループを使用する場合、最初のデータセットは NAS データセットである必要があります。このデータセットは、指定したパスとデフォルトの DSW ワークスペースディレクトリである
/home/admin/workspaceの両方にマウントされます。
ストレージパスの直接マウント
このセクションでは、OSS ストレージパスのマウントを例として説明します。
OSS バケットの作成
OSS をアクティブ化し、バケットを作成します。
重要バケットのリージョンは PAI のリージョンと同じにする必要があります。バケットのリージョンは、バケットの作成後に変更できません。
OSS パスのマウント
インスタンスの作成時、または既存のインスタンスの 設定の変更 をクリックして開いた DSW インスタンス設定ページで、マウントストレージ パラメーターを見つけます。 OSS をクリックし、作成した OSS バケットパスを選択して、マウントパス を入力します。 [詳細設定] フィールドは、デフォルトでは空です。 必要に応じて設定できます。 詳細については、「高度なマウント設定」をご参照ください。
動的マウント
動的マウントを使用すると、実行中の DSW インスタンス内で PAI SDK を使用してデータセットまたはストレージパスをマウントできます。再起動は不要です。
前提条件
PAI Python SDK をインストールします。DSW インスタンスの[ターミナル]で、次のコマンドを実行します。Python 3.8 以降が必要です。
python -m pip install pai>=0.4.11SDK が PAI にアクセスするための認証情報を設定します。
方法 1: DSW インスタンスがデフォルトの PAI ロールまたはカスタム RAM ロールを使用するように設定します。インスタンス設定ページを開き、下部にある詳細設定を表示をクリックして、インスタンスの RAM ロールを選択します。詳細については、「DSW インスタンスの RAM ロールを設定する」をご参照ください。
方法 2:PAI Python SDK が提供するコマンドラインツールを使用して手動で設定します。ターミナルで次のコマンドを実行して、アクセスパラメータを設定します。例については、「初期化」をご参照ください。
python -m pai.toolkit.config
例
デフォルトパスへのマウント
データはインスタンス内のデフォルトのマウントパスにマウントされます。公式のビルド済みインスタンスイメージの場合、デフォルトのパスは
/mnt/dynamic/です。from pai.dsw import mount # OSS パスをマウントします。 mount_point = mount("oss://<YourBucketName>/Path/Data/Directory/") # データセットをマウントします。入力パラメータはデータセット ID です。 # mount_point = mount("d-m7rsmu350********")
指定したパスへのマウント
動的マウントでは、コンテナ内の特定のパス (またはサブディレクトリ) にデータをマウントする必要があります。SDK が提供する API を使用して、動的マウントパスを取得できます。
from pai.dsw import mount, default_dynamic_mount_path # インスタンスのデフォルトマウントパスを取得します。 default_path = default_dynamic_mount_path() mount_point = mount("oss://<YourBucketName>/Path/Data/Directory" , mount_point=default_path + "tmp/output/model")
NAS の動的マウント
from pai.dsw import mount, default_dynamic_mount_path # インスタンスのデフォルトマウントパスを取得します。 default_path = default_dynamic_mount_path() # NAS をマウントします。NAS エンドポイントとインスタンスは同じ VPC 内にある必要があります。<region> をリージョン ID (cn-hangzhou など) に置き換えてください。 mount("nas://06ba748***-xxx.<region>.nas.aliyuncs.com/", default_path+"mynas3/")インスタンス内のすべてのマウント構成の表示
from pai.dsw import list_dataset_configs print(list_dataset_configs())データのアンマウント
from pai.dsw import mount, unmount mount_point = mount("oss://<YourBucketName>/Path/Data/Directory/") # 入力パラメータは、list_dataset_configs によって返される MountPath 値 (マウントパス) です。 # unmount コマンドを実行してから、変更が反映されるまで数秒かかります。 unmount(mount_point)
マウントの詳細設定
マウントを設定する際に、詳細パラメータを設定することで、高速読み書き、増分書き込み、読み取り専用アクセスなど、さまざまなシナリオに対応し、パフォーマンスを最適化できます。
マウント構成の表示
DSW インスタンスを開き、ターミナル で次のコマンドを実行して、NAS と OSS のデータセットが正常にマウントされているかどうかを確認します。
# すべてのマウントを表示
mount
# NAS マウントパスをクエリ
mount | grep nas
# OSS マウントパスをクエリ
mount | grep oss次のような出力は、データセットが正常にマウントされたことを示しています。
(base) /mnt/workspace> mount | grep nas
xxx /dsw01/ on /mnt/workspace type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=xxx,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=xxx)
xxx /dsw01/ on /mnt/data_nas type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=xxx,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=xxx)
xxx:/dsw01/ on /home/admin/workspace type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=xxx,mountvers=3,mountport=2049,mountproto=tcp,local_lock=all,addr=xxx)
(base) /mnt/workspace>
(base) /mnt/workspace> mount | grep oss
jindo-fuse on /mnt/data_oss type fuse.jindo-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
(base) /mnt/workspace>NAS データセットは、[/mnt/data_nas]、[/mnt/workspace]、[/home/admin/workspace]ディレクトリにマウントされます。このうち、[/mnt/data_nas]は DSW インスタンスの作成時に指定したマウントパスで、他の 2 つのパスは最初の NAS データセットがマウントされるデフォルトの DSW 作業ディレクトリです。NAS ボリュームとサービスが正常に稼働している限り、データとコードは永続的に保存されます。
OSS データセットは、DSW インスタンスの[/mnt/data_oss]ディレクトリにマウントされます。
よくある質問
Q:マウントされた OSS ファイルが JupyterLab に表示されない
これは、DSW ファイルブラウザがデフォルトでインスタンスの作業ディレクトリ (通常は /mnt/workspace) を表示するためです。OSS に指定したマウントパス (例: /mnt/data) は、このデフォルトの作業ディレクトリ配下にないため、ファイルブラウザには表示されません。
解決方法:
コードによるアクセス: ファイルは実際に正常にマウントされています。コード内でアクセスするには、
open('/mnt/data/my_file.csv')のように、フルマウントパスを使用する必要があります。マウントポイントの変更: UI でファイルを容易に表示するには、マウント設定時にマウントパスを作業ディレクトリ配下のサブディレクトリ (例:
/mnt/workspace/my_oss_data) に設定できます。マウントが完了すると、ファイルブラウザーのmy_oss_dataフォルダーで OSS ファイルを表示できます。ターミナルからのアクセス: DSW ターミナルで、
cd /mnt/dataコマンドを使用してマウントディレクトリに移動し、lsなどのコマンドでファイルを表示および管理できます。
Q:OSS マウント接続エラーの解決方法
このエラーは、DSW インスタンスと OSS 間のマウント接続が失われたことを示しています。考えられる原因と解決方法は次のとおりです。
RAM ロールの権限の問題: お使いの DSW インスタンスに設定されている RAM ロールに OSS へのアクセス権限 (例:
AliyunPAIDLCAccessingOSSRole) が付与されているか確認してください。不十分な権限は、OSS からの読み取りに失敗する一般的な原因です。マウントサービスのリソース不足: 高負荷のランダム読み取り/書き込み、または大規模な小規模ファイルの操作中に、マウントを担当する
ossfsまたはJindoFuseプロセスがメモリ不足 (OOM) エラーによりクラッシュする可能性があります。マウント設定の詳細設定では、メタデータキャッシュを無効にするか、メモリ設定を増やすことができます。 例えば、詳細設定に{"fs.jindo.fuse.pod.mem.limit": "12Gi"}を追加して、JindoFuse ポッドのメモリ制限を引き上げます。 リソースに基づいて値を調整してください。 詳細については、「JindoFuse」をご参照ください。接続の復元:
起動時マウントの場合、接続を復元する最も簡単な方法は、DSW インスタンスを再起動することです。システムは自動的にマウントを再確立します。
PAI SDK を使用して動的マウントコマンドを実行し、インスタンスを再起動せずにパスを再マウントすることもできます。
Q:マウントでサポートされるデータタイプ
DSW では、データセットの作成やストレージパスの直接マウントによって、OSS、NAS、CPFS などのクラウドストレージサービスを利用できます。
Alibaba Cloud Drive はサポート対象外:DSW は現在、個人の Alibaba Cloud Drive を直接マウントすることをサポートしていません。処理が必要なデータは OSS に保存することを推奨します。
MaxCompute テーブルのマウントはサポート対象外:MaxCompute (旧 ODPS) のテーブルデータは、ファイルシステムのように DSW ディレクトリに「マウント」することはできません。PAI が提供する SDK または API を使用して、DSW コードでこのデータを読み書きできます。詳細については、「PyODPS を使用した MaxCompute テーブルの読み取りと書き込み」をご参照ください。
Q:データの永続性と移行を確保する方法
DSW インスタンスのシステムディスクは一時ストレージを提供します。パブリックリソースグループの場合、インスタンスが 15 日以上停止すると、システムディスク上のデータは消去されます。専用リソースグループの場合、インスタンスが停止または削除されるとすぐに、システムディスク上のデータは消去されます。
データとコードを永続的に保存したり、インスタンス間で移行したりするには、外部ストレージを使用する必要があります。
永続化ソリューション:すべての重要なデータ、コード、およびモデルをマウントされた OSS または NAS パスに保存します。これにより、DSW インスタンスが削除された場合でも、すべてのアセットはお客様自身の OSS または NAS に安全に保存され続けます。
移行ソリューション:ある DSW インスタンスから別のインスタンスにデータを移行する必要がある場合は、同じ OSS または NAS パスを新しいインスタンスにマウントするだけで済みます。これが最も便利なデータ移行方法です。
Q:失敗した DSW インスタンスからのデータのエクスポート
リソース不足またはその他の理由で DSW インスタンスが起動できない場合、そのシステムディスク上のデータはすぐには失われません。次の方法を試してデータをエクスポートできます。
インスタンス仕様を変更して再起動する:インスタンスリストページで「設定の変更」をクリックし、別の利用可能なインスタンス仕様を選択してから、インスタンスを再起動します。仕様の変更によってシステムディスク上のデータが失われることはありません。インスタンスが正常に起動したら、すぐにデータを OSS または NAS にバックアップしてください。
リージョンまたはアベイラビリティーゾーンを切り替える:現在のリージョンでリソースが不足しており、データがすでに外部ストレージに保存されている場合は、新しいインスタンスを作成し、同じ OSS/NAS ストレージをマウントしてデータを回復することを試せます。
テクニカルサポートに連絡する:上記の方法で問題が解決しない場合は、テクニカルサポートにチケットを起票してサポートを依頼してください。
「システムディスクは X 日後に解放されます」という通知を受け取った場合は、期限までに仕様を変更するか、その他の手段でインスタンスを起動してデータをバックアップする必要があります。
Q:FAIL_TO_INIT_DATASET エラーでインスタンスの作成が失敗する
このエラーは、指定された OSS マウントパスがディレクトリではなくファイルを指している場合に発生します。インスタンスの作成時に、DSW はパスがディレクトリとして解決できないことを検出すると、データセットを初期化せずに FAIL_TO_INIT_DATASET エラーを返します。
OSS バケットのその階層に、マウントパスと同じ名前のファイルが存在するかどうかを確認してください。ファイルを削除するか、マウントパスを有効なディレクトリを指すように変更してから、インスタンスを再度作成してください。
関連ドキュメント
その他のよくある質問については、「DSW FAQ」をご参照ください。