パブリックリソースグループおよび専用リソースグループの DSW インスタンスにはデフォルトストレージが限定されており、データは永続的ではありません。ストレージを拡張する、永続ストレージを有効にする、またはデータを共有するには、データセットまたはストレージパスをインスタンスにマウントできます。
インスタンスを削除した場合、または 15 日以上停止状態が続くと、クラウドディスク上のデータは削除されます。
システムディスク上のデータは、インスタンスが停止または削除された後に削除されます。
データセットのマウントとストレージパスの直接マウント
長期的なストレージやチームでの共同作業が必要な場合は、データセットをマウントしてください。一時的なタスクや迅速なストレージ拡張のみが必要な場合は、ストレージパスを直接マウントしてください。
機能 | データセットのマウント | ストレージパスの直接マウント |
対応するクラウドサービス | OSS、NAS、CPFS | |
バージョン管理 | バージョン管理およびデータアクセラレーションをサポートします。 | バージョン管理はサポートされません。 |
データ共有 | 複数のインスタンス間での共有をサポートします。 | 現在のインスタンス内に限定されます。 |
操作の複雑さ | データセットの作成および構成が必要です。 | ストレージパスを直接マウントするだけで済みます。 |
適用シナリオ | 長期的なストレージ、チームでの共同作業、高セキュリティ要件。 | 一時的なタスクおよび迅速なストレージ拡張のニーズ。 |
起動時マウントと動的マウント
マウント方法には、起動時マウントと動的マウントの 2 種類があります。
起動時マウント:インスタンスの作成時または設定変更時に構成します。この操作を有効にするには、インスタンスを再起動する必要があります。
動的マウント:実行中のインスタンス内で PAI SDK を使用し、再起動は不要です。
制限事項
一意のパス:各データセットのマウントパスは一意である必要があります。
書き込み制限:OSS マウントディレクトリでの頻繁な書き込み操作は避けてください。パフォーマンスの低下や操作の失敗を引き起こす可能性があります。
Git 制限:OSS マウントディレクトリでは Git 操作はサポートされていません。ローカルディレクトリまたは他のマウントされていないパスで Git コマンドを実行してください。
動的マウントの制限事項
読み取り専用制限:動的マウントは読み取り専用アクセスのみをサポートし、書き込み操作はサポートしません。迅速なマウントまたは一時的な読み取り専用アクセスが必要なシナリオに適しています。
ストレージタイプ制限:動的マウントは OSS および NAS のみをサポートします。
リソース制限:動的マウントは現時点で Lingjun リソースをサポートしていません。
起動時マウント
起動時にマウントするには、インスタンス構成ページの Dataset Mounting または ストレージのマウント オプションを使用します。変更を有効にするには、インスタンスを再起動する必要があります。
データセットのマウント
データセットの作成
PAI コンソールにログインします。左側のナビゲーションウィンドウで、AI Asset Management > Dataset を選択します。表示されたページで、カスタムデータセットまたはパブリックデータセットを作成します。詳細については、「データセットの作成と管理」をご参照ください。
データセットのマウント
DSW インスタンス構成ページで、Dataset Mounting パラメーターを見つけます。このページは、インスタンス作成時、または既存のインスタンスで Change Settings をクリックすることでアクセスできます。Custom をクリックし、作成済みのデータセットを選択して マウントパス を入力します。
カスタムデータセットのマウントに関する注意事項:
CPFS データセット:CPFS データセットを構成する場合、DSW インスタンスの VPC は CPFS ファイルシステムの VPC と同一である必要があります。そうでない場合、インスタンスの作成は失敗します。
NAS データセット:NAS データセットを構成する場合、ネットワークを構成し、セキュリティグループを選択します。
専用リソースグループの使用:専用リソースグループを使用する場合、最初のデータセットは NAS データセットである必要があります。このデータセットは、指定したパスと、デフォルトの DSW 作業ディレクトリ
/home/admin/workspaceの両方にマウントされます。
ストレージパスの直接マウント
このセクションでは、OSS ストレージパスのマウントを例として説明します。
OSS バケットの作成
重要バケットのリージョンは PAI のリージョンと同一である必要があります。バケット作成後は、リージョンを変更できません。
OSS パスのマウント
DSW インスタンス構成ページ(インスタンス作成時、または既存のインスタンスで Change Settings をクリックして開く)で、ストレージのマウント パラメーターを見つけます。OSS をクリックし、作成済みの OSS バケットパスを選択して マウントパス を入力します。Advanced Configurations フィールドはデフォルトで空です。必要に応じて構成できます。詳細については、「詳細なマウント構成」をご参照ください。
動的マウント
動的マウントを使用すると、実行中の DSW インスタンス内で PAI SDK を使ってデータセットまたはストレージパスをマウントできます。再起動は不要です。
前提条件
PAI Python SDK をインストールします。DSW インスタンスの Terminal で、次のコマンドを実行します。Python 3.8 以降が必要です。
python -m pip install pai>=0.4.11SDK が PAI にアクセスできるようにアクセス認証情報を構成します。
方法 1:DSW インスタンスをデフォルトの PAI ロールまたはカスタム RAM ロールを使用するように構成します。インスタンス構成ページを開き、下部の Show More をクリックして、インスタンス RAM ロールを選択します。詳細については、「DSW インスタンスの RAM ロールの構成」をご参照ください。
方法 2:PAI Python SDK が提供するコマンドラインツールを使用して手動で構成します。Terminal で次のコマンドを実行して、アクセスパラメーターを構成します。例については、「初期化」をご参照ください。
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 インスタンスを開き、Terminal で次のコマンドを実行して、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 ファイルが表示されます。Terminal 経由でのアクセス:DSW Terminal で
cd /mnt/dataコマンドを使用してマウントディレクトリに移動し、lsなどのコマンドでファイルを表示・管理できます。
Q:OSS マウント接続エラーの解決方法
このエラーは、DSW インスタンスと OSS 間のマウント接続が失われたことを示します。考えられる原因と解決策は以下のとおりです。
RAM ロールの権限の問題:DSW インスタンスに構成された RAM ロールが OSS へのアクセス権限(例:
AliyunPAIDLCAccessingOSSRole)を持っているか確認してください。権限が不十分であることが、OSS からの読み取り失敗の一般的な原因です。マウントサービスのリソース不足:高強度のランダム読み書きまたは大規模な小ファイル操作中に、マウントを担当する
ossfsまたはJindoFuseプロセスがメモリ不足 (OOM) エラーによりクラッシュする可能性があります。マウント設定の詳細設定で、メタデータキャッシュを無効にするか、メモリ構成を増加させることができます。詳細については、「JindoFuse」をご参照ください。接続の復元:
起動時マウントの場合、接続を復元する最も簡単な方法は、DSW インスタンスを再起動することです。システムが自動的にマウントを再確立します。
インスタンスを再起動せずに、PAI SDK を使用して動的マウントコマンドを実行し、パスを再マウントすることもできます。
Q:マウントに対応するデータの型
DSW は、データセットを作成するか、ストレージパスを直接マウントすることで、OSS、NAS、CPFS などのクラウドストレージサービスを使用できます。
Alibaba Cloud Drive は非対応:DSW は現在、個人用 Alibaba Cloud Drive の直接マウントをサポートしていません。処理が必要なデータは OSS に保存することを推奨します。
MaxCompute テーブルのマウントは非対応:MaxCompute(旧称 ODPS)のテーブルデータは、ファイルシステムのように DSW ディレクトリに「マウント」することはできません。DSW コード内で PAI が提供する SDK または API を使用して、このデータを読み書きできます。詳細については、「PyODPS を使用した MaxCompute テーブルの読み書き」をご参照ください。
Q:データの永続性と移行の確保方法
DSW インスタンスのシステムディスクは一時的なストレージを提供します。パブリックリソースグループの場合、インスタンスが 15 日以上停止するとデータは削除されます。専用リソースグループの場合、システムディスク上のデータはインスタンスが停止または削除された時点で削除されます。
データおよびコードを永続的に保存する、またはインスタンス間で移行するには、外部ストレージを使用する必要があります。
永続化ソリューション:重要なデータ、コード、モデルをすべてマウントされた OSS または NAS パスに保存します。これにより、DSW インスタンスが削除されても、すべてのアセットがご利用の OSS または NAS に安全に保存されます。
移行ソリューション:ある DSW インスタンスから別のインスタンスにデータを移行する必要がある場合、同じ OSS または NAS パスを新しいインスタンスにマウントするだけです。これが最も便利なデータ移行方法です。
Q:失敗した DSW インスタンスからのデータのエクスポート
DSW インスタンスがリソース不足などの理由で起動できない場合でも、システムディスク上のデータは直ちに失われません。データをエクスポートするために、次の方法を試してください。
インスタンス仕様の変更と再起動:インスタンス一覧ページで「設定変更」をクリックし、別の利用可能なインスタンス仕様を選択してからインスタンスを再起動します。仕様変更によってシステムディスク上のデータが失われることはありません。インスタンスが正常に起動したら、すぐにデータを OSS または NAS にバックアップしてください。
リージョンまたはアベイラビリティゾーンの切り替え:現在のリージョンでリソースが不足しており、データがすでに外部ストレージに保存されている場合、新しいインスタンスを作成して同じ OSS/NAS ストレージをマウントし、データを復元できます。
テクニカルサポートへの問い合わせ:上記の方法で問題が解決しない場合は、チケットを送信してテクニカルサポートの支援を受けてください。
「システムディスクは X 日後にリリースされます」という通知を受け取った場合は、期限までに仕様変更などの手段でインスタンスを起動し、データをバックアップする必要があります。
関連ドキュメント
その他のよくある質問については、「DSW よくある質問」をご参照ください。